本地跑着 Ollama,想让模型读一篇网页或者几份 PDF 再回答问题,但又不愿意再装一套知识库系统——Page Assist 这类浏览器插件就是干这个的。它的坑不在模型本身,而在接口地址、模型分工和插件权限这几处。这篇按「装插件→连模型→喂文档→验证」的顺序讲清楚,并给出连不上、检索不到、答非所问时的排查路径。
本地跑着 Ollama,想让模型读一篇网页或者几份 PDF 再回答问题,又不愿意再装一套知识库系统——Page Assist 这类浏览器插件就是干这个的。它的坑不在模型本身,而在接口地址、模型分工和插件权限这几处。地址填错会连不上,嵌入模型没选会检索为空,站点权限没给会读进空白内容。下面按「装插件→连模型→喂文档→验证」的顺序讲清楚。
先说预期的边界:这条路适合个人、偶尔用、文档量不大的场景。文档攒到几十上百份、要多人共用、要定期更新的时候,插件的本地存储和切片能力就不够用了,该换正经方案。所以你一开始就按小规模来配,别硬撑。
第一步:插件装上先连对 Ollama,别急着问问题
装完插件第一件事不是提问,是确认它在跟谁说话。进设置里看模型提供方是不是 Ollama,如果不是就切过去。很多人装完直接问,结果插件默认走的是别家云端接口,本地模型根本没被用上,白排查半天。
地址栏填 localhost 还是 127.0.0.1 有区别,但真正容易栽的是跨机器场景:Ollama 装在另一台机器或者容器里时,这里必须换成那台机器能被浏览器访问到的地址,填本机回环地址一定连不上。改完点一次刷新,让它重新拉模型列表。
- 确认服务在跑在浏览器外先确认 Ollama 服务正在运行,命令行能正常对话。这一步不过,插件里怎么填都白搭。
- 核对监听地址默认只监听本机。跨机器访问要在服务端改成监听所有网卡,同时确认防火墙放行对应端口。
- 回插件刷新模型列表保存地址后点一次刷新。列表能出来说明链路通了,出不来就回到上一步查服务和端口。
- 过滤本地请求拦截部分浏览器扩展或安全设置会拦截本地请求,表现为一直转圈。换个干净配置试一次,能出来就说明被拦了。
第二步:对话模型和嵌入模型分开选,别用一个顶
对话模型挑你机器扛得住的那个就行,重点在嵌入模型要和它分开设。手头机器弱、内存紧的时候,对话模型可以选小一点的,嵌入模型反而要选一个向量质量还过得去的,否则网页切出来的片段召不回来。具体选哪个型号、多大体量,到 站内的模型资料库(/models) 按你自己的显卡和内存筛,别照抄别人的配置。
被问最多的「检索不到内容」,九成是嵌入模型没设,或者被设成了对话模型。对话模型不会输出向量,插件拿不到向量自然召不回片段。如果设置界面里只有一项模型可选,说明这一版把嵌入挪到了别的入口,去设置里翻一遍再动手,别急着换插件。
| 现象 | 大概率原因 | 先查哪里 |
|---|---|---|
| 能聊,但问文档没反应 | 嵌入模型没设或设成对话模型 | 嵌入模型那一栏 |
| 连模型列表都拉不出来 | 服务没跑、地址或端口不对 | Ollama 服务与端口 |
| 跨机器一直连不上 | 服务只监听本机,防火墙没放行 | 服务端监听配置 |
| 回答跑偏、引用不着原文 | 切片太大或问题措辞离原文太远 | 切片大小与提问方式 |
什么情况下不适用:如果你只是想对着单篇网页问两句、不打算攒文档,可以不配嵌入,用「把网页内容塞进上下文」的方式更省事,代价是页面太长会被截断,长文里的细节可能压根没进模型。
第三步:网页、PDF 和本地文件的进料方式不一样
对当前网页提问,靠的是插件读取当前标签页内容,这需要浏览器授予该站点权限。第一次用记得手动允许,否则表现就是「它读了,但读的是空白」。收藏进知识库的文档会落到插件自己的本地存储里,换浏览器配置、清缓存、换设备都会丢,重要资料另外留一份原始文件。
- 网页:靠站点权限读取当前标签页,装完第一次务必手动允许
- PDF:先确认是文字层还是扫描件,扫描件直接读效果很差
- 本地文件:导入前先统一命名和分类,顺序乱了召回也跟着乱
- 扫描件与图片型 PDF:先做 OCR 清洗再喂,这一步照 站内的指南中心(/guides) 里文档清洗的思路走
- 文档多了以后:先小批量验证召回,再一次性导入,别一把梭
文件多了以后插件不会自动帮你重排,文档顺序和切片方式会直接影响召回。先拿三五份文档验证检索能不能命中,再放量。切片切太碎会丢上下文,切太大又会把无关内容一起塞进模型、把答案带偏,这个平衡要靠你自己在几份真实文档上试出来。
第四步:按固定顺序验证,别一上来就问难问题
验证要分三步走,把生成链路和检索链路分开看,出问题才知道是哪一段断了。回答里没有引用来源、明显在编的时候,先怀疑检索没召回,而不是模型笨。把切片调小、把问题改得更贴近原文措辞再试一次,命中率通常就上来了。
- 先验生成链路问一个模型肯定知道的常识。答得出来说明 Ollama 对话这条路是通的,问题不在模型连接上。
- 再验检索链路挑一个只在某份文档里出现过的关键词来问。答得出来说明文档进了库、向量也召回了。
- 最后验综合能力问一个需要跨两份文档综合的问题。答得对说明切片和召回都够用,答不对就是切片或排序的问题。
- 慢的时候先量基线本地模型跑得慢是常态,长文档首字等待更久。先到 站内的接口测速页(/tools/speed-test) 量一下本机延迟基线,再判断是模型慢还是链路卡住。
什么情况下该换方案:文档量上到几十上百份、需要多人共用、需要定期更新,插件这条路就该让给正经的知识库服务。硬撑的结果是每次提问都要等很久,召回还越来越差。另外,如果你对回答的准确率要求很高、需要逐条引用出处,也别指望这类插件,它更适合轻量的个人问答。
下一步先在本地把最小链路跑通:一个对话模型加一个嵌入模型,喂一份文档,按三步验证走一遍。想选具体型号、看各家方案的差异,去站内的模型资料库和指南中心对着看,数字以当时页面为准。→常见问题
Page Assist 一定要配合 Ollama 用吗?能不能接别家的接口?
不是必须,插件本身支持若干种模型提供方,只是和 Ollama 搭配最省事,因为都在本机、不用管密钥。如果你已经有一份要付费的接口额度,接过去也能用,但要额外注意密钥保存在浏览器里这件事,公用电脑上别这么干。
为什么我导入的文档明明在里面,提问还是说找不到?
按这个顺序查:嵌入模型有没有选、嵌入有没有跑完、切片是不是太大导致关键词被切碎、你的问法和原文用词差多远。最省事的验证是直接拿文档里原封不动的一句话去问,能召回说明切片没问题,不能就先调切片。
本地跑 RAG 会不会很吃显存,小机器能不能用?
能跑,但要降预期。对话模型和嵌入模型会同时占资源,机器紧张时把嵌入换成小体量的、把上下文长度调低。具体到你那张卡能扛多少,到站内的部署测算页面按模型量一遍更靠谱,别凭感觉估。