私有化部署 FastGPT+OneAPI 构建大模型知识库
写在前面
本文旨在通过实操完成 RAG(检索增强生成)方向开源产品的私有化部署,帮助开发者理解 RAG 技术原理,为未来大模型应用开发打下基础。文章将详细介绍如何结合 FastGPT 与 OneAPI 搭建本地知识库系统。
环境准备
- 服务器:Linux 服务器(Windows 也可,但推荐 Linux 环境)。
- 容器环境:安装 Docker 及 Docker Compose 指令。
- 模型账号:准备 GPT 账号(如 Azure 账号),OneAPI 支持多类大模型账号接入。
- 网络:确保服务器可访问 GitHub 或阿里云镜像仓库。
RAG 技术原理简介
RAG(Retrieval-Augmented Generation)是一种检索增强生成的技术。其核心逻辑是'检索 + 生成':
- 检索:利用向量数据库的高效存储和检索能力,召回与用户问题相关的知识片段。
- 生成:利用大语言模型(LLM)和 Prompt 工程,将召回的知识作为上下文注入 Prompt,引导模型生成准确答案。
RAG 架构包含两个阶段:
- 数据准备阶段:将私域数据清洗、分块、向量化后构建索引并存入数据库。
- 应用阶段:用户提问 -> 数据检索(召回)-> 注入 Prompt -> LLM 生成答案。
FastGPT 服务部署
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。支持 Flow 可视化工作流编排。这里采用 Docker Compose 方式进行私有化部署。
1. 下载配置文件
在目标目录下创建文件夹并拉取官方配置:
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
2. 启动容器服务
编辑 docker-compose.yml 文件,根据实际需求修改端口映射(生产环境建议不要暴露数据库端口)。
关键配置说明:
- PostgreSQL (pg): 用于存储业务数据,需设置
POSTGRES_USER和POSTGRES_PASSWORD。 - MongoDB (mongo): 用于存储会话和日志,需设置
MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD。 - FastGPT App: 主服务,依赖 mongo 和 pg,需配置环境变量。
启动命令:
docker-compose pull
docker-compose up -d
3. 访问服务
服务启动成功后,可通过 http://ip:3000 访问管理后台。默认 root 密码可在 docker-compose.yml 中配置(如 DEFAULT_ROOT_PSW=1234)。


