一、环境准备与硬件要求 在开始部署之前,请确保您的机器满足以下最低硬件配置。本地运行大模型对内存和显存有一定要求。建议至少配备 16GB 系统内存,若使用量化后的 7B 参数模型,推荐 32GB 内存以支持知识库检索;若有 NVIDIA 显卡且显存大于 8GB,可开启 CUDA 加速以提升推理速度。 对于 Windows 用户,推荐使用 WSL2(Windows Subsystem for Linux)作为开发环境。安装 Docker Desktop 时,请在设置中启用 WSL2 后端,并分配足够的内存资源(建议设置为物理内存的 50%-70%)。 对于 Linux 用户,请确保已安装 Docker Engine 和 Docker Compose。可通过命令 docker --version 和 docker-compose --version 验证安装情况。 二、Ollama 大模型框架部署 Ollama 是本地运行开源大模型的高效工具。在终端执行以下命令下载并启动服务:
curl -fsSL https://ollama.com/install.sh | sh
安装完成后,可使用 ollama list 查看已安装的模型列表。默认情况下列表为空。根据需求选择模型,例如 Qwen2(通义千问)或 Llama3。
ollama pull qwen2:7b
下载过程中会显示进度条。模型文件较大,首次运行可能需要几分钟。下载完成后,可通过 ollama run qwen2:7b 进入对话模式测试模型效果。 注意:不同量化版本(如 Q4_K_M, Q8_0)占用显存不同,可根据硬件性能选择。 三、OneAPI 与 FastGPT 容器化部署 FastGPT 是一个基于 LangChain 开发的开源 AI 应用搭建平台,配合 OneAPI 可实现多模型统一接入。
- 创建项目目录并下载配置文件: mkdir fastgpt && cd fastgpt wget https://raw.githubusercontent.com/labring/FastGPT/main/docker-compose.yml wget https://raw.githubusercontent.com/labring/FastGPT/main/config.json
- 配置镜像源: 编辑 docker-compose.yml,将默认的 Docker Hub 镜像地址替换为国内镜像源(如阿里云或腾讯云镜像),以避免拉取超时。
- 启动服务: docker-compose up -d 等待容器完全启动后,访问 http://localhost:3000 即可进入 FastGPT 管理后台。 四、向量模型与 API 密钥配置 为了实现知识库问答功能,需要配置向量嵌入模型。
- 部署 M3E 向量模型: docker run -d -p 6008:6008 --name=m3e-large-api registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
- 配置 OneAPI: 访问 http://localhost:3001 进入 OneAPI 控制台。在渠道管理中添加新渠道,类型选择 Ollama,填入 Ollama 的服务地址(通常为 http://host.docker.internal:11434)。
- 生成 API Key: 在 OneAPI 令牌管理页面创建新的 API Key,设置永不过期及无限额度。复制生成的 Key。
- 更新 FastGPT 配置: 修改 docker-compose.yml 中的环境变量 CHAT_API_KEY,填入刚才复制的 Key。 修改 config.json 文件,在 llmModels 数组中添加 Ollama 模型配置,在 vectorModels 数组中添加 M3E 向量模型配置。 重启容器使配置生效:docker-compose down && docker-compose up -d。 五、知识库构建与应用发布
- 创建知识库: 登录 FastGPT 页面,点击左侧知识库菜单,新建知识库。上传本地文档(支持 txt, pdf, md 等格式)。系统会自动进行文本分割和向量化处理。
- 创建应用: 在工作台新建简单应用,选择'知识库 + 对话引导'模板。关联刚创建的知识库。
- 调试与优化: 在聊天窗口输入问题,观察 AI 是否引用了知识库内容。若回答不准确,可调整知识库的切片大小或重新上传清洗后的数据。
- 发布接口: 点击右上角发布渠道,获取 API 访问地址和密钥。 六、API 调用示例 开发者可通过 HTTP 请求直接调用该 AI 客服接口。以下提供 Python 调用示例:
import requests
import json
url = "http://localhost:3000/api/v1/chat"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"chatId": "your_chat_id",
"question": "请问文具店有哪些商品?"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
七、常见问题排查
- 端口冲突:若 3000 或 3001 端口被占用,可在 docker-compose.yml 中修改映射端口。
- 镜像拉取失败:检查网络连接,或配置 Docker 代理。
- 模型加载慢:确保磁盘空间充足,优先使用 SSD。
- 跨域问题:若前端无法访问,需在 OneAPI 中配置允许的域名。 八、安全加固建议 生产环境部署时,切勿直接暴露 Docker 端口。建议使用 Nginx 作为反向代理,配置 HTTPS 证书。同时,限制 API Key 的访问 IP 白名单,防止未授权调用。定期备份数据库文件,以防数据丢失。 通过上述步骤,您可以成功搭建一个私有化部署的 AI 客服系统,实现数据的本地化处理,保障隐私安全。


