Use ChatGPT to summarize the arXiv papers. 全流程加速科研,利用chatgpt进行论文全文总结+专业翻译+润色+审稿+审稿回复
Use ChatGPT to summarize the arXiv papers. 全流程加速科研,利用chatgpt进行论文全文总结+专业翻译+润色+审稿+审稿回复
历史重大更新
- 🌟*2023.07.23*: [MasterYip](https://github.com/MasterYip) 同学开源了 [ChatPaper2Xmind](https://github.com/MasterYip/ChatPaper2Xmind)!
将论文PDF通过Chat一键生成 图片+公式的简要XMind笔记。
- 🌟*2023.07.22*: 增加全新的本地PDF全文翻译功能
- 🌟*2023.07.21*: 仓库的文件做了一个整理,可能会有些路径和bug,正在修复中。
- 🌟*2023.07.09*: 师弟[red-tie](https://github.com/red-tie)在[auto-draft](https://github.com/CCCBora/auto-draft)的基础上,优化了一款[一键文献综述](https://github.com/kaixindelele/ChatPaper/tree/main/auto_survey)的功能. 适用于大家对具体某个领域快速掌握,并且支持直接生成中文文献调研报告。文件配置简单,欢迎大家使用和反馈!
- 🌟*2023.07.05*: 昨天我做了一个新的小玩具:[ChatSensitiveWords](https://github.com/kaixindelele/ChatSensitiveWords),利用LLM+敏感词库,来自动判别是否涉及敏感词。已经在学术版GPT网页端上线,欢迎LLM的开发者一起完善这个工作。
- 🌟*2023.04.30*: **唯一官方网站:**[https://chatpaper.org/](https://chatpaper.org/) ,以及小白教程【ChatPaper网页版使用小白教程-哔哩哔哩】 https://b23.tv/HpDkcBU, 第三方文档:https://chatpaper.readthedocs.io .
- 🌟*2023.04.22*: 为了庆祝ChatPaper获得一万⭐,我们将联合两位同学,推出两个AI辅助文献总结工具,第一个是[auto-draft](https://github.com/CCCBora/auto-draft),AI自动搜集整理出文献总结!
- 🌟*2023.04.17*: 为了降低学术伦理风险,我们为Chat_Reviewer增加了复杂的文字注入,效果如图:[示例图](https://github.com/kaixindelele/ChatPaper/blob/main/images/reviews.jpg) ,希望各位老师同学在使用的时候,一定要注意学术伦理和学术声誉,不要滥用工具。如果谁有更好的方法来限制少数人的不规范使用,欢迎留言,为科研界做一份贡献。
- 🌟*2023.03.31*: 目前已经离线总结了3w+的CCF-A会议论文了,以后大家可以不用等那么久了!
- 🌟*2023.03.28*: 荣胜同学今天发布了一个非常有意思的工作[ChatGenTitle](https://github.com/WangRongsheng/ChatGenTitle),提供摘要生成标题,基于220wArXiv论文的数据微调的结果!
- 🌟*2023.03.23*: chat_arxiv.py可以从arxiv网站,根据关键词,最近几天,几篇论文,直接爬取最新的领域论文了!解决了之前arxiv包的搜索不准确问题!
- 🌟*2023.03.23*: ChatPaper终于成为完成体了!现在已经有论文总结+论文润色+论文分析与改进建议+论文审稿回复等功能了!
开发动机细节
面对每天海量的arxiv论文,以及AI极速的进化,我们人类必须也要一起进化才能不被淘汰。
作为中科大强化学习方向的博士生,我深感焦虑,现在AI的进化速度,我开脑洞都赶不上。
因此我开发了这款ChatPaper,尝试用魔法打败魔法。
ChatPaper是一款论文总结工具。AI用一分钟总结论文,用户用一分钟阅读AI总结的论文。
它可以根据用户输入的关键词,自动在arxiv上下载最新的论文,再利用ChatGPT3.5的API接口强大的总结能力,将论文总结为固定的格式,以最少的文本,最低的阅读门槛,为大家提供最大信息量,以决定该精读哪些文章。
也可以提供本地的PDF文档地址,直接处理。
一般一个晚上就可以速通一个小领域的最新文章。我自己测试了两天了。
祝大家在这个极速变化的时代中,能够和AI一起进化!
欢迎大家的赞助,以帮助支付网页运营的API和服务器成本,并让我们有动力继续开发更多更高质量的服务!
您的支持,是我持续更新的动力和赞赏!
欢迎大家加入光荣的进化!
## 技术原理:
技术原理细节
论文总结遵循下面四个问题:
1. 研究背景
2. 过去的方案是什么?他们有什么问题?
3. 本文方案是什么?具体步骤是什么?
4. 本文在哪些任务中,取得了什么效果?
基本上是大家做论文汇报的主要内容了。
实现细节:
提取摘要和introduction的内容,因为abstract很少会告诉你过去的方案是什么,存在什么问题。
然后提取method章节,总结方法的具体步骤
最后提取conclusion章节,总结全文。
分三次总结和喂入,如果每个部分超过了长度,则截断(目前这个方案太粗暴了,但也没有更好的更优雅的方案)
作为初筛,勉强够用。
## 配置教程
配置教程细节
### 一、以脚本方式运行
Windows, Mac和Linux系统应该都可以
python版本最好是3.9,其他版本应该也没啥问题
1. 在apikey.ini中填入你的openai key。注意,这个代码纯本地项目,你的key很安全!如果不被OpenAI封的话~
小白用户比较多,我直接给截图示意下可能会更好:
2. 使用过程要保证全局代理!
如果客户端时clash的话,可以参考这个进行配置:
3. 安装依赖:最好翻墙,或者用国内源。
``` bash
pip install -r requirements.txt
```
4.1. Arxiv在线批量搜索+下载+总结: 运行chat_paper.py, 比如:
```python
python chat_paper.py --query "chatgpt robot" --filter_keys "chatgpt robot" --max_results 3
```
更准确的脚本是chat_arxiv.py,使用方案,命令行更加简洁:
```python
python chat_arxiv.py --query "chatgpt robot" --page_num 2 --max_results 3 --days 10
```
其中query仍然是关键词,page_num是搜索的页面,每页和官网一样,最大是50篇,max_results是最终总结前N篇的文章,days是选最近几天的论文,严格筛选!
**注意:搜索词无法识别`-`,只能识别空格!所以原标题的连字符最好不要用!** 感谢网友提供的信息
4.2. Arxiv在线批量搜索+下载+总结+高级搜索: 运行chat_paper.py, 比如:
```python
python chat_paper.py --query "all: reinforcement learning robot 2023" --filter_keys "reinforcement robot" --max_results 3
```
💥💥💥7K星了,发布一个猫娘版提示词,希望大家一起让猫娘活起来~:[脚本:chat_arxiv_maomao.py](https://github.com/kaixindelele/ChatPaper/blob/main/chat_arxiv_maomao.py), [总结图片](https://github.com/kaixindelele/ChatPaper/blob/main/images/maomao.png)
4.3. Arxiv在线批量搜索+下载+总结+高级搜索+指定作者: 运行chat_paper.py, 比如:
```python
python chat_paper.py --query "au: Sergey Levine" --filter_keys "reinforcement robot" --max_results 3
```
4.4. 本地pdf总结: 运行chat_paper.py, 比如:
```python
python chat_paper.py --pdf_path "demo.pdf"
```
4.5. 本地文件夹批量总结: 运行chat_paper.py, 比如:
```python
python chat_paper.py --pdf_path "your_absolute_path"
```
4.6. 谷歌学术论文整理: 运行google_scholar_spider.py, 比如:
```
python google_scholar_spider.py --kw "deep learning" --nresults 30 --csvpath "./data" --sortby "cit/year" --plotresults 1
```
此命令在Google Scholar上搜索与“deep learning”相关的文章,检索30个结果,将结果保存到“./data”文件夹中的CSV文件中,按每年引用次数排序数据,并绘制结果。
具体使用和参数请参考https://github.com/JessyTsu1/google_scholar_spider
4.7. Gitee图床的配置教程(选配,比较麻烦)
效果和配置视频:https://www.bilibili.com/video/BV1Rh4y1173t/
教程文章:https://zhuanlan.zhihu.com/p/644326031
---
另外注意,目前这个不支持**综述类**文章。
B站讲解视频:[我把ChatPaper开源了!AI速读PDF论文和速通Arxiv论文](https://www.bilibili.com/video/BV1EM411x7Tr/)
**注意:key_word不重要,但是filter_keys非常重要!**
一定要修改成你的关键词。
另外关于arxiv的搜索关键词可以参考下图:
5. 参数介绍:
```
…
```
### 二、 以Flask服务运行
Flask配置教程
注意:更新版本后,可能有路径的报错
1. 下载项目并进入项目目录
```text
git clone https://github.com/kaixindelele/ChatPaper.git
cd ChatPaper
```
2. 在项目根目录下的 `apikey.ini` 文件中填入您的 OpenAI 密钥。
3. 配置虚拟环境并下载依赖
```text
pip install virtualenv
安装虚拟环境工具
virtualenv venv
新建一个名为venv的虚拟环境
Linux/Mac下:
source venv/bin/activate
Windows下:
.\venv\Scripts\activate.bat
pip install -r requirements.txt
```
4. 启动服务
```text
python3 app.py
# 启动 Flask 服务。运行此命令后,Flask 服务将在本地的 5000 端口上启动并等待用户请求。在浏览器中访问以下地址之一以访问 Flask 服务的主页:
# http://127.0.0.1:5000/
# 或
# http://127.0.0.1:5000/index
```
访问 http://127.0.0.1:5000/ 后,您将看到主页。在主页上,您可以点击不同的链接来调用各种服务。您可以通过修改链接中的参数值来实现不同的效果。有关参数详细信息,请参阅上一步骤中的详细介绍
+ 特别的,这四个接口实际是封装了根目录下四个脚本的 web 界面。参数可以通过链接来修改。例如要运行“arxiv?query=GPT-4&key_word=GPT+robot&page_num=1&max_results=1&days=1&sort=web&save_image=False&file_format=md&language=zh”的话,相当于在根目录下调用 chat_arxiv.py 并返回结果。这个显示的结果和在命令行中调用的结果是一样的(即:python chat_arxiv.py --query "GPT-4" --key_word "GPT robot" --page_num 1 --max_results 1 --days 1 --sort "web" --save_image False --file_format "md" --language "zh")。您可以通过修改参数来获得其他搜索结果。
如果以这种方式部署的话,结果会保存在同级目录下新生成的export、pdf_files 和response_file三个文件夹里
### 三、以docker形式运行
Docker配置教程细节
注意:Docker的路径也被我打乱了,很可能存在问题,不推荐尝试。
1. 安装docker和docker-compose,可以参考以下链接
https://yeasy.gitbook.io/docker_practice/install
https://yeasy.gitbook.io/docker_practice/compose/install
2. 找地方放项目根目录下的“docker-compose.yaml”文件,将21行的`YOUR_KEY_HERE`替换为自己的openai_key
3. 在同级目录下在命令行运行
```
docker-compose up -d
```
4. 这样的界面代表一些正常,随后访问https://127.0.0.1:28460/ 就可以从网页上打开了!
+ 特别的,如果有改进项目的想法,您可以查看 build.sh、dev.sh、tagpush.sh这三个脚本以及根目录docker目录下文件的作用,相信它们会对你容器化封装项目的思想有进一步提升
+ 所有的运行结果都被保存在 Docker 的 volumes 中,如果想以服务的形式长期部署,您可以将这些目录映射出来。默认情况下,它们位于 /var/lib/docker/volumes/ 下。您可以进入该目录并查看 chatpaper_log、chatpaper_export、chatpaper_pdf_files 和 chatpaper_response_file 四个相关文件夹中的结果。有关 Docker volumes 的详细解释,请参考此链接:http://docker.baoshu.red/data_management/volume.html。
## HuggingFace在线部署
HuggingFace在线部署细节
注意:这部分也是一样,功能暂时被废掉了,建议大家直接使用chatwithpaper.org的网页版。
1. 在[Hugging Face](https://huggingface.co/) 创建自己的个人账号并登录;
2. 进入ChatPaper主仓库:[https://huggingface.co/spaces/wangrongsheng/ChatPaper](https://huggingface.co/spaces/wangrongsheng/ChatPaper) ,您可以在[Files and Version](https://huggingface.co/spaces/wangrongsheng/ChatPaper/tree/main) 看到所有的最新部署代码;
3. [可选]私有化部署使用:点击[Duplicate this space](https://huggingface.co/spaces/wangrongsheng/ChatPaper?duplicate=true) ,在弹出的页面中将`Visibility`选择为`Private`,最后点击`Duplicate Space`,Space的代码就会部署到你自己的Space中,为了方便自己每次调用可以不用填写API-key,您可以将[app.py#L845](https://huggingface.co/spaces/wangrongsheng/ChatPaper/blob/5335124d25b1bc4017a2f5c48b0038dfa545bf63/app.py#L845) 修改为您的密钥:`default="sk-abcdxxxxxxxx"` ,点击保存文件就会立即重新部署了;
4. [可选]公有化部署使用:点击[Duplicate this space](https://huggingface.co/spaces/wangrongsheng/ChatPaper?duplicate=true) ,在弹出的页面中将`Visibility`选择为`Public`,最后点击`Duplicate Space`,Space的代码就会部署到你自己的Space中,这样就可以完成一个公有化的部署。
> 注:公有化部署和私有化部署根据你的需求二选一即可!
## 任意PDF全文翻译配置教程
1. 必须是在Ubuntu或者MacOS下使用!接下来的教程默认是Ubuntu18.04/20.04. 推荐使用vultr云服务器,非常省心。
2. 在安装了ChatPaper默认依赖之后,激活它的虚拟环境,进入scipdf_parser-master文件夹,进入这个路径后,继续安装这里面的依赖。
3. 安装好了这里的以来后,还需要安装Java的环境,