文章目录
前言
下面是官方docker-compose部署文档:
https://doc.fastgpt.in/docs/development/docker/
我操作的时候遇到一些问题,所以记录下来
参考了一位老师的视频
https://www.bilibili.com/video/BV1bz421S79Y/?spm_id_from=333.337.search-card.all.click&vd_source=14b8cfbb60a48c27acc66e2fe542e6cc
提示:以下是本篇文章正文内容,本人新手,仅供参考
一、安装Docker
官方文档说安装orbstack
brew install orbstack
不过这个好像有体验时长,我直接装的docker,比较简单。
二、下载 docker-compose.yml
新建一个文件夹
mkdir fastgpt
cd fastgpt
需要下载两个文件,由于我是非Linux 环境,所以直接去GitHub下载文件,放入到fastgpt文件夹中
- 一个config文件 config.json
- 一个docker-compose文件 docker-compose.yml
点开后就有这么几个文件,需要下载.yml文件,根据自己想要的向量数据库选择,我下载的docker-compose-milvus.yml
放入文件夹之后,记得重命名,
docker-compose-milvus.yml --> docker-compose.yml
三、Ollama 下载模型部分
首先需要下载一个语言模型(qwen2:7b)和一个文本嵌入模型(znbang/bge:large-en-v1.5-f16)
我是先本地下载了ollama https://ollama.com/,点击下载就行,然后运行,电脑打开命令行,可以直接跑模型,当然他要先下载,例如:
ollama run qwen2:7b
ollama pull znbang/bge:large-en-v1.5-f16
四、重点修改文件部分!!!(否则运行会出问题)
-
docker-compose.yml 中
1.修改mongo,原本是像注释里那样的,macbook要改成框框里的那样。
2.fastgpt
这个地址原来是http://oneapi:3000/v1,需要修改,不然模型无法访问到。
chat_api_key 在打开oneapi之后在令牌中获取,之后会说。
3.oneapi,需要修改版本,原来是latest,用了会导致模型connection error,换成v0.6.4
-
config.json文件中
1.修改语言模型名称,就是ollama那边的名字,最好放第一个,因为fastgpt使用的默认模型是文件中的第一个。
2.修改文本嵌入模型
也是修改名字就行
五、运行容器
官方部署内容,命令行进入你建的那个文件夹再运行代码。
# 启动容器
docker-compose up -d
# 等待10s,OneAPI第一次总是要重启几次才能连上Mysql
sleep 10
# 重启一次oneapi(由于OneAPI的默认Key有点问题,不重启的话会提示找不到渠道,临时手动重启一次解决,等待作者修复)
docker restart oneapi
六、OneApi添加模型
可以通过127.0。0.1:3001访问OneAPI,默认账号为root密码为123456。首次登陆后会要求更改密码。在OneApi中添加合适的AI模型渠道。
先申请一个密钥吧,在令牌里面,点永不过期和无限额度就行。然后复制。
添加模型渠道
点击渠道 --> 添加新的渠道
- 如果是部署的Ollama的模型,类型就要选择Ollama
- 名称无所谓,就是你看到的模型的名称,例如qwen
- 然后清除所有模型,输入你在Ollama下载的模型,例如qwen2:7b
- 密钥在令牌中申请,申请完后在docker-compose.yml中也修改一下
- 代理有点问题,好像我在自己电脑上部署,代理就只能写 http://host.docker.internal:11434,不然会连接不上,在服务器上好像就不一样,用ip地址:11434 就行
- 然后点击测试,测试通过就行
接下来添加文本嵌入模型,流程也是一样的,不过密钥可以随便写,1234啥的
而且文本嵌入模型的测试是同不过的
出现这个其实就是好的。
然后重启
docker-compose down
docker-compose up -d
七、访问 FastGPT
目前可以通过 ip:3000 (127.0.0.1:3000)直接访问(注意防火墙)。
首次运行,会自动初始化 root 用户,密码为 1234(与环境变量中的DEFAULT_ROOT_PSW一致),日志里会提示一次MongoServerError: Unable to read from a snapshot due to pending collection catalog changes;可忽略。
如若有不对的地方,请提出,方便修改和大家参考。