1、项目代码:fastGPT
2、docker部署文档:Docker Compose 快速部署
3、Sealos一键部署文档:Sealos 使用
备注:
- docker 和 sealos 是2种不同的部署方式。
- 【ok】目前测试docker流程已畅通
- 【fail】sealos部署应用后,会自动分配 one-api 的外网地址访。但访问这个外网地址,在里面配置本地私有化的 模型渠道,测试不通过~
【fastGPT】需要依赖以下3项:
- MongoDB:用于存储除了向量外的各类数据
- PostgreSQL/Milvus:存储向量数据
- OneAPI: 聚合各类 AI API,支持多模型调用 (任何模型问题,先自行通过 OneAPI 测试校验)
在文档的“1. 下载 docker-compose.yml ”
篇章中描述了本地开发和docker-compose直接部署时对配置文件config.json
和 docker-compose.yml
的不同操作:
1、config.json 和 docker-compose.yml配置文件
这两个配置文件,是部署中要修改的文件。
1.1 直接部署
docker部署官方文档:Docker Compose 快速部署
涉及配置文件下载,只用执行
“Linux 快速脚本”
模块里的内容,不用github下载整个项目:
curl命令:
curl
是一个命令行工具,用于传输数据,支持多种协议,包括 HTTP、HTTPS、FTP
等。它广泛用于下载文件、发送数据到服务器、测试网络服务等。
curl -o
命令是curl
工具的一个常用选项,其中:
curl
是命令本身。-o
是一个选项,表示输出(output)。- 后面跟随的参数是输出文件的名称。
当你使用
curl -o filename
命令时,它会将从 URL 下载的数据保存到指定的文件filename
中。如果没有指定
-o
选项,curl
默认将输出保存到标准输出(通常是终端),或者你可以使用-O
选项(大写的 O)来让curl
保存文件的原始名称。例如:
curl -o example.txt http://example.com/file.txt
会从http://example.com/file.txt
下载文件,并将其保存为本地的example.txt
。curl -O http://example.com/file.txt
会下载文件并保持其原始名称file.txt
。
1.2 本地开发
部署文档:快速开始本地开发
本地开始,使用推荐
docker-compose-pgvector版本
,并在docker配置文件中注释掉sandbox和fastgpt
的部分,改成自行拉取并运行sandbox和fastgpt
。
因为docker-compose.yml中配置了 fastgpt 和 沙箱sandbox 的镜像版本,这些都是开发好的,如果是本地开发的,就需要启动本地的fastgpt 和 sandbox,而不是走已有的镜像。
2、one-api
所有模型都是通过one-api
接入 fastgpt,所以需要配置文件里的模型
和one-api渠道里的模型
要一一对应。
2.1 one-api的渠道、令牌配置
- one-api的
渠道
是用来配置模型的,配置的模型可用于在config.json
中使用; - one-api的
令牌
是允许外部请求它的一个口令,对应docker-compose.yml
的fastgpt-environment-CHAT_API_KEY
参数。 - one-api配置的前提:
docker-compose up -d
已启动整个fastgpt 项目。启动成功后的项目,docker ps, 可以看到oneapi的访问端口是3001。
2.1.1 添加渠道、令牌
从http://oneapi部署的机器ip:3001
进入本地的one-api,添加本地的模型 渠道 和 令牌。以下重点讲私有模型的配置
。
- 如果是私有化模型,渠道的api-key可以随便填;
- 商业版模型,渠道的api-key要自己开通账号申请。
a、私有模型的部署
b、私有化模型的URL配置到端口号
c、私有化模型的密匙随便写
d、测试效果
2.1.2 重启oneapi服务
执行
docker restart oneapi
。
- 只要oneapi有变(不管是渠道 or 令牌),都需要重启!不重启,fastapi里访问不到。
2.2 修改配置文件,使fastgpt可访问one-api里的模型
2.2.1 config.json里添加one-api渠道里配置的模型
具体参考:配置文件介绍
备注:config.json中的模型和知识库的关系
这里的配置和知识库
也是息息相关的:
具体如下:知识库的配置是构建时默认加载对应配置里的第一个元素,如果要改,需要构建成功后,自行点“配置”再改!
2.2.2 docker-compose.yml中配置one-api的访问地址、令牌
如果使用公有云sealos平台来自动发布fastgpt应用,自动分配的外网地址访问不了本地的模型!!!
所以:
如果fastgpt和one-api部署的机器之间可以互通,或者部署在同一台机器上,可以直接写ip:port。
2.3 docker-compose重启整个服务
由于在2.1.2中修改了配置文件,所以要重启服务:
先关闭服务:docker-compse down
再启动服务:docker-compose up -d