手把手教你用Ollama+FastGPT+Deepseek+TaoToken搭建个人专属AI知识库
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能实时看到检索和模型调用的全过程比在界面上猜哪里出错快得多。

相关新闻

STM32上电启动流程详解:从复位向量到C运行时的完整链条

STM32上电启动流程详解:从复位向量到C运行时的完整链条

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 1:19:16 阅读更多 →
玩转 NVIDIA 免费大模型:OpenClaw 配置实战与 TaoToken 统一接入

玩转 NVIDIA 免费大模型:OpenClaw 配置实战与 TaoToken 统一接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 1:19:16 阅读更多 →
STM32寄存器白话手册:从GPIO到串口,手把手教你底层配置与调试

STM32寄存器白话手册:从GPIO到串口,手把手教你底层配置与调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 1:19:16 阅读更多 →

最新新闻

深度学习模型集成实操指南:原理、策略与工程落地

深度学习模型集成实操指南:原理、策略与工程落地

1. 模型集成到底在解决什么问题先说个实际场景。你训了一个深度学习模型,验证集上准确率已经做到92%,再往上调结构、调学习率、加数据增强,折腾两周纹丝不动。这时候有个老选手跟你说:把三个不同seed训出来的模型平均一下&#xf…

2026/10/19 3:40:16 阅读更多 →
大语言模型实战入门:从黑盒原理到代码跑通与避坑指南

大语言模型实战入门:从黑盒原理到代码跑通与避坑指南

刚开始接触大语言模型(LLM)的开发者,普遍会卡在同一个地方:资料太多,算法原理太硬,最后连一个能跑的程序都没写出来。作为过来人,我的建议很直接——先把它当成一个黑盒用起来,再顺着…

2026/10/19 3:40:16 阅读更多 →
开源CLI驱动的Git原生代码审查工作流

开源CLI驱动的Git原生代码审查工作流

1. 项目概述:这不是一个工具,而是一套可落地的开源代码审查工作流“open-code-review”这个标题乍看像某个GitHub仓库名,但结合当前技术热点——CLI、LLM、Git、code review——它实际指向一个正在快速成型的工程实践范式:用开源、…

2026/10/19 3:40:16 阅读更多 →
论文降AI检测全指南:从原理到实操的毕业季自救手册

论文降AI检测全指南:从原理到实操的毕业季自救手册

毕业季一到,论文查重和AI检测就成了绕不开的坎。尤其这两年,不少学校在知网、维普之外,额外加了一道AIGC疑似率检测,很多人辛辛苦苦写完论文,查重过了,却卡在AI检测上,被要求“降低AI疑似度后再…

2026/10/19 3:40:16 阅读更多 →
中文本地化包实战:从拆包到替换的完整指南

中文本地化包实战:从拆包到替换的完整指南

简介:这份资源是面向Matlab用户的Kriging代理模型工具箱中文翻译版,适合从事空间数据插值、预测与优化的科研人员和学生使用。Kriging方法源于地质学,现已广泛应用于机械工程、环境科学、经济学与数据分析等领域,其核心是通过已知…

2026/10/19 3:40:16 阅读更多 →
ARM 汇编 LDR 指令与 LDR 伪指令完整详解

ARM 汇编 LDR 指令与 LDR 伪指令完整详解

一、概念总述ARM 汇编中 LDR 存在两种完全不同身份,书写格式是核心区分依据:CPU 原生硬件指令 LDR:格式含方括号 [],硬件原生支持,功能为从内存读取数据到寄存器;汇编伪指令 LDR:格式含等号 &am…

2026/10/19 3:39:15 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →