侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 155 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

把家里的说明书、合同、碎片信息 变成小爱能回答的知识库

管理员
2026-06-18 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

电器说明书、保修单、Wi-Fi密码、家人随口说的安排——全部丢进Open WebUI的知识库
本地大模型检索+回答,问"投影仪在哪""滤网多久换"都能秒答

工具 Open WebUI(已有)引擎 Ollama(已有)新增 1个嵌入模型无需 额外容器

📄说明书/合同各类文档📤上传Open WebUI🧩切片+向量化嵌入模型🔍检索找到相关片段🧠LLM作答结合原文🔊小爱播报HA转发

核心原理一句话讲清楚:大模型本身不会"记住"你上传的文档,而是每次你提问时,系统先去文档库里"搜"出最相关的几段原文,把这些原文连同你的问题一起喂给大模型,让它"照着抄"来回答。所以文档质量和搜索的准确度,直接决定回答好不好——这也是为什么文档要尽量整理清晰,避免大段无关信息。

1、下载一个"嵌入模型"(Embedding Model)

这是让搜索听懂中文语义的关键,必须装

为什么需要这个?普通聊天模型(qwen、deepseek等)是用来"生成回答"的,但搜索文档片段需要另一种模型——把文字转换成一串数字(向量),这样"投影仪在哪"和"投影机放在客厅柜子里"才能被认出语义相近。这种专门干这件事的模型叫嵌入模型,中文场景推荐 bge-m3,多语言支持好、中文效果佳。

SSH登录SER8,先确认Ollama容器名(你之前应该已经知道是ollama):

复制

SSH 终端 · 拉取嵌入模型

docker exec -it ollama ollama pull bge-m3

下载完成后确认一下(应该能在列表里看到 bge-m3,和你之前的qwen2.5vl:3b、deepseek-r1:14b等并列):

复制

SSH 终端

docker exec -it ollama ollama list

📦bge-m3模型大小约1.2GB,远比聊天模型小,几分钟能下完。

2、在 Open WebUI 后台配置嵌入模型

告诉系统:"搜索时用bge-m3这个模型"

浏览器打开 Open WebUI(你的地址应该类似 http://192.168.0.188:8081),用管理员账号登录

点左下角头像管理员面板(Admin Panel)

顶部切到设置(Settings)→ 左侧菜单选文档(Documents),有的版本叫"检索"(Retrieval)

在这个页面里找到这几项并填写:

管理员面板 → 设置 → 文档(Documents / RAG)

语义向量模型引擎(Embedding Model Engine)
选择:Ollama

API 地址
http://localhost:11434(如果Open WebUI和Ollama在同一台机器/同一docker网络里,填localhost或容器名;如果不确定,直接填 http://192.168.0.188:11434 更保险)

语义向量模型(Embedding Model)
bge-m3

混合搜索(Hybrid Search)
建议打开,结合关键词+语义两种搜索方式,找文档更准

重要:如果之前已经上传过别的文档、用的是别的嵌入模型,改了嵌入模型之后需要重新导入所有文档,因为旧文档是用旧模型生成的向量,新模型认不出来。所以最好是一开始就确定好用bge-m3,再开始传文档。

填好后点页面底部的保存

3、整理你要"喂"给知识库的文档

先别急着传,花5分钟分分类,后面省心

支持的格式:PDF、Word(doc/docx)、TXT、Markdown 都可以直接传,拍照的纸质文档建议先转成PDF或者直接打字整理成txt(手写体OCR效果不稳定)。

建议按这几类整理(不强制,但分类清楚检索更准):

📺电器说明书
(投影仪/空调/洗碗机)

🧾保修凭证
购买日期/保修期

📶网络信息
WiFi密码/路由器

🏠装修合同
建材清单/联系方式

📅家庭安排
临时事项备忘

对于"家人随口说的事"(比如"下周三阿姨要来"),可以建一个简单的txt文件,类似日记一样持续追加:

复制

示例:家庭备忘.txt

2026-06-18: 下周三(6月24日)阿姨要来打扫卫生
2026-06-15: 投影仪遥控器放在电视柜下方第二层抽屉
2026-06-10: 客厅空调滤网上次清洗时间是5月初,建议每3个月清洗一次
2026-06-01: 装修师傅联系方式:张工 138xxxxxxxx,负责水电部分

💡这种"备忘录"文件可以定期更新重新上传覆盖,是最灵活、最像"家庭记忆"的部分,后面甚至可以接入语音让家人随口说就自动记进去(进阶玩法,今天先手动维护)。

4、创建知识库并上传文档

在Open WebUI里建一个"家庭知识库"

回到 Open WebUI 主界面(不是管理员面板),点左侧菜单工作空间(Workspace)

切到知识库(Knowledge)标签 → 点+ 创建知识库

工作空间 → 知识库 → 创建知识库

名称:家庭知识库

描述:电器说明书、保修单、合同、家庭日常事项

创建后进入这个知识库,点上传文件,把第3步整理好的文档全部拖进去(支持批量多选)。

家庭知识库 · 已上传文档

投影仪说明书.pdf — 已处理

空调使用手册.pdf — 已处理

装修合同.docx — 已处理

家庭备忘.txt — 已处理

每个文档上传后会自动在后台"切片+向量化",文档越大、越多,处理时间越长。PDF如果是扫描版图片(没有可选中的文字层),bge-m3无法直接理解图片内容,需要先用OCR工具转成文字版PDF,否则知识库里等于没有这份文档的有效内容。

5、测试问答效果

先在网页里验证,再接小爱

回到主聊天界面,选一个聊天模型(推荐用 qwen3:14bdeepseek-r1:14b,纯文本任务这两个比视觉模型更合适)

在输入框里先打 # 号,会弹出知识库列表,选择家庭知识库,然后继续打问题:

✅ 测试对话示例

#家庭知识库 投影仪的遥控器放在哪?

根据你的家庭备忘记录,投影仪遥控器放在电视柜下方第二层抽屉。

#家庭知识库 空调滤网多久该换一次?

根据空调使用手册,建议滤网每3个月清洗一次;你上次清洗记录是5月初,下次清洗时间大约在8月初。

💡如果想让某个模型默认就带着家庭知识库回答(不用每次手动打#号),可以在工作空间 → 模型里新建一个自定义模型,绑定底层模型(如deepseek-r1:14b)+ 默认挂载家庭知识库,这样以后选这个自定义模型聊天,自动就是带知识库的。

如果回答驴唇不对马嘴、或者说"知识库中没有相关信息",先检查:

  • 文档是否真的处理完成了(状态显示已处理,不是处理中或失败)

  • 问题里有没有打#选中知识库(容易漏掉这步)

  • 文档内容里是否真的包含这个信息(比如随口的事如果没写进备忘录,自然查不到)

进阶:接入HA + 小爱音箱

6、让小爱音箱能问知识库

通过HA转发问题给Open WebUI的API

思路:小爱音箱本身不懂RAG,但HA可以充当"中间人"——接收小爱的语音指令(通过米家/小爱接入HA的语音助手桥接),把问题转发给Open WebUI的API(带#知识库),拿到回答后再让小爱用TTS念出来。

先在Open WebUI生成一个API Key:点头像 → 设置 → 账户 → API Keys,生成一个保存好。

在HA里配置一个rest_command(编辑 configuration.yaml):

🏠 configuration.yaml · 新增 rest_command

复制

rest_command:
  ask_home_knowledge:
    url: "http://192.168.0.188:8081/api/chat/completions"
    method: POST
    headers:
      Authorization: "Bearer 你的API_KEY"
      Content-Type: "application/json"
    payload: '{"model": "deepseek-r1:14b", "messages": [{"role": "user", "content": "{{ question }}"}]}'

💡这只是基础框架,实际接小爱语音的部分依赖你具体用的桥接方式(小爱接入HA的conversation agent,或者通过米家自动化转发文本),如果你想做这一步,告诉我你现有的语音助手桥接方案,我再针对性给配置。今天建议先把第1-5步在网页里跑通、效果满意后再做语音这层。

?常见问题

遇到问题先看这里

  • 上传文档后一直显示"处理中"不变
    大概率是嵌入模型配置没保存成功,或者bge-m3没真正下载完。回到第1步用docker exec -it ollama ollama list确认模型存在,再检查第2步的API地址填的对不对。

  • 回答内容是英文,或者文不对题
    检查选的聊天模型是不是中文能力强的(deepseek-r1、qwen3都可以),也可能是检索到的片段本身就不相关,试试把问题问得更具体,包含文档里实际出现过的关键词。

  • PDF传上去后查不到内容
    很可能是扫描版PDF(图片型,没有文字层)。可以用免费工具(如Adobe在线OCR、或本地工具如ocrmypdf)先转换成可选中文字

0

评论区