介绍
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
官网地址 https://doc.fastai.site/docs/intro/
部署
FastGPT提供了多种部署方式,我本次采用docker部署。、
-
安装docker 和 docker-compose,这个没有安装的可以自行百度;
-
创建目录并下载 docker-compose.yml
mkdir fastgpt
cd fastgpt
#非Linux系统环境可以手动下载这两个文件
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.json
可手动下载这两个文件 docker-compose.yml, config.json
- 启动容器
修改docker-compose.yml中的OPENAI_BASE_URL和CHAT_API_KEY即可,对应为 API 的地址(别忘记加/v1)和 key。
#在 docker-compose.yml 同级目录下执行
docker-compose pull
docker-compose up -d
- 访问FastGPT
目前可以通过 ip:3000 直接访问(注意防火墙)。登录用户名为 root,密码为docker-compose.yml环境变量里设置的 DEFAULT_ROOT_PSW。
OneAPI部署与配置
介绍
OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用.
FastGPT 与 One API 关系
可以把 One API 当做一个网关。
部署
docker部署
mkdir oneapi
cd oneapi
- 创建文件docker-compose.yml并粘贴如下内容
version: '3.8'
services:
oneapi:
container_name: oneapi
image: justsong/one-api:latest
restart: unless-stopped
network_mode: bridge
ports:
- 3001:3000
volumes:
- /share/Container/oneapi/data:/data
environment:
- TZ=Asia/Shanghai
- 切换到oneapi文件下,执行 docker-compose up -d 启动应用
- 访问应用:输入IP+端口3001
使用docker ps 命令可以看oneapi服务是否已经启动
直接下载exe
下载地址 https://github.com/songquanpeng/one-api/releases
下载后运行exe文件后弹出窗口显示one-api已启动,即可访问应用(默认是3000端口):http://localhost:3000/
配置
渠道可以简单理解为各个大模型厂商,可以是原始厂商,也支持代理厂商,每家厂商又可以支持多种模型。
新建渠道设置类型、名称、分组、模型、模型重定向、密钥(密钥:从大模型厂商获得的API Key)、代理等。
令牌管理
修改FastGPT的配置
有了 One API 令牌后,FastGPT 可以通过修改 baseurl 和 key 去请求到 One API,再由 One API 去请求不同的模型。修改下面两个环境变量:
其中CHAT_API_KET的值为OneAPI的令牌值,OPENAI_BASE_URL为部署的oneAPI的地址,记得加上/v1
修改 FastGPT 配置文件config.json
{
"model": "qwen-plus",
"name": "lingmouAI",
"maxContext": 8000,
"maxResponse": 4000,
"quoteMaxToken": 2000,
"maxTemperature": 1,
"vision": false,
"defaultSystemChatPrompt": ""
}
重新启动FastGPT
docker-compose up -d
我配置的是宿主机上的9091端口映射到容器内的3000端口,所以访问 http://localhost:9091/ 即可,用户名root,密码1234
这样就完成私有化部署啦,可以创建本地知识库并对话了。
问题总结
- 由于我的fastGPT使用的是docker部署的,而OneAPI直接下载的exe在本地部署的。当在OneAPI配置好令牌和渠道后,并且在fastGPT对应的docker-compose.yml配置好CHAT_API_KET和OPENAI_BASE_URL。我的配置如下:
- OPENAI_BASE_URL=http://localhost:3000/v1
- CHAT_API_KEY=*************************
发现对话功能报错,提示“Connection error.”
原因还是由于fastGPT和OneAPI部署不在同一环境中,容器里的3000端口并没有部署oneapi,所以找不到报错,改为本机的IP地址问题解决。