前言

在AI智能技术迅猛发展的背景下,企业对智能化客户服务的需求日益增长。FastGPT作为一款开源的AI知识库构建平台,基于LLM大模型,提供了数据处理、模型调用、RAG检索以及可视化工作流编排等强大功能。无论是构建特定领域的AI客服,还是开发复杂的AI应用,FastGPT都能帮助企业轻松实现。FastGPT提供开源版本和企业版本,其中开源版本允许用于商业化,例如作为其他应用的“后端即服务”,或作为应用开发平台提供给企业。如果涉及多租户SaaS服务或LOGO及版权信息时,则需联系作者获取商业许可。

此前,我在公司内部基于FastGPT成功部署了“AI运维技术问答知识库”,显著提升了工作效率。本文将详细介绍如何通过Docker Compose快速部署FastGPT,构建专属的AI客服或AI知识库应用。

部署前你需要了解Docker、Docker Compose、会百度查询报错

一、部署架构图

部署架构图

MongoDB:用于存储除了向量外的各类数据
PostgreSQL/Milvus:存储向量数据
OneAPI: 聚合各类 AI API,支持多模型调用 (任何模型问题,先自行通过 OneAPI 测试校验)

二、部署推荐配置

环境最低配置(单节点)推荐配置
测试2c2g2c4g
100w 组向量4c8g 50GB4c16g 50GB
500w 组向量8c32g 200GB16c64g 200GB

三、Linux部署

详细教程请查看FastGPT官网:

3-1、创建项目、下载配置文件、Docker Compose文件

# 创建目录
mkdir fastgpt

# 进入
cd fastgpt

# 下载配置文件、Docker Compose文件
# curl下载配置文件
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json

# pgvector 版本(测试推荐,简单快捷)
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml

3-2、修改config.jsondocker-compose.yml文件环境变量

注意: config.json文件不会更改则先不动,等启动容器之后进入OneAPI,配置模型之后再进行配置哈

测试环境下,可以不用修改文件的变量,直接启动容器即可。在生产环境,文件都有详细的中文注释,最好根据注释来进行修改变量。下面是我的config.json修改的部分内容:

# llmModels
"llmModels": [
    {
      "model": "gpt-3.5-turbo",
      "name": "gpt-3.5-turbo",
      "avatar": "/imgs/model/openai.svg",
      "maxContext": 128000,
      "maxResponse": 4000,
      "quoteMaxToken": 100000,
      "maxTemperature": 1.2,
      "charsPointsPrice": 0,
      "censor": false,
      "vision": true,
      "datasetProcess": true,
      "usedInClassify": true,
      "usedInExtractFields": true,
      "usedInToolCall": true,
      "usedInQueryExtension": true,
      "toolChoice": true,
      "functionCall": false,
      "customCQPrompt": "",
      "customExtractPrompt": "",
      "defaultSystemChatPrompt": "",
      "defaultConfig": {}
    },
        {
      "model": "gpt-4",
      "name": "gpt-4",
      "avatar": "/imgs/model/openai.svg",
      "maxContext": 128000,
      "maxResponse": 4000,
      "quoteMaxToken": 100000,
      "maxTemperature": 1.2,
      "charsPointsPrice": 0,
      "censor": false,
      "vision": true,
      "datasetProcess": false,
      "usedInClassify": false,
      "usedInExtractFields": false,
      "usedInToolCall": false,
      "usedInQueryExtension": false,
      "toolChoice": true,
      "functionCall": false,
      "customCQPrompt": "",
      "customExtractPrompt": "",
      "defaultSystemChatPrompt": "",
      "defaultConfig": {}
    },
    {
      "model": "deepseek-chat",
      "name": "deepseek-chat",
      "avatar": "/imgs/model/openai.svg",
      "maxContext": 128000,
      "maxResponse": 4000,
      "quoteMaxToken": 100000,
      "maxTemperature": 1.2,
      "charsPointsPrice": 0,
      "censor": false,
      "vision": true,
      "datasetProcess": true,
      "usedInClassify": true,
      "usedInExtractFields": true,
      "usedInToolCall": true,
      "usedInQueryExtension": true,
      "toolChoice": true,
      "functionCall": false,
      "customCQPrompt": "",
      "customExtractPrompt": "",
      "defaultSystemChatPrompt": "",
      "defaultConfig": {}
    }
  ]

# vectorModels
"vectorModels": [
    {
      "model": "text-embedding-ada-002",
      "name": "Embedding-2",
      "avatar": "/imgs/model/openai.svg",
      "charsPointsPrice": 0,
      "defaultToken": 512,
      "maxToken": 3000,
      "weight": 100,
      "dbConfig": {},
      "queryConfig": {}
    },{
      "model": "text-embedding-ada-002",
      "name": "OpenaiEmbedding",
      "avatar": "/imgs/model/openai.svg",
      "charsPointsPrice": 0,
      "defaultToken": 512,
      "maxToken": 3000,
      "weight": 100,
      "dbConfig": {},
      "queryConfig": {}
    }
  ],

3-3、启动容器

# 启动容器
docker-compose up -d
# 等待10s,OneAPI第一次总是要重启几次才能连上Mysql
sleep 10
# 重启一次oneapi(由于OneAPI的默认Key有点问题,不重启的话会提示找不到渠道,临时手动重启一次解决,等待作者修复)
docker restart oneapi

# ----拓展
## 关闭容器
docker-compose down
## 启动容器
docker-compose up -d

3-4、打开 OneAPI 添加模型

可以通过[ip]:3001访问OneAPI,默认账号为root密码为123456,来进行添加模型,配置好之后需要在config.json文件中配置、[关闭、再启动]容器fastGPT页面才生效。
oneapi-0.webp
oneapi-1.webp
oneapi-2.webp

3-5、访问FastGPT,创建知识库+聊天AI

3-5-1、创建知识库

FastGPT-text-1.webp
FastGPT-text-2.webp
FastGPT-text-3.webp
FastGPT-text-4.webp
FastGPT-text-6.webp

3-5-2、创建聊天AI

FastGPT-text-5.webp
FastGPT-text-7.webp

3-6、最终效果

fastGPTAI.webp

参考