本地部署个人 AI 文献知识库 - FastGPT
广告:
本站提供外币代付服务(ChatGPT Plus/Team/API、Claude 等代充)
本站提供 API 中转服务:ZetaTechs API(ChatGPT、Claude、Gemini、MidJourney绘图等)
大家好,这一期我们来折腾一下用 GPT 来整理个人的文献知识库。
首先说一下,身为一个普通的 AI 产品用户,这段时间的 ChatGPT 以及部分 AI 工具用下来。我个人的看法是,AI 这个东西确实很有用,但是它只能作为一个辅助手段,别指望它直接全自动帮你写一篇科研论文,即便是文献综述这种不需要做实验的文章,目前也还达不到这么高的要求。
不过说实话想要写好一篇文献综述也不是简单的事。
好了,回到正题。
一、背景介绍
1.1、FastGPT 是什么:
FastGPT GitHub 项目首页:https://github.com/labring/FastGPT
FastGPT 官方在线体验:https://fastgpt.run(建议在官网体验过再尝试自己部署)
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
1.2、我们用它干什么:
我们可以将自己用得上的文献全都喂给它,创建一个属于自己的知识库,它会整理拆分为一个个片段,你询问它问题的时候,如果知识库里有相关内容,就可以直接调用知识库里的资料进行回答,相当于为自己定制了一个大语言模型。
FastGPT 有商业版和个人版,商业版有多用户系统,其他和个人版一样,所以我们直接用个人版就行了。
二、前期准备
Linux 系统主机一台(VPS 或虚拟机均可),或Sealos账号(支持一键部署)。
OpenAI API Key(官方或第三方均可,需
text-embedding-ada-002
模型可用,官方免费账号有速率限制,会导致索引失败)。获取方式包括但不限于:【OpenAI 官方】、【本站自营低价 API】任意 SSH 客户端(本教程使用
FinalShell
)。
三、FastGPT 快速部署
3.1、Sealos 一键部署
Sealos 是一个以 Kubernetes 为内核的云操作系统发行版。用官方的话说,就是整个数据中心抽象成一台服务器,一切皆应用,像使用个人电脑一样使用 Sealos。
FastGPT 和 Sealos 同属于一家公司,叫做环界云计算,所以Sealos上面有配置好的一键部署,设置好密码就能直接使用,非常简单。
我们首先进入官网:国际:https://sealos.io/ 国内:https://sealos.run/
手机或者微信登录都行:
登录后进入Sealos桌面,点击
模板市场
,找到FastGPT
。
填写root用户密码,待会 FastGPT 登录用的用户名就是
root
,密码为此处填写的密码(建议使用密码管理软件生成复杂密码);填写完毕后点击部署应用。api key
前往【OpenAI 官方】或【本站自营低价 API】API Key(官方 Key 只会在创建时可见,记得保存好。)
点击部署应用后会自动部署主程序和两个数据库应用(如果要暂停或者删除,记得全都要操作):
回到桌面,点击
应用管理
— FastGPT 这列右边的详情
。
点击
网络配置
—外网地址
,即可进入部署好的 FastGPT。登录账号为root
,密码为部署时自己设置的密码
。
密码忘记了可以点击右上角
变更
查看Docker环境变量,找到DEFAULT_ROOT_PSW
,右边的参数就是密码。
费用可以在
首页
—费用中心
—计价标准
查看。右边有本账号的成本预测
,我这个账号只开通了 FastGPT,这是刚创建好的时候,还没开始使用,预估一个月费用16.94元。可以通过暂停大法,使用的时候再开启的方法省钱(记得数据库也要暂停)。
3.2、Docker Compose 部署 FastGPT
建议有一台国外的虚拟专用服务器(以下简称 VPS),不会操作的可以搜索相关教程,或者加入简介里的 QQ 群交流。目前各种 AI 相关的应用,有很多是需要部署在服务器上的,有一台在国外的 VPS,既解决了网络问题,使用起来也方便。一台 VPS 上可以部署很多应用,而且这种应用大多都是用 API,对性能要求很低,最低配的 VPS 花费也不高,如果拼车更是能省很多。
本地机器也能部署,自己电脑开虚拟机都行,不过能做到这些的都可以自己部署了,本教程只针对新手。
系统我用的是
ubuntu-22.04
,安装了1Panel
面板方便管理:https://1panel.cn/。各种管理面板都有一键安装,这里就不细说了。面板无所谓用什么,很多人不安装管理面板也照样用,不过建议新手还是安装一个,可视化界面还是方便很多。本教程以
Linux
为例:打开
FinalShell
,连接主机,依次使用下列命令安装 Docker 和 Docker-compose(1Panel
跳过此步骤)。# 安装 Docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun systemctl enable --now docker # 安装 docker-compose curl -L https://github.com/docker/compose/releases/download/2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # 验证安装 docker -v docker-compose -v # 如失效,自行百度~
在你想要存放应用产生的数据的目录下,创建
fastgpt
目录并下载docker-compose.yml
:依次执行下面命令,创建FastGPT文件夹并拉取docker-compose.yml
和config.json
,执行完后目录下会有 2 个文件。mkdir fastgpt && cd fastgpt curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.jsoncurl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
我个人习惯在根目录建一个
appdata
文件夹,docker 应用的数据都放在这里面。1Panel
只需要在对应目录点击工具栏中的终端按钮即可连接终端执行代码。此时终端会自动进入到appdata
目录,直接依次执行上述命令即可。
执行完毕后,安装成功是这样的:
回到
文件
—/appdata/fastgpt
(或者你设置的文件地址)—单击 修改docker-compose.yml
中的DEFAULT_ROOT_PSW
、OPENAI_BASE_URL
和CHAT_API_KEY
DEFAULT_ROOT_PSW
:FastGPT
登录密码,用户名为root
。OPENAI_BASE_URL
:使用 OpenAI 官方 Key 无需更改。第三方 API 则改为第三方的地址,例如:https://api.zetatechs.com/v1
CHAT_API_KEY
:前往【OpenAI 官方】或【本站自营低价 API】API Key(官方 Key 只会在创建时可见,记得保存好。)修改好后点击右下角确认按钮进行保存。
再次点击工具栏—终端,国外VPS可以直接执行
docker compose up -d
命令:# 在 docker-compose.yml 同级目录下执行 docker compose pull docker compose up -d
等一会就自动安装成功,点击左侧菜单栏—容器即可找到新创建的fasgpt以及对应数据库。
浏览器地址栏填
<主机IP>:3000
即可访问FastGPT
。
四、FastGPT 作为个人文献知识库
打开FastGPT主页
<主机IP>:3000
,点击立即开始或者登录按钮,均可进入登录页面。我们安装的是个人版,所以没有多用户系统,只有一个root
用户,密码就是刚刚在docker-compose.yml
文件中设置的DEFAULT_ROOT_PSW
。
登录后进入系统,新创建的FastGPT里是一片空白,我们先点击
左侧菜单栏
—知识库
—新建(右上角)
—知识库
。只需要给知识库取个名字,其他设置使用默认。
知识库创建后自动进入知识库,之后想进入,只需要点击
左侧菜单栏
—知识库
—选择需要编辑的知识库
—新建/导入
—文件导入
。
我们要搭建的是文献知识库,选择直接分段,然后将需要添加的文献拖入对话框(选择文件最多一次十个,拖入可以更多)。支持
.txt
,.doc
,.docx
,.pdf
,.md
文件。
处理完成后点击确认导入。段落长度默认即可,预估价格是使用 API 的价格,按照 OpenAI 的计费计算,费用是 API Key 提供方收取。
如果遇到索引状态不变,大概率是因为你用的 Key 不支持
text-embedding-ada-002
模型,具体可以看 Docker 日志。
导入完成后就是这样(可以建立文件夹分类管理):
然后
左侧菜单栏
—应用
—新建
—命名
—模板选择知识库+对话引导
—确认创建
设置本应用,包括:1.选择模型(红框里的二选一),2.AI 配置(
选择模板
—标准严格模板
,这个模板只会回答知识库里已有的内容),3.关联知识库(关联上你需要询问的知识库)。
GPT4-Vision
支持的上下文文本量为128K,比GPT3.5-16K
高了很多,虽然更贵,不过价格不敏感的还是选GPT4-Vision
吧,效果会好很多。
想要回答的效果更好,就要把关联知识库—
参数
—单次搜索数量
拉到最大。
设置好后记得点击
保存并预览
,右侧对话框可以实时调试,出现引用说明成功使用了知识库里的资料。点击引用
和上下文
可以查看具体内容。演示中我只导入了一些综述,所以不会回答的多具体,如果导入了具体的研究论文,AI 可以根据论文中的 Result and Discussion 回答得更具体。
这样就设置完成了,之后可以在
左侧菜单栏
—聊天
直接开启对话,操作逻辑和其他 AI 对话软件一样,可以新建多个对话,也可以进入不同的应用对不同的知识库进行询问。
注意:演示中我只导入了一些综述,所以不会回答的多具体,如果导入了具体的研究论文,AI 可以根据论文中的 Result and Discussion 回答得更具体。
至此,AI 文献知识库就搭建完成了,其实使用下来,我感觉更多的是一个增强版的搜索,它可以快速高效地从海量的文献库里找到你需要的东西,而不是真的给一句话就出来一篇综述。
随着以后模型的上下文窗口增大,这个效果应该会变得越来越好,直到有一天它可以真的直接完美总结前人的工作。
但是我个人的看法是,AI 其实就是和电脑一样的辅助工具,目前为止我并不能看到它有真正的创造性。
我相信 AI 迟早有一天能够完全取代部分人类的工作岗位,这是人类发展的趋势,但那时候也会有新的岗位出现。我们要做的就是学会使用这个工具,而不是担忧被它替代。