使用Docker搭建基于LLM大模型的知识库系统FastGPT

FastGPT 是一个基于 LLM 大语言模型的开源知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
基于FastGPT可以实现像AI客服、聊天、知识库、自动数据预处理、自动数据预处理等场景,还能对外提供API,目前该项目已支持基于Docker的私有化部署方案,下面简单减少下如何进行部署。

前提条件

  • 有一台支持Docker的服务器或NAS
  • ChatGPT、文心一言、讯飞星火、阿里通义等帐号或API使用权限

部署方法

由于这个项目涉及到3个Docker镜像,所以推荐使用Docker-Dompose部署。如果你使用的是服务器则需要先安装Docker-Compose:

pip3 install docker-compose

如果你用的群辉或威联通,则不需要再安装了,因为NAS系统已经自带了。

  1. 开始正式部署前,先找一个合适的位置创建一个目录,本文以 /share/docker 目录为例,在此目录下创建名字为fastgpt的目录(你也可以改成自己喜欢的名字),目录如下
/share/docker/fastgpt
  1. 接着再在fastgpt目录下创建3个目录,分别为pg、mongo和fastgpt,并且在这3个目录下下都创建一个目录,名为data,完整目录如下
/share/docker/fastgpt/pg/data
/share/docker/fastgpt/mongo/data
/share/docker/fastgpt/fastgpt/data
  1. 然后复制下面的内容,并将其中映射的目录和端口改成你自己合适的
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:[email protected]: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
  1. 确认无误后,则可以开始部署了

服务器部署,创建一个文件compose.yml,并发以上内容粘贴到里面,在终端执行以下命令,等待完成即可。

docker-compose up -d

NAS部署,使用群辉容器管理器中的项目或威联通容器管理器中的应用程序功能,同样将上面的内容复制进去,启动或创建即可。当然也可以直接向服务器上部署一直,直接到终端上操作。、

  • 群辉中的
    群辉容器项目管理

  • 威联通中的
    威联通容器应用程序管理

  1. 等所有容器都启动完成后,在浏览器中输入ip+3000,接口打开fastgpt的web界面,用户名为root,密码就是上面提到的密码。

fastGPT
点击“立即开始”,进入到登录界面

  1. 进入“应用”界面,创建一个应用,保存并预览,可以在右边测试效果
    fastGPT-应用

  2. 应用创建完成后,就可以进入“聊天”见面,新建一个对话,既可以开始为AI聊天啦
    fastGPT-聊天

总结

以上就是FastGPT简单的搭建过程,在实际的使用中,还是需要针对自己的需求和场景来配置应用程序,比如你可以加入导入自己的知识库来增强AI的处理能力。目前项目默认支持ChatGPT的模型,如果想体验其他厂商的模型,可以借助另一个项目one-api来实现集成,感兴趣的朋友可以留言获取。

总之一句话,这个项目的可玩性非常高,但是怎么玩、玩的好不好,还需要不断去摸索!

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/223/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何检查并更新电脑的BIOS版本
上一篇 2023年8月23日 18:15
如何修复Windows 10或Windows 11上无法显示的USB驱动器
下一篇 2023年8月24日 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注