本地部署 AI 问答知识库:基于 FastGPT 的一站式指南
本文介绍如何在本地服务器使用 Docker 部署 FastGPT 构建 AI 问答知识库。流程涵盖环境准备(Docker)、向量模型(M3E)与 API 网关(OneAPI)的安装配置,以及 FastGPT 核心服务的启动与初始化。通过可视化界面导入文档、创建应用并进行聊天测试,实现私有化 AI 客服系统。文章详细说明了各组件的作用、配置方法及常见问题的排查策略,适合希望掌握 RAG 技术落地实施的技术人员参考。

本文介绍如何在本地服务器使用 Docker 部署 FastGPT 构建 AI 问答知识库。流程涵盖环境准备(Docker)、向量模型(M3E)与 API 网关(OneAPI)的安装配置,以及 FastGPT 核心服务的启动与初始化。通过可视化界面导入文档、创建应用并进行聊天测试,实现私有化 AI 客服系统。文章详细说明了各组件的作用、配置方法及常见问题的排查策略,适合希望掌握 RAG 技术落地实施的技术人员参考。

在当今信息爆炸的时代,企业和个人常常需要处理海量的非结构化数据并从中提取特定答案。AI 问答知识库是一种基于检索增强生成(RAG)技术的系统,旨在通过理解自然语言问题,从本地存储的知识库中提取相关信息,并结合大语言模型(LLM)生成准确、快速的回答。这种技术不仅适用于搜索引擎和智能助手,在医疗咨询、金融合规、教育辅导等对数据隐私要求较高的领域也展现了巨大潜力。
虽然云端提供了便捷的 AI 服务,但在许多场景下,本地部署 AI 问答知识库更为合适:
本地部署方案通常包含以下核心组件:
本方案采用 FastGPT 作为核心框架,配合 Docker 容器化部署。
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。它允许用户通过可视化 Flow 模块进行工作流编排,从而实现复杂的问答场景。
项目开源:遵循 Apache License 2.0 协议,支持二次开发和发布。社区版保留核心功能,商业版通过 API 扩展,不影响基础学习使用。
独特的 QA 结构:针对客服问答场景设计,提高大量数据场景下的问答准确性。
可视化工作流:通过 Flow 模块展示从问题输入到模型输出的完整流程,便于调试和设计复杂逻辑。
无限扩展:基于 API 进行扩展,无需修改源码即可快速接入现有程序。
便于调试:提供搜索测试、引用修改、完整对话预览等多种调试途径。
支持多种模型:支持 GPT、Claude、文心一言等多种 LLM 模型,未来也将支持自定义的向量模型。
通过导入文档或已有问答对进行训练,让 AI 模型能根据你的文档以交互式对话方式回答问题。支持多轮对话记忆,确保上下文连贯。
FastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。
提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径。其中'直接分段'支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。
基于 Flow 模块的工作流编排,可以帮助你设计更加复杂的问答流程。例如查询数据库、查询库存、预约实验室等,实现业务逻辑与 AI 能力的结合。
FastGPT 对外的 API 接口对齐了 OpenAI 官方接口标准,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。
建议至少配备 4 核 CPU、8GB 内存及 50GB 可用存储空间。若需本地运行大模型,建议增加 GPU 显存;若仅调用外部 API,则对算力要求较低。
服务器需要安装好 Docker 环境,建议使用较新版本以确保兼容性。
[图片]
首先确保服务器已安装 Docker 引擎和 Compose 插件。
# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
# 安装 docker-compose
mkdir -p /usr/local/lib/docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
# 验证安装
docker -v
docker compose version
为了容器间通信,创建一个 Docker 网络。
docker network create my-network
M3E 是专为中文场景优化的嵌入模型,用于将文本转化为向量。
docker run -d --name m3e-vector \
--network my-network \
-p 3030:6008 \
registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api
启动后,可通过 http://localhost:3030 访问模型服务。
OneAPI 作为中间件,统一管理不同的大模型 API 密钥和路由。
docker run --name one-api \
--network my-network \
-d --restart always \
-p 3200:3000 \
-e TZ=Asia/Shanghai \
-v /home/ubuntu/data/one-api:/data \
justsong/one-api
配置完成后,登录 OneAPI 后台添加阿里通义千问模型和 M3E 模型。默认密钥需根据实际情况设置,生产环境请务必修改默认凭证。
第一步:下载配置文件
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,重点配置 OPENAI_BASE_URL 和 CHAT_API_KEY。
OPENAI_BASE_URL:填写 OneAPI 的地址,格式为 http://<IP>:3200/v1。CHAT_API_KEY:填写 OneAPI 中生成的令牌。第三步:配置文本模型和向量模型
编辑 config.json,指定使用的模型 ID 和向量模型地址。确保与 OneAPI 中配置的模型名称一致。
第四步:启动容器 在项目目录下执行以下命令拉取镜像并启动服务。
cd fastgpt
docker compose pull
docker compose up -d
第五步:初始化 Mongo 副本集 MongoDB 需要副本集模式以保证数据一致性。对于版本 4.6.8 以上必须执行此步骤。
# 查看 mongo 容器是否正常运行
docker ps
# 进入容器
docker exec -it <mongo_container_id> bash
# 连接数据库(替换实际用户名和密码)
mongo -u myusername -p mypassword --authenticationDatabase admin
# 初始化副本集
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})
# 检查状态
rs.status()
若提示 rs0 状态,则代表运行成功。如需外网访问,需同时修改 FastGPT 连接的 MONGODB_URI 参数。
部署完成后,访问 http://<服务器 IP>:3000 进入管理后台。
点击'知识库'菜单,新建知识库。支持上传 PDF、Word、Markdown 等文件。系统会自动进行切片和向量化处理。建议根据文档类型调整切片大小,一般中文文档推荐 500-800 字符一段。
在'应用'页面创建新应用,关联刚才创建的知识库。选择对应的模型和温度参数。温度值越低,回答越严谨;越高,创造性越强。
进入应用详情页的'调试'模式,输入问题进行测试。观察系统是否准确引用了知识库内容。若回答不准确,可检查知识库切片质量或调整检索阈值。
FastGPT 支持通过 API 接入其他业务系统。获取 API Key 后,可在代码中发起 HTTP 请求,将 AI 能力嵌入到企业内部 OA、CRM 或自研系统中。接口遵循 OpenAI 标准,迁移成本极低。
netstat -tunlp 查看。通过上述步骤,您可以在本地服务器成功搭建一套完整的 AI 问答知识库系统。该方案利用 FastGPT 的灵活性和 Docker 的便捷性,实现了数据的私有化存储与高效检索。后续可根据业务需求进一步扩展工作流,例如接入外部数据库或开发自定义插件,以满足更复杂的智能化需求。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online