FastGPT是一个基于LLM型的知识库问答系统。
官网文档:https://doc.fastgpt.in/docs/
先按顺序一个个安装部署 :ChatGLM M3E OneAPI
由于FastGPT是nodejs很麻烦,所以采用docker部署:
Docker Compose 快速部署
https://doc.fastgpt.in/docs/development/docker/
在ubuntu下,home/clc(这是我的用户名)下面
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.json
启动容器
#在 docker-compose.yml 同级目录下执行
docker-compose pull
docker-compose up -d
配置文件里端口3000,改为3020,为了不跟one-api冲突
访问 FastGPT
(172的是我本机ubuntu得到的eth0的ip)
配置文件
docker-compose.yml 文件内容:
# 非 host 版本, 不使用本机代理
version: '3.3'
services:
pg:
image: ankane/pgvector:v0.5.0 # git
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0 # 阿里云
container_name: pg
restart: always
ports: # 生产环境建议不要暴露
- 5432:5432
networks:
- fastgpt
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
- POSTGRES_DB=postgres
volumes:
- ./pg/data:/var/lib/postgresql/data
mongo:
image: mongo:5.0.18
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
container_name: mongo
restart: always
ports: # 生产环境建议不要暴露
- 27017:27017
networks:
- fastgpt
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- MONGO_INITDB_ROOT_USERNAME=username
- MONGO_INITDB_ROOT_PASSWORD=password
volumes:
- ./mongo/data:/data/db
fastgpt:
container_name: fastgpt
image: ghcr.io/labring/fastgpt:latest # git
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
ports:
- 3020:3000
networks:
- fastgpt
depends_on:
- mongo
- pg
restart: always
environment:
# root 密码,用户名为: root
- DEFAULT_ROOT_PSW=1234
# 中转地址,如果是用官方号,不需要管
- OPENAI_BASE_URL=http://172.20.206.201:3000/v1
- CHAT_API_KEY=sk-YgZKKnIdDWP15L1r94B280Ce3e7a4cBe876121604f1eFd8f
- DB_MAX_LINK=5 # database max link
- TOKEN_KEY=any
- ROOT_KEY=root_key
- FILE_TOKEN_KEY=filetoken
# mongo 配置,不需要改. 如果连不上,可能需要去掉 ?authSource=admin
- MONGODB_URI=mongodb://username:password@mongo:27017/fastgpt?authSource=admin
# pg配置. 不需要改
- PG_URL=postgresql://username:password@pg:5432/postgres
volumes:
- ./config.json:/app/data/config.json
networks:
fastgpt:
在oneapi里,给的是localhost,但是因为我这些是在容器里,所以,用本机ip才能通,所以很重要!
芒果和PG也在容器里的,所以用本机ip访问,测试这样才能通,信息如下:
mongo:27017端口 fastgpt 用户名username密码password
PG:5432端口用户名username密码password 数据库名postgres
OPENAI_BASE_URL=http://172.20.206.201:3000/v1
oneapi模拟openai接口,填的是oneapi的3000端口,接的是chatglm和m3e
CHAT_API_KEY=sk-YgZKKnIdDWP15L1r94B280Ce3e7a4cBe876121604f1eFd8f
fastgpt 容器端口3020