跳到主要内容

如何使用PerfXCloud实现论文搜索与总结

一、准备

本项目使用 www.perfxcloud.net 大模型平台,网站上有详细的说明文档。 快速开始|PerfXCloud

注意:PerfXCloud的API接口兼容 OpenAI 的ChatGPT,可以直接使用 OpenAI SDK或者其他中间件来访问 PerfXCloud。这使得开发者从ChatGPT或者其他平台切换到PerfXCloud变得非常非常容易。

如果还没有PerfXCloud的账号,可以登录网站创建一个。

二、论文搜索与总结

本项目是一个基于大型语言模型搭建的智能论文搜索总结,可根据自己设定的关键词搜索相关的论文,大模型会自动总结论文给出相关的简要信息。本项目基于ChatPaper进行开发。

论文搜索总结效果图如下:

pkgY4Qe.png

三、程序部署

本地开发环境支持 MacOS、Windows、Linux 系统,需要安装 python环境,python推荐的版本在 3.8.9 ~ 3.9.X 之间,建议3.9,numpy版本需要在1.24.2版本或者更高,python可前往官网下载。

(1)下载源码

可以在项目地址下载相关文件 或者在命令行使用 git 克隆项目并进入目录(进入你所下载的文件目录即可):

git clone https://github.com/kaixindelele/ChatPaper
cd ChatPaper/

项目也可通过docker等方式部署,详细可见具体项目地址

(2)安装依赖

pip install -r requirements.txt 如果使用的是pycharm部署并使用的是虚拟环境,最好提前激活你所需要的虚拟环境,

可以用下面的命令来激活 .\Scripts\activate

(3)配置

打开apikey.ini文件,修改所需配置,具体配置含义参考配置说明

[OpenAI]
introduction = the api key does not ''
OPENAI_API_KEYS = [令牌, ]
# the base URL for openai or other proxy
OPENAI_API_BASE = https://cloud.perfxlab.cn/v1
# If you are using the forward API, you need to replace the base url above with the forward link, and enter the key as usual, for example:
# OPENAI_API_BASE = httpts://chatnext.lan-qian.top/v1
CHATGPT_MODEL = llama-3-8b

配置的效果如下,可以配置自己的模型和api-key api-key获取方式

pkgYfzD.png pkgYWRO.png

四、运行

本地运行项目

Arxiv在线批量搜索+下载+总结 使用命令行进行运行 python chat_paper.py --query "chatgpt robot" --filter_keys "chatgpt robot" --max_results 3 前两个引号中的内容是你设定的关键词,最后的数字是每次搜索的最大文章数,只需更改这三个参数即可 运行后会出现搜索出的文章的标题,作者等信息,还会给出相应的方法总结,文章总结等 还有更多的运行方式与功能,详细可见具体项目地址

部分运行参数介绍说明:

 --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方法提前写入参数

 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的不会乱")

pkgYRJK.png pkgYILd.png

本项目视频教程地址:https://www.bilibili.com/video/BV1ki421a7gp

本项目代码地址:https://github.com/kaixindelele/ChatPaper