该存储库为 arxiv 实现了一个非常简单的日常扫描仪,它使用 gpt4 和作者匹配来查找您可能感兴趣的论文。它将每天通过 github actions ,并可以通过机器人将此信息发布到 slack 或只是将其呈现在静态 github-pages 网站中。
可以在此处看到在 cs.cl 上运行的日报的简单演示
作为成本估算,2023 年 11 月 12 日在所有 cs.cl, lg, ai 上运行此程序的成本约为 0.7 美元( cs.lg 为 0.5 美元, cs.cl 为 0.2 美元)
快速开始
这是运行扫描仪所需的最少步骤。强烈建议您阅读全文以决定您要运行什么。
在 github 操作上运行
- 将此存储库复制/分叉到新的 github 存储库,并在分叉它时启用计划的工作流程。
- 将 config/paper_topics.template.txt 复制到 config/paper_topics.txt 并填写您想要关注的论文类型
- 将 config/authors.template.txt 复制到 config/authors.txt 并列出您真正想要关注的作者。作者后面的数字很重要。它们是语义学者作者 id,您可以通过在语义学者上查找作者并获取 url 末尾的数字来找到它们。
- 在 config/config.ini 中设置您想要的 arxiv 类别。
- 将您的 openai 密钥 ( oai_key ) 设置为“github 秘密”
- 在您的存储库设置中,将 github 页面构建源设置为 github actions
此时,您的机器人应该每天运行并发布静态网站。您可以通过手动运行 github 操作工作流程来测试这一点。
可选但强烈推荐:
- 设置一个 slack 机器人,获取 oauth 密钥,将其设置为 slack_key 作为 github 秘密
- 为机器人创建一个频道(并邀请其加入该频道),获取其 slack 频道 id,在 github 密钥中将其设置为 slack_channel_id 。
- 查看 configs/config.ini 来调整过滤内容的方式。
- 将 github 存储库设置为私有,以避免 github 操作在 60 天后被设置为非活动状态
世界标准时间每天下午 1 点,机器人将运行并发布到 slack 并发布 github 页面网站(有关详细信息,请参阅publish_md 和 cron_runs 操作)。
本地运行
步骤大体与上面相同,但是你必须通过 requirements.txt 设置环境
您必须设置环境变量 oai_key 、 slack_key 、 slack_channel_id ,而不是通过 github secret 传递凭据。
要运行所有内容,只需调用 main.py
其他注意事项:您可能还不想推送到 slack,在这种情况下,请在 dump_json 、 dump_md 和 push_to_slack 的 字段。
如果语义学者 api 超时或速度缓慢,您应该获取 s2 api 密钥并在环境变量中将其设置为 s2_key 。(由于github操作的限制,这仅在代码在本地运行时才有帮助)
使其独立运行:整个过程几乎不需要计算,因此您可以从 aws 租用最便宜的 vm,将此存储库放入其中,安装 requirements.txt 适当设置环境变量并添加以下内容定时任务
0 13 * * * python ~/arxiv_scanner/main.py
该 crontab 将在世界标准时间 (utc) 下午 1 点(太平洋时间下午 6 点)运行该脚本。
项目链接
https://github.com/tatsu-lab/gpt_paper_assistant
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun267391.html