FastGPT 是一个基于 LLM 大语言模型的开源知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
基于FastGPT可以实现像AI客服、聊天、知识库、自动数据预处理、自动数据预处理等场景,还能对外提供API,目前该项目已支持基于Docker的私有化部署方案,下面简单减少下如何进行部署。
前提条件
- 有一台支持Docker的服务器或NAS
- 有ChatGPT、文心一言、讯飞星火、阿里通义等帐号或API使用权限
部署方法
由于这个项目涉及到3个Docker镜像,所以推荐使用Docker-Dompose部署。如果你使用的是服务器则需要先安装Docker-Compose:
pip3 install docker-compose
如果你用的群辉或威联通,则不需要再安装了,因为NAS系统已经自带了。
- 开始正式部署前,先找一个合适的位置创建一个目录,本文以 /share/docker 目录为例,在此目录下创建名字为fastgpt的目录(你也可以改成自己喜欢的名字),目录如下
/share/docker/fastgpt
- 接着再在fastgpt目录下创建3个目录,分别为pg、mongo和fastgpt,并且在这3个目录下下都创建一个目录,名为data,完整目录如下
/share/docker/fastgpt/pg/data
/share/docker/fastgpt/mongo/data
/share/docker/fastgpt/fastgpt/data
- 然后复制下面的内容,并将其中映射的目录和端口改成你自己合适的
version: '3.8'
services:
pg:
image: ankane/pgvector:v0.4.2
container_name: pg
restart: unless-stopped
ports:
- 5432:5432
network_mode: bridge
environment:
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
- POSTGRES_DB=postgres
volumes:
- /share/Container/fastgpt/pg/data:/var/lib/postgresql/data
mongo:
image: mongo:5.0.18
container_name: mongo
restart: unless-stopped
ports:
- 27017:27017
network_mode: bridge
environment:
- MONGO_INITDB_ROOT_USERNAME=username
- MONGO_INITDB_ROOT_PASSWORD=password
volumes:
- /share/Container/fastgpt/mongo/data:/data/db
oneapi:
container_name: oneapi
image: justsong/one-api:latest
ports:
- 3001:3000
network_mode: bridge
volumes:
- /share/Container/fastgpt/oneapi/data:/data
depends_on:
- mongo
- pg
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
fastgpt:
container_name: fastgpt
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest
ports:
- 3000:3000
network_mode: bridge
volumes:
- /share/Container/fastgpt/fastgpt/data:/app/data/
depends_on:
- mongo
- pg
- oneapi
restart: unless-stopped
environment:
- DEFAULT_ROOT_PSW=123456
- OPENAI_BASE_URL=https://api.openai.com/v1
- CHAT_API_KEY=openai的api key
- DB_MAX_LINK=5
- TOKEN_KEY=any
- ROOT_KEY=root_key
- MONGODB_URI=mongodb://username:password@192.168.31.91:27017/?authSource=admin
- MONGODB_NAME=fastgpt
- PG_HOST=192.168.31.91
- PG_PORT=5432
- PG_USER=username
- PG_PASSWORD=password
- PG_DB_NAME=postgres
注意
- DEFAULT_ROOT_PSW:是默认的登录密码,设置成你想设置的
- OPENAI_BASE_URL: 如果你没有代理OpenAI,则不要改
- CHAT_API_KEY:OpenAI的API key
- MONGODB_URI: 注意里面的192.168.31.91要改成你自己的ip
- PG_HOST:注意里面的192.168.31.91要改成你自己的ip
- 确认无误后,则可以开始部署了
服务器部署,创建一个文件compose.yml,并把以上内容粘贴到里面,在终端执行以下命令,等待完成即可。
docker-compose up -d
NAS部署,使用群辉容器管理器中的项目或威联通容器管理器中的应用程序功能,同样将上面的内容复制进去,启动或创建即可。当然也可以直接像服务器上部署一样,直接到终端上操作。
-
群辉中的
-
威联通中的
- 等所有容器都启动完成后,在浏览器中输入ip+3000,打开fastgpt的web界面,用户名为
root
,密码就是上面提到的密码。
点击“立即开始”,进入到登录界面
-
进入“应用”界面,创建一个应用,保存并预览,可以在右边测试效果
-
应用创建完成后,就可以进入“聊天”见面,新建一个对话,既可以开始和AI聊天啦
总结
以上就是FastGPT简单的搭建过程,在实际的使用中,还是需要针对自己的需求和场景来配置应用程序,比如你可以导入自己的知识库来增强AI的处理能力。目前项目默认支持ChatGPT的模型,如果想体验其他厂商的模型,可以借助另一个项目one-api
来实现集成,感兴趣的朋友可以留言获取。
总之一句话,这个项目的可玩性非常高,但是怎么玩、玩的好不好,还需要不断去摸索!