跳到主要内容
AIGCTechs
栏目导航

零代码搭一个"读文档答问题"的本地知识库 agent

进阶 约 50 分钟 · 2026/9/1 · ollama open-webui
本文目录

TL;DR

用 Open WebUI 的内置知识库功能连接本地 Ollama 模型:上传文档 → 自动切片向量化 → 提问时自动检索引用。全程零代码、零云依赖,50 分钟搭好。

准备

  • 已完成 Ollama 入门(本机有可用模型)
  • Docker(Open WebUI 最省心的装法);或用 Python pip install open-webui 亦可
  • 一批要喂的文档:PDF / Markdown / txt 均可,先从 10 份以内试起

架构一分钟

你的文档 → 切片 → 向量化(本地 embedding 模型)→ 存本地向量库
提问 → 问题向量化 → 检索最相关片段 → 塞进提示词 → 本地大模型作答(附引用)

RAG(检索增强生成)的全部秘密就是”先查资料再回答”——这里每个环节都在你电脑里。

步骤

提示词/配置

给知识库对话配一个系统提示词,回答质量立刻上一个台阶:

  • 你只能依据提供的引用内容回答;引用中没有的信息,明确说"文档中未提及";回答末尾列出引用来源编号。
  • 效果:模型不再”自由发挥”,每句话可溯源。

成品对照

实测界面截图与问答对照将由实测补充(R-004)。自检标准:问一个文档里有的问题(命中引用)+ 一个没有的问题(明确回答未提及),两者都正确才算通。

常见坑

现象原因解法
WebUI 连不上 OllamaDocker 容器访问不到宿主机启动命令必须带 --add-host=host.docker.internal:host-gateway
上传 PDF 后检索全不命中扫描件无文本层用 OCR 工具先转文字版;手写体基本无解
回答慢模型档位超出显存Ollama 选型表降档;知识库问答 7–8B 够用
引用对但答错检索命中了片段但模型没读懂换 14B 档模型,或把系统提示词里的”只能依据引用”加强
中文文档切片乱切分按 token 粗切chunk 大小设 800–1200 字符并允许重叠 100–200
文档更新了答案还是旧的向量库没重建知识库里删除该文档重新上传

下一步