1. 为什么要在本地折腾一套 Ollama FastGPT Deepseek 知识库先说清楚这套东西是什么、能做什么、适合谁。Ollama 是一个本地大模型运行框架负责把 Deepseek 这类模型跑在你自己的机器上FastGPT 是一套知识库编排系统负责把文档切片、向量化、检索、拼装上下文再交给模型回答Deepseek 是具体干活的语言模型。三者串起来你就得到一个完全跑在自己电脑上的私有 AI 知识库——上传的合同、笔记、产品手册不会离开你的硬盘。适合谁适合手上有敏感资料不想上传公有云的开发者、想研究 RAG 检索增强全链路的同学、以及预算有限但想拥有一个能问答自己文档的 AI 助手的人。不适合谁不适合指望开箱即用、不想碰命令行的人这套链路至少要你能接受 Docker 和配置文件。我实测下来整条链路最容易卡住的不是模型本身而是三个地方Ollama 在 Windows 上跑、FastGPT 在 WSL 里跑两者网络怎么互通FastGPT 的模型配置里 Base URL 和 Key 填什么以及知识库检索时索引模型和语言模型必须分开配。这篇就按“能跟做”的标准把每一步的命令、配置、验证动作都写全。另外补一句关于模型接入的选择。本地 Ollama 跑 Deepseek 适合离线和小规模但如果你想让知识库在回答质量上再上一个台阶或者本地机器显存不够跑大参数模型可以给 FastGPT 配一个云端模型通道作为补充。TaoToken 提供统一的 API Key 和兼容 OpenAI 协议的接口把它接进 FastGPT 的模型提供商里就能在本地模型和云端模型之间切换不用改业务代码。下面会给出具体接入步骤。2. 前置准备Ollama 安装、Deepseek 拉取与 TaoToken 统一 Key 获取这一章把地基打好。顺序是装 Ollama → 拉 Deepseek 和嵌入模型 → 准备 WSL Docker → 拿一个 TaoToken 的 Key 备用。2.1 安装 Ollama 并拉取 Deepseek 模型去 Ollama 官网下载对应系统的安装包Windows 直接默认安装即可。安装完成后打开终端CMD 或 PowerShell 都行验证一下ollama -v看到版本号就说明装好了。接着拉取 Deepseek 模型。参数量越小对显存要求越低1.5b 适合先跑通链路7b 适合日常用机器够猛可以上更大的ollama pull deepseek-r1:1.5b拉完后测试模型能不能正常对话ollama run deepseek-r1:1.5b 请问你是谁能返回内容就说明推理链路通了。接着拉嵌入模型知识库做向量检索必须用它ollama pull nomic-embed-text最后确认一下本地都有哪些模型ollama list你应该能看到deepseek-r1:1.5b和nomic-embed-text两行。记住 Ollama 默认监听11434端口后面 FastGPT 要连它。2.2 准备 WSL Docker 环境FastGPT 官方建议跑在 Linux 文件系统里Windows 用户用 WSL 最省事。打开 Microsoft Store 搜 Ubuntu装 22.04 LTS装完设置用户名和密码。进入 Ubuntu 终端后装 Dockercurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun sudo systemctl enable --now docker再装 docker-composecurl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose验证docker -v docker-compose -v如果报docker-compose could not be found in this WSL 2 distro去 Docker Desktop 设置里打开 WSL 2 集成把 Ubuntu 勾上。2.3 获取 TaoToken 统一 Key本地模型跑通后建议再配一个云端通道兜底。打开 TaoToken 控制台创建 API Key地址是 https://taotoken.net/console 。创建完复制 Key后面在 FastGPT 的模型提供商里会用到。它的接口兼容 OpenAI 协议Base URL 填 https://taotoken.net/api 模型 ID 按你需要的填比如deepseek-chat之类。这样本地 Ollama 和云端模型可以共存FastGPT 里按应用分别选。3. 可复制配置docker-compose.yml 与 FastGPT 模型接入片段这一章是全文最核心的部分所有配置都能直接复制。先建目录、下配置文件再改关键项最后启动。3.1 下载 FastGPT 配置文件在 Ubuntu 终端里执行mkdir fastgpt cd fastgpt curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.ymlconfig.json是 FastGPT 的核心配置docker-compose.yml定义容器运行环境。WSL 的文件系统在 Windows 里可以直接访问路径类似\\wsl.localhost\Ubuntu-22.04\home\你的用户名\fastgpt用记事本或 VS Code 打开改都行。3.2 修改 docker-compose.yml 关键项用 vim 或 VS Code 打开docker-compose.yml找到这几处改掉environment: - FE_DOMAINhttp://localhost:3000 - OPENAI_BASE_URLhttp://host.docker.internal:3001/v1 - CHAT_API_KEY你的OneAPI令牌FE_DOMAIN是前端访问地址OPENAI_BASE_URL指向 OneAPI 的地址FastGPT 通过 OneAPI 统一管理模型渠道CHAT_API_KEY填后面在 OneAPI 里生成的令牌。host.docker.internal是容器访问宿主机的固定域名Ollama 跑在宿主机上所以 OneAPI 里配 Ollama 渠道时代理地址要写http://host.docker.internal:11434。3.3 启动容器并配置 OneAPI 渠道启动docker-compose up -d启动后打开http://localhost:3001/进 OneAPI默认账号密码root/123456登录后先改密码。然后添加渠道渠道类型选 Ollama名称随便写模型手动输入deepseek-r1:1.5b密钥随便填个字符串代理地址填http://host.docker.internal:11434。提交后点“测试”显示成功就对了。同样方式再加一个嵌入模型渠道模型填nomic-embed-text。接着去“令牌”菜单新建令牌关联模型留空过期时间选永不过期额度设无限提交后复制生成的令牌值填回docker-compose.yml的CHAT_API_KEY然后重启容器docker-compose down docker-compose up -d3.4 FastGPT 模型提供商配置片段登录 FastGPThttp://localhost:3000默认root/1234进工作台 → 账号 → 模型提供商 → 模型配置 → 新增模型。语言模型配置{ modelId: deepseek-r1:1.5b, provider: Ollama, alias: ollama-deepseek }索引模型配置{ modelId: nomic-embed-text, provider: Ollama, alias: nomic-embed }注意modelId必须和 OneAPI 里填的模型 ID 完全一致否则测试会失败。两个模型都点“测试”显示成功即可。如果你要接 TaoToken 的云端模型在模型提供商里新增一个 OpenAI 兼容渠道三件套这样填Base URL 填https://taotoken.net/apiKey 填你在控制台创建的 API KeyModel ID 填对应模型名。填完同样点测试验证连通性。4. 验证请求从模型对话到知识库问答连通性检查配置完不代表能用必须逐层验证。这一章给出每一步的验证动作和预期结果。4.1 验证 Ollama 本地推理curl http://localhost:11434/api/generate -d { model: deepseek-r1:1.5b, prompt: 用一句话解释什么是向量数据库, stream: false }返回 JSON 里有response字段且内容合理说明 Ollama 推理正常。4.2 验证 OneAPI 渠道转发在 OneAPI 渠道页面点“测试”或者直接用 curl 打 OneAPI 的接口curl http://localhost:3001/v1/chat/completions \ -H Authorization: Bearer 你的令牌 \ -H Content-Type: application/json \ -d {model:deepseek-r1:1.5b,messages:[{role:user,content:你好}]}能返回choices数组就说明 OneAPI 到 Ollama 的转发链路通了。4.3 验证 FastGPT 应用对话在工作台新建一个简易应用AI 模型选ollama-deepseek在右侧聊天区输入“请问你是谁”能返回答案说明 FastGPT 到模型的链路通了。4.4 验证知识库检索连通性新建知识库索引模型选nomic-embed文本理解模型选ollama-deepseek。上传一个 CSV 或 TXT 文件等页面显示“已就绪”。回到应用设置里关联这个知识库然后问一个只有你文档里才有的问题。预期结果是系统返回答案并且下方显示引用的文档片段。如果只返回答案但没有引用说明检索没生效回去检查索引模型是否配置正确。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth这一章按真实报错来遇到问题直接对号入座。401 Unauthorized最常见。检查CHAT_API_KEY是否和 OneAPI 里生成的令牌一致注意别把令牌前后的空格复制进去。如果用的是 TaoToken 云端通道检查 API Key 是否有效、是否填到了正确的渠道里。local proxy failed / connection refused容器连不上宿主机。确认 OneAPI 里 Ollama 渠道的代理地址是http://host.docker.internal:11434而不是localhost:11434。容器里的 localhost 指向容器自己不是你的 Windows 宿主机。reading choices 报错 / 返回体解析失败通常是模型返回格式不对。检查 OneAPI 渠道里模型 ID 是否和 FastGPT 里填的modelId完全一致大小写、冒号都不能差。另外确认OPENAI_BASE_URL结尾带了/v1。OAuth 相关报错FastGPT 某些版本会校验登录态如果反复跳登录清一下浏览器缓存或者确认FE_DOMAIN和实际访问地址一致。用localhost访问就填http://localhost:3000别填 IP。docker-compose 命令找不到WSL 2 集成没开去 Docker Desktop 设置里勾上对应发行版。知识库上传后一直“处理中”嵌入模型渠道没配好或者nomic-embed-text没拉下来。回 Ollama 执行ollama list确认模型存在再去 OneAPI 测试嵌入渠道。6. 长期编码与 Agent 场景把统一 Key 用顺手的几个建议链路跑通后日常使用还有几个能提升体验的点。第一模型分级。本地deepseek-r1:1.5b响应快但能力有限适合做初筛和简单问答复杂问题可以在 FastGPT 应用里切换到 TaoToken 的云端模型回答质量明显更好。两套模型共存在模型提供商里按应用选即可不用改配置。第二知识库切片策略。默认的直接分块对结构化文档够用但如果是问答对形式的 CSV建议用表格数据集模式检索命中率更高。切片大小别设太大否则上下文塞不下模型会丢信息。第三如果你要把这套能力接到编码工具或 Agent 里长期用建议单独规划一个 Coding Plan把模型调用额度和知识库应用分开管理避免调试时把额度跑光。TaoToken 的 coding-plan 页面有具体方案地址是 https://taotoken.net/coding-plan 。第四备份。FastGPT 的数据在 Docker 卷里docker-compose down不会删数据但down -v会。定期把知识库文件和应用配置导出别等重装才后悔。最后给一个实用技巧调试阶段把 FastGPT 的日志打开docker-compose logs -f fastgpt能实时看到检索和模型调用的全过程比在界面上猜哪里出错快得多。