私有化大模型知识库部署指南
透过产品了解 RAG 技术原理,对未来大模型应用开发将起到事半功倍的效果。本文将对 RAG 技术原理进行总结,并详细演示如何基于 FastGPT 和 One-API 搭建私有化大模型知识库。
本文介绍了基于 FastGPT 和 One-API 部署私有化大模型知识库的完整流程。涵盖 RAG 技术原理、Docker 环境准备、服务部署配置、向量模型接入及常见问题排查,旨在帮助开发者快速搭建本地化的智能问答系统。

透过产品了解 RAG 技术原理,对未来大模型应用开发将起到事半功倍的效果。本文将对 RAG 技术原理进行总结,并详细演示如何基于 FastGPT 和 One-API 搭建私有化大模型知识库。
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合检索与生成的技术。其核心流程为'检索 + 生成':
RAG 架构包含两个阶段:

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。支持通过 Flow 可视化进行工作流编排,实现复杂的问答场景。这里采用 Docker Compose 方式部署开源版本。
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 同级目录下执行以下命令。生产环境建议不要暴露数据库端口。
docker-compose pull
docker-compose up -d
配置说明:
pg: PostgreSQL 数据库,用于存储向量索引。mongo: MongoDB 数据库,用于存储业务数据。fastgpt: 主应用服务,依赖上述两个数据库。修改 docker-compose.yml 中的环境变量以适配您的环境:
DEFAULT_ROOT_PSW: 设置 root 密码。OPENAI_BASE_URL: 填写中转地址(如使用官方号无需修改,务必加 /v1)。CHAT_API_KEY: 填写 API Key。MONGODB_URI / PG_URL: 确保连接字符串正确。示例配置片段:
version: '3.3'
services:
pg:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0
container_name: pg
restart: always
ports:
- "5432:5432"
environment:
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
- POSTGRES_DB=postgres
volumes:
- ./pg/data:/var/lib/postgresql/data
mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18
container_name: mongo
restart: always
ports:
- "27017:27017"
environment:
- MONGO_INITDB_ROOT_USERNAME=username
- MONGO_INITDB_ROOT_PASSWORD=password
volumes:
- ./mongo/data:/data/db
fastgpt:
container_name: fastgpt
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest
ports:
- "3000:3000"
depends_on:
- mongo
- pg
environment:
- DEFAULT_ROOT_PSW=1234
- OPENAI_BASE_URL=http://ip:端口/v1
- CHAT_API_KEY=sk-xxxx
- MONGODB_URI=mongodb://username:password@mongo:27017/fastgpt?authSource=admin
- PG_URL=postgresql://username:password@pg:5432/postgres
服务启动后,可通过 http://ip:3000 访问管理后台。
One-API 作为大模型服务代理,支持国内外主流的大模型服务,对外提供 OpenAI 规范的 API。目前已支持 Azure、Anthropic Claude、Google Gemini、智谱 ChatGLM、百度文心一言、讯飞星火、阿里通义千问等。
mkdir /oneapi
cp docker-compose.yml /oneapi
cd /oneapi
docker-compose up -d
注意修改文件中指定端口避免冲突。
登录 One-API 控制台,点击'渠道',配置您的 GPT 账号信息。
在渠道配置完成后,点击测试按钮验证连通性。
点击'令牌',添加新的令牌,用于配置到 FastGPT。
复制 One-API 生成的令牌(格式通常为 sk-xxxx),配置到 FastGPT 安装目录下的 docker-compose.yml 文件中:
environment:
- OPENAI_BASE_URL=http://your-ip:port/v1
- CHAT_API_KEY=sk-xxxx
同时修改 config.json 配置文件,需要与渠道模型名称对应(如果渠道不支持此模型则请求会失败)。
{
"SystemParams": {
"pluginBaseUrl": "",
"vectorMaxProcess": 15,
"qaMaxProcess": 15,
"pgHNSWEfSearch": 100
},
"ChatModels": [
{
"model": "gpt-3.5-turbo",
"name": "GPT35-turbo",
"price": 0,
"maxContext": 16000,
"maxResponse": 4000,
"quoteMaxToken": 2000,
"maxTemperature": 1.2,
"censor": false,
"vision": false,
"defaultSystemChatPrompt": ""
}
],
"VectorModels": [
{
"model": "text-embedding-ada-002",
"name": "Embedding-2",
"price": 0.0,
"defaultToken": 700,
"maxToken": 3000
}
]
}
重启 FastGPT 服务生效:
cd /fastgpt
docker-compose restart
考虑到成本、安全和转换性能问题,可以使用 M3E 向量模型进行私有化部署。向量模型属于小模型,资源使用不高,CPU 也可以运行。
version: '1'
services:
m3e:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
restart: no
ports:
- "6008:6008"
登录 One-API 控制台,添加 M3E 渠道,指向本地部署的 M3E 服务地址。
修改 FastGPT config.json 配置文件,加入 M3E 模型配置:
"VectorModels": [
{
"model": "m3e",
"name": "M3E(测试使用)",
"price": 0.1,
"defaultToken": 500,
"maxToken": 1800
}
]
使用 FastGPT 创建知识库,选择 M3E 模型导入数据并进行搜索测试。

config.json 中的模型名称是否与 One-API 中配置的 Channel Name 完全一致。pgHNSWEfSearch 参数,数值越大检索越准但速度越慢,默认 100 可平衡性能。通过上述步骤,您可以成功搭建一个基于 FastGPT 和 One-API 的私有化大模型知识库。该方案支持多种模型切换,具备较好的扩展性和安全性,适合企业级内部知识管理场景。后续可根据实际需求进一步优化反向代理配置及监控告警体系。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 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