ChatPaper全流程加速科研:论文阅读+润色+优缺点分析与改进建议+审稿回复

news2024/11/17 8:19:40

在这里插入图片描述

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自身的硬实力。

在这里插入图片描述

  1. 专栏订阅:项目大全提升自身的硬实力

  2. [专栏详细介绍:项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域)

ChatPaper全流程加速科研:论文阅读+润色+优缺点分析与改进建议+审稿回复

工具名称工具作用是否在线?在线预览备注
ChatPaper通过ChatGPT实现对论文进行总结,帮助科研人进行论文初筛访问wangrongsheng/ChatPaper 使用原项目地址
ChatReviewer利用ChatGPT对论文进行优缺点分析,提出改进建议访问ShiwenNi/ChatReviewer 使用原项目地址
ChatImprovement利用ChatGPT对论文初稿进行润色、翻译等访问qingxu98/gpt-academic 使用原项目地址
ChatResponse利用ChatGPT对审稿人的提问进行回复访问ShiwenNi/ChatResponse 使用原项目地址
ChatGenTitle利用百万arXiv论文元信息训练出来的论文题目生成模型,根据论文摘要生成合适题目原项目地址

1.解决问题

面对每天海量的arxiv论文,以及AI极速的进化,我们人类必须也要一起进化才能不被淘汰。ChatPaper是一款论文总结工具。AI用一分钟总结论文,用户用一分钟阅读AI总结的论文。

它可以根据用户输入的关键词,自动在arxiv上下载最新的论文,再利用ChatGPT3.5的API接口强大的总结能力,将论文总结为固定的格式,以最少的文本,最低的阅读门槛,为大家提供最大信息量,以决定该精读哪些文章。也可以提供本地的PDF文档地址,直接处理。一般一个晚上就可以速通一个小领域的最新文章。我自己测试了两天了。这段代码虽然不多,但整个流程走通也花了我近一周的时间,今天分享给大家。

2.技术原理:

论文总结遵循下面四个问题:

  1. 研究背景

  2. 过去的方案是什么?他们有什么问题?

  3. 本文方案是什么?具体步骤是什么?

  4. 本文在哪些任务中,取得了什么效果?

基本上是大家做论文汇报的主要内容了。

实现细节:

  • 提取摘要和introduction的内容,因为abstract很少会告诉你过去的方案是什么,存在什么问题。

  • 然后提取method章节,总结方法的具体步骤

  • 最后提取conclusion章节,总结全文。

分三次总结和喂入,如果每个部分超过了长度,则截断(目前这个方案太粗暴了,但也没有更好的更优雅的方案)

3.使用步骤

3.1以脚本方式运行

Windows, Mac和Linux系统应该都可以

python版本最好是3.9,其他版本应该也没啥问题

  1. 在apikey.ini中填入你的openai key。
    小白用户比较多,我直接给截图示意下可能会更好:

  1. 使用过程要保证全局代理!
    如果客户端时clash的话,可以参考这个进行配置:

  1. 安装依赖:最好翻墙,或者用国内源。
pip install -r requirements.txt

4.1. Arxiv在线批量搜索+下载+总结: 运行chat_paper.py, 比如:

python chat_paper.py --query "chatgpt robot" --filter_keys "chatgpt robot" --max_results 3

更准确的脚本是chat_arxiv.py,使用方案,命令行更加简洁:

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 chat_paper.py --query "all: reinforcement learning robot 2023" --filter_keys "reinforcement robot" --max_results 3

4.3. Arxiv在线批量搜索+下载+总结+高级搜索+指定作者: 运行chat_paper.py, 比如:

python chat_paper.py --query "au: Sergey Levine" --filter_keys "reinforcement robot" --max_results 3

4.4. 本地pdf总结: 运行chat_paper.py, 比如:

python chat_paper.py --pdf_path "demo.pdf"

4.5. 本地文件夹批量总结: 运行chat_paper.py, 比如:

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


另外注意,目前这个不支持综述类文章。

注意:key_word不重要,但是filter_keys非常重要!
一定要修改成你的关键词。

另外关于arxiv的搜索关键词可以参考下图:

  1. 参数介绍:
[--pdf_path 是否直接读取本地的pdf文档?如果不设置的话,直接从arxiv上搜索并且下载] 
[--query 向arxiv网站搜索的关键词,有一些缩写示范:all, ti(title), au(author),一个query示例:all: ChatGPT robot] 
[--key_word 你感兴趣领域的关键词,重要性不高] 
[--filter_keys 你需要在摘要文本中搜索的关键词,必须保证每个词都出现,才算是你的目标论文] 
[--max_results 每次搜索的最大文章数,经过上面的筛选,才是你的目标论文数,chat只总结筛选后的论文] 
[--sort arxiv的排序方式,默认是相关性,也可以是时间,arxiv.SortCriterion.LastUpdatedDate 或者 arxiv.SortCriterion.Relevance, 别加引号] 
[--save_image 是否存图片,如果你没注册gitee的图床的话,默认为false] 
[--file_format 文件保存格式,默认是markdown的md格式,也可以是txt] 

parser.add_argument("--pdf_path", type=str, default='', help="if none, the bot will download from arxiv with query")
parser.add_argument("--query", type=str, default='all: ChatGPT robot', help="the query string, ti: xx, au: xx, all: xx,")    
parser.add_argument("--key_word", type=str, default='reinforcement learning', help="the key word of user research fields")
parser.add_argument("--filter_keys", type=str, default='ChatGPT robot', help="the filter key words, 摘要中每个单词都得有,才会被筛选为目标论文")
parser.add_argument("--max_results", type=int, default=1, help="the maximum number of results")
parser.add_argument("--sort", default=arxiv.SortCriterion.Relevance, help="another is arxiv.SortCriterion.LastUpdatedDate")    
parser.add_argument("--save_image", default=False, help="save image? It takes a minute or two to save a picture! But pretty")
parser.add_argument("--file_format", type=str, default='md', help="导出的文件格式,如果存图片的话,最好是md,如果不是的话,txt的不会乱")

3.2 以Flask服务运行

  1. 下载项目并进入项目目录
git clone https://github.com/kaixindelele/ChatPaper.git
cd ChatPaper
  1. 在项目根目录下的 apikey.ini 文件中填入您的 OpenAI 密钥。
  2. 配置虚拟环境并下载依赖
pip install virtualenv 
安装虚拟环境工具
virtualenv venv 
新建一个名为venv的虚拟环境
Linux/Mac下:
source venv/bin/activate

Windows下:
.\venv\Scripts\activate.bat

pip install -r requirements.txt
  1. 启动服务
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三个文件夹里

3.3 以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。

4.在线部署

  1. 在Hugging Face 创建自己的个人账号并登录;
  2. 进入ChatPaper主仓库:https://huggingface.co/spaces/wangrongsheng/ChatPaper ,您可以在Files and Version 看到所有的最新部署代码;
  3. [可选]私有化部署使用:点击Duplicate this space ,在弹出的页面中将Visibility选择为Private,最后点击Duplicate Space,Space的代码就会部署到你自己的Space中,为了方便自己每次调用可以不用填写API-key,您可以将app.py#L845 修改为您的密钥:default="sk-abcdxxxxxxxx" ,点击保存文件就会立即重新部署了;
  4. [可选]公有化部署使用:点击Duplicate this space ,在弹出的页面中将Visibility选择为Public,最后点击Duplicate Space,Space的代码就会部署到你自己的Space中,这样就可以完成一个公有化的部署。

注:公有化部署和私有化部署根据你的需求二选一即可!

5. 使用技巧

快速刷特定关键词的论文,不插图的话,每张篇文章需要花一分钟,阅读时间差不多一分钟。

本项目可以用于跟踪领域最新论文,或者关注其他领域的论文,可以批量生成总结,最大可生成1000(如果你能等得及的话)。
虽然Chat可能有瞎编的成分,但是在我的规范化提问的框架下,它的主要信息是保熟的。

数字部分需要大家重新去原文检查!

找到好的文章之后,可以精读这篇文章。

推荐另外两个精读论文的AI辅助网站:https://typeset.io/ 和chatpdf。

和上面这两个工具的主要优势在于,ChatPaper可以批量自动总结最新论文,可以极大的降低阅读门槛,尤其是我们国人。
缺点也很明显,ChatPaper没有交互功能,不能连续提问,但我觉得这个重要性不大~

6.常见报错

  1. pip 安装错误:

推荐关掉梯子,使用国内源下载:

pip install -r requirements.txt -i  http://pypi.douban.com/simple  --trusted-host pypi.douban.com
  1. 调用openai的chatgpt api时出现APIConnectionError, 如何解决?
    参考知乎回答:
    https://www.zhihu.com/question/587322263/answer/2919916984

直接在chat_paper.py里加上

os.environ[“http_proxy”] = “http://<代理ip>:<代理端口>”
os.environ[“https_proxy”] = “http://<代理ip>:<代理端口>”

代理ip和端口需要你在Windows系统里面查找。

  1. API被OpenAI禁了的报错:

这种情况只能用新号了。另外一定要注意一个号尽量不要多刷,节点一定要靠谱,千万不能用大陆和香港的节点,用了就寄。

  1. Https通信错误:

这个报错大概率是节点不够干净。如果有大佬知道具体原因,欢迎挂issues

issue174提供的方案是:

pip install urllib3==1.25.11

7.chatgpt 分析报告

[0/13] 程序概述: get_paper.py

该文件是一个Python脚本,文件名为 get_paper.py,属于 ChatPaper 工程中的一个组成部分。它实现了一个 Paper 类和一个 main 函数。Paper 类代表了一篇论文,它可以从 PDF 文件中解析出论文的元信息和内容,并提供了一些函数用于获取论文信息,如获取文章标题,获取章节名称及内容等。主函数 main() 演示了如何使用 Paper 类处理 PDF 文件,根据 PDF 文件路径初始化 Paper 对象,并调用 parse_pdf() 函数解析 PDF 文件并获取相应的信息。

[1/13] 程序概述: chat_arxiv_maomao.py

该程序文件名为 chat_arxiv_maomao.py,猫娘版chat_arxiv.py,其功能为使用 OpenAI API 进行聊天和从 arxiv 搜索引擎中查询论文信息,并将相应的论文保存为PDF格式和部分信息保存为图片格式。程序文件使用了许多 Python 的第三方库,如 arxiv、numpy、openai、fitz 等。程序中定义了 ArxivParams 以及 PaperReader 三个类,其中 ArxivParams 定义了从 arxiv 搜索论文时需要的各种参数;Paper 类用于解析 PDF 文件,提取论文信息并保存为本地 PDF 文件及多个图片文件,其中包括论文标题、pdf 路径、每个章节标题对应的 pdf 页码、每个章节的正文内容、摘要信息,以及保存为图片文件的论文第一页;Reader 类主要用于在 arxiv 搜索引擎中查询论文信息,根据查询信息和关键词得到论文列表,再根据列表中的论文信息获取论文 pdf 文件并保存。

核心区别在于猫娘限定款,但目前的主要语句没有猫娘的韵味,希望大家一起帮忙调试出一个有灵魂的猫娘AI论文秘书!给你留一个pull的位置!

[2/13] 程序概述: chat_paper.py

该程序文件名为chat_paper.py,包含一个Reader类和PaperParams元组。该程序功能为根据读者输入的搜索查询和感兴趣的关键词,从Arxiv数据库中获取文章,并对文章进行摘要和总结。程序使用了OpenAI的GPT-3模型生成文本摘要,使用了arxiv包获取Arxiv数据库中的文章。程序会将摘要和总结以markdown文件的形式保存下来。

Reader类包含了下载文章、筛选文章以及使用GPT-3生成文本摘要和总结的方法。主要方法有:

  • get_arxiv(): 使用Arxiv的API获取搜索结果。
  • filter_arxiv(): 筛选文章,并返回筛选后的结果。
  • download_pdf(): 从Arxiv下载筛选后的文章。
  • summary_with_chat(): 对每一篇下载下来的文章进行文本摘要和总结,并将结果以markdown文件的形式保存。

PaperParams元组包含了程序运行所需要的参数,如下载文件保存路径、搜索查询、关键词、排序方式、筛选关键词等。程序中使用了多次retry来保证程序的稳定性。

[3/13] 程序概述: get_paper_from_pdf.py

本程序文件为Python脚本文件,文件名为get_paper_from_pdf.py,主要是通过调用fitz库和PIL库的方法,从PDF文件中解析出文章的各个部分的文本内容,包括标题、摘要、章节标题和正文等,并且对PDF文件中的图片进行提取和保存,并返回图片的路径和扩展名。

具体实现是定义了一个Paper类,通过传入PDF文件的路径初始化Paper对象,然后封装了一系列方法,如解析PDF文件的方法parse_pdf(),获取所有章节名称的方法get_chapter_names(),获取文章中的图片路径的方法get_image_path()等。最后在main()函数中调用了Paper类的parse_pdf()方法,并将解析出的各个部分的文本内容和图片路径打印输出。

[4/13] 程序概述: app.py

该程序文件为一个基于 Flask 框架实现的 Web 应用程序,提供了四个功能模块:arxiv、 paper、 response 和 reviewer,分别对应搜索 Arxiv 上的论文、搜索并分析论文、处理论文审稿评论和查找论文审稿人四个功能。其中,每个功能模块定义了相应的路由函数,并使用 process_request 函数处理请求参数,并将请求参数作为参数调用相应的功能主函数,输出结果。此外,home 函数为应用的首页,提供了应用简介、各功能模块的描述以及该应用的 GitHub 项目地址等信息。最后,在程序结尾,代码根据命令行参数来启动应用程序。

[5/13] 程序概述: chat_arxiv.py

这个程序的文件名是chat_arxiv.py。这个程序实现了一个论文下载器。在论文知识库 arXiv 上搜索论文,并下载相应的 PDF 文件。程序将会接收用户的查询字符串、关键词、搜索页数、文件格式等参数,为这些参数构建一个名为 ArxivParams 的元组。接着,程序使用提供的参数调用 arXiv API,获取查询到的论文列表。程序遍历每篇论文,并下载它们的 PDF 文件。程序接收到 PDF 后,使用 fitz 库打开它,提取出目录,正文和元数据等信息。在 PDF 中查找到第一张图片,并将它保存成 PNG 格式的文件。程序遍历文本,找到所有的章节名称和图片,并将它们保存成字典,并存储在 Paper 对象里。最后调用 Gitee API 将文件上传到 Gitee 仓库里。

[6/13] 程序概述: chat_response.py

该程序文件是一个Python脚本,文件名为"chat_response.py",主要功能是根据输入的评论文件路径,使用OpenAI的Chat API生成对应的回复文本,并将回复输出到指定格式的文件中。

具体包括以下功能:

  1. 定义了一个Response类,包括了一些属性和方法,用于初始化和生成回复文本。

  2. 定义了一个chat_response_main函数,用于启动Response类生成回复文本。

  3. 通过导入argparse、configparser、datetime、json、os、re、time等模块,实现了参数解析、文件读写、时间处理、字符串匹配等操作。

  4. 使用了numpy、openai、tenacity、tiktok等第三方库,实现了文本编码、OpenAI Chat API调用、重试机制、加密解密等功能。

  5. 使用了正则表达式对文本进行匹配处理,提取关键信息后进行逻辑处理和字符串拼接,形成回复文本。

  6. 实现输出格式为txt、markdown等格式的回复文件。

总之,该程序用于将审稿意见进行回复,实现了自动化生成回复文本的功能,从而提高了工作效率。

[7/13] 程序概述: chat_reviewer.py

该程序文件是一个基于OpenAI Chat API的文献审稿系统,可以通过输入论文的标题、摘要、和各章节内容,生成相应的评审意见。主要包括以下内容:

1.导入所需要的模块和包

2.自定义namedtuple类ReviewerParams,包括4个属性:paper_path(论文路径),file_format(生成文件格式),research_fields(研究领域),language(输出语言)

3.自定义类Reviewer,包括以下方法:

init: 初始化方法,用于设置属性

validateTitle:用于校验论文的路径

review_by_chatgpt:根据传入的论文列表,获取关键部分,发送至OpenAI Chat API,生成评审意见

stage_1:审稿的第一阶段,根据传入的论文,提供标题、摘要、可提取的章节等信息并将其发送至OpenAI Chat API,以获取用户选择的章节

chat_review:审稿的第二阶段,将用户选定的章节和关键部分发送至OpenAI Chat API,以生成审稿意见

export_to_markdown:将审稿意见保存为markdown格式的文件

4.chat_reviewer_main:用于初始化程序,读取命令行参数后初始化Reviewer类,通过传入的论文路径或文件名,调用Reviewer类的review_by_chatgpt方法生成评审意见

该程序通过OpenAI Chat API调用人工智能模型,为用户提供便利的文献评审服务,同时又充分考虑到了对用户信息的保护,具有一定的可靠性和安全性。

[8/13] 程序概述: google_scholar_spider.py

这个程序文件是一个可从 Google Scholar 网站上获取特定关键字相关论文信息的爬虫,主要用于研究学术领域的热点话题。该爬虫的主要功能包括:

  1. 从命令行参数中获取关键字、结果数、CSV 文件路径、排序方式等信息;
  2. 根据关键字和年份(可选)构建 Google Scholar 查询链接;
  3. 使用 requests 库向链接发送请求,并对结果进行处理,包括获取标题、作者、被引用次数等;
  4. 按照排序方式对结果进行排序,将结果保存为 CSV 文件,并可选择在结果中生成柱状图。

[9/13] 程序概述: deploy/Public/app.py

该程序文件是一个Python脚本,文件名为app.py。该脚本包含了多个模块的导入和多个类和函数的定义。其中,一些重要的模块包括numpy、os、re、datetime、arxiv、openai、base64、requests、argparse、configparser、fitz、io、PIL、gradio、markdown、json、tiktoken、concurrent。主要的类包括Paper和Reader,辅助函数包括parse_text、api_key_check、valid_apikey、get_chapter_names、get_title、get_paper_info、get_image_path等。该程序还涉及到一些第三方API的调用,例如Arxiv、OpenAI等。该程序实现了一些功能,例如解析PDF文件,提取文本内容并按照章节组织成字典,获取PDF中每个页面的文本信息,根据字体大小识别每个章节名称等。该程序还可以检查有效的API密钥,生成一份有效的API密钥列表。

[10/13] 程序概述: deploy/Public/optimizeOpenAI.py

该程序文件名为optimizeOpenAI.py,是一个官方ChatGPT API的简单包装器,主要实现了和ChatGPT模型的交互功能,包括对话、重置对话、获取对话摘要等,以及对于API调用时间、API key的管理和流程控制。其中提供了两个主要的方法:ask()用于获取model的回答信息,conversation_summary()用于获取对话的摘要信息。

[11/13] 程序概述: deploy/Private/app.py

该程序实现了一个名为chatPaper的应用,用户可以通过输入特定的关键词,将获取的论文进行自动摘要和筛选,并使用OpenAI进行QA问答,由机器智能生成答案。其中,程序分为若干个子功能,包括:将PDF中的第一张图另存为图片,获取PDF文件中每个页面的文本信息并将其按章节组织成字典返回,获取PDF文件的标题,获取PDF文件中的章节。程序引入了numpy、os、re、datetime、arxiv、tenacity、base64、requests、argparse、configparser、PIL、gradio、fitz、io和optimizeOpenAI等库函数。主入口为app.py

[12/13] 程序概述: deploy/Private/optimizeOpenAI.py

这是一个名为optimizeOpenAI.py的程序文件,是一个对官方ChatGPT API的简单包装器。该文件定义了一个名为chatPaper的类,该类包含了用于与ChatGPT交互的各种方法。它使用OpenAI API完成交互,并在输入和输出之间维护存储对话的本地转换。它使用一个优先队列来存储API密钥,以确保API请求不会超过每个密钥的最大使用限制。在一个对话中,用户可以不断地提出问题并回答ChatGPT提供的管道中的问题。此外,该文件还包含用于重置对话、截断对话、计算并返回每个对话的当前令牌成本的函数,以及用于获取已注册的API密钥、检查API的可用性以及生成会话摘要的函数。

  • 对程序的整体功能和构架做出概括。然后用一张markdown表格整理每个文件的功能(包括get_paper.py, chat_arxiv_maomao.py, chat_paper.py, get_paper_from_pdf.py, app.py, chat_arxiv.py, chat_response.py, chat_reviewer.py, google_scholar_spider.py, deploy/Public/app.py, deploy/Public/optimizeOpenAI.py, deploy/Private/app.py, deploy/Private/optimizeOpenAI.py)。

整体功能和构架概括:
ChatPaper是一个文献管理工具,主要针对学术论文的查询、下载、管理和评审等方面进行了自动化处理和优化,主要功能包括:

  1. 论文的搜索和下载
  2. 论文的摘要和评审自动生成
  3. 论文的PDF文件解析和信息提取
  4. 学术文献信息的爬取和整合
  5. 学术论文开源代码的维护和管理

文件与功能对应表:

文件名主要功能
get_paper.py解析PDF文件的主要信息:标题,作者,章节
chat_arxiv_maomao.py在arxiv中搜索最新论文,并总结,猫娘款
chat_paper.py搜索,下载,管理学术论文
get_paper_from_pdf.py解析PDF文件
app.py论文文献和爬虫
chat_arxiv.py在arxiv中搜索最新论文,并总结
chat_response.py使用OpenAI API自动生成文献回复
chat_reviewer.py使用OpenAI API自动生成评审建议
google_scholar_spider.py从谷歌学术爬取论文摘要信息和引用数
Public/app.py提取PDF信息
Public/optimizeOpenAI.py自然语言处理概述
Private/app.py学术论文查询和管理
Private/optimizeOpenAI.pyOpenAI API请求处理

项目码源见文章顶部or文末

https://download.csdn.net/download/sinat_39620217/88009540

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/816874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

惊喜!1行Python代码,瞬间测你工作量,分享一个统计代码行数的神器

大家好&#xff0c;这里是程序员晚枫。 **你想不想知道一个项目中&#xff0c;自己写了多少行代码&#xff1f;**我用今天的工具统计了一下开源项目&#xff1a;python-office的代码行数&#xff0c;竟然有21w行&#xff01; 我们一起看一下怎么用最简单的方法&#xff0c;统…

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者再识AutoResponder标签-上

1.简介 Fiddler充当第三者&#xff0c;主要是通过AutoResponder标签在客户端和服务端之间&#xff0c;Fiddler抓包&#xff0c;然后改包&#xff0c;最后发送。AutoResponder这个功能可以算的上是Fiddler最实用的功能&#xff0c;可以让我们修改服务器端返回的数据&#xff0c…

Windows10系统还原操作

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 复制了下虚拟机的Win10系统&#xff0c;但其中有一些软件&#xff0c;想实现类似手机的格式化出厂操作&#xff0c;下面记录Windows10系统的还原操作。 一、系统环境&#xff1a; 虚拟机内的Windows10&#xff0c;64…

JavaWeb第三章:JavaScript的全面知识

目录 前言 一.JavaScript的简介 &#x1f496;概念 &#x1f496;学习内容 二.JavaScript的引入方式 &#x1f496;内部脚本 &#x1f496;外部脚本 三.JavaScript的基础语法 &#x1f496;语法的书写 &#x1f496;变量 ✨ 全局变量 ✨局部变量 ✨常量 &a…

vue表单筛选

目录 筛选 HTML scss* filterComp 排序 表格 自定义数据样式 inner-table 分页 删除 default-modal 自定义元素的插槽-占位符 .search-wrap {height: 60px;display: flex;align-items: center;overflow: hidden;padding: 0 20px;.selected-options-wrap {flex: 1;.…

PostgreSQL数据库中,查询时提示表不存在的解决办法

最近遇到一个奇怪的问题&#xff0c;以前从来没有遇到过&#xff0c;在postgres SCHEMA下执行select * from table1语句时&#xff0c;提示表不存在&#xff0c;而实际这个表确是存在的&#xff0c;只不过是在public SCHEMA下。在public SCHEMA下执行这个sql语句是没有问题的。…

主成分分析PCA算法

Principal Components Analysis 这个协方差矩阵是一个nXn的&#xff0c;且是对称矩阵&#xff0c;就会有n个特征值λ和特征向量v&#xff0c;每个特征向量也是n维的。第一行特征向量v对应特征值λ1 。 D(yk)&#xff1a;表示主成分yk的方差。方差越大&#xff0c;说明携带的信…

如何在不使用脚本和插件的情况下手动删除 3Ds Max 中的病毒?

如何加快3D项目的渲染速度&#xff1f; 3D项目渲染慢、渲染卡顿、渲染崩溃&#xff0c;本地硬件配置不够&#xff0c;想要加速渲染&#xff0c;在不增加额外的硬件成本投入的情况下&#xff0c;最好的解决方式是使用渲云云渲染&#xff0c;在云端批量渲染&#xff0c;批量出结…

【迁移】Mysql数据库备份 迁移

【迁移】Mysql数据库备份 迁移 &#x1f4d4; 千寻简笔记介绍 千寻简笔记已开源&#xff0c;Gitee与GitHub搜索chihiro-notes&#xff0c;包含笔记源文件.md&#xff0c;以及PDF版本方便阅读&#xff0c;且是用了精美主题&#xff0c;阅读体验更佳&#xff0c;如果文章对你有…

金蝶云星空任意文件读取漏洞复现(0day)

0x01 产品简介 金蝶云星空是一款云端企业资源管理&#xff08;ERP&#xff09;软件&#xff0c;为企业提供财务管理、供应链管理以及业务流程管理等一体化解决方案。金蝶云星空聚焦多组织&#xff0c;多利润中心的大中型企业&#xff0c;以 “开放、标准、社交”三大特性为数字…

【Linux】 UDP网络套接字编程

&#x1f34e;作者&#xff1a;阿润菜菜 &#x1f4d6;专栏&#xff1a;Linux系统网络编程 文章目录 一、网络通信的本质&#xff08;port标识的进程间通信&#xff09;二、传输层协议UDP/TCP认识传输层协议UDP/TCP网络字节序问题&#xff08;规定大端&#xff09; 三、socket编…

ClickHouse的安装启动

安装步骤 1.关闭防火墙 2.修改资源限制配置文件 2.1 路径&#xff1a;/etc/security/limits.conf 在末尾添加&#xff1a; * soft nofile 65536 #任何用户可以打开的最大的文件描述符数量&#xff0c;默认1024 这里的设置会限制tcp连接数 * hard nofile 65536 * soft nproc…

什么是架构 架构图

如何画架构图_个人渣记录仅为自己搜索用的博客-CSDN博客 什么是架构&#xff1f;要表达的到底是什么&#xff1f; Linus 03 年在聊到拆分和集成时有一个很好的描述&#xff1a; I claim that you want to start communicating between independent modules no sooner than you…

【指针三:穿越编程边界的超能力】

本章重点 9.指针和数组面试题的解析 10. 指针笔试题 九、指针和数组面试题的解析 1、一维数组的sizeof #include<stdio.h> int main() {int a[] { 1,2,3,4 };printf("%d\n", sizeof(a));printf("%d\n", sizeof(a 0));printf("%d\n", s…

探索运营商渠道佣金数字化运营

当前全球经济增长放缓&#xff0c;行业竞争持续加剧已是常态&#xff0c;用户需求越发苛刻、经营成本不断上升。内忧外患&#xff0c;企业经营如何突围&#xff1f;越来越多的企业发现&#xff0c;融合数字化技术的IT解决方案为企业提供了一种解决问题的可能。 数字化运营可以帮…

反转链表(JS)

反转链表 题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&…

809协议

809协议 目录概述需求&#xff1a; 设计思路实现思路分析1.809协议数据流——链路管理类 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,…

【吐槽贴】项目居然因为采购管理失控被迫暂停了?

最近&#xff0c;手上的一个大型项目好不容易解决了进度延误、范围蔓延、质量不过关等难点&#xff0c;结果差点掉进了成本失控的坑里。没想到咱项目经理还要全权负责项目的采购管理&#xff0c;必须要分享出来&#xff0c;让大家避避雷。 先给大家介绍一下背景&#xff1a; 我…

ns3.39编译时报错与解决_包括netanim-3.109(NetAnim)

ns&#xff08;来源于“network simulator”&#xff09;是一系列离散事件网络模拟器&#xff0c;包括ns-1、ns-2和ns-3。他们主要应用于研究和教学。ns-3是自由软件&#xff0c;以GNU GPLv2协议分发。​——百度百科 熟悉ns的朋友都知道&#xff0c;使用build.py编译时会先编…

【HttpRunnerManager】搭建接口自动化测试平台实战

目录 一、需要准备的知识点 二、我搭建的环境 三、搭建过程 四、访问链接 五、两个问题点 【整整200集】超超超详细的Python接口自动化测试进阶教程&#xff0c;真实模拟企业项目实战&#xff01;&#xff01; 一、需要准备的知识点 1. linux: 安装 python3、nginx 安装和…