Khoj 本地部署后如何接入 Ollama 并开始问答
Khoj 是一个可自托管的个人知识库问答工具,装好之后真正要做的不是再研究安装命令,而是把模型接上、把文档导进去、确认问答能跑通。
本文按这个顺序讲清楚配置和验证方法,适合已经用 Docker 或源码完成 Khoj 部署、但卡在“下一步怎么用”的读者。
先确认 Khoj 服务和模型服务都在线
Khoj 本身不包含大模型,它需要连接一个模型提供方。
常见组合是本地 Ollama 或云端 OpenAI 兼容接口。
动手前先确认两件事:
- Khoj 容器或进程已启动,浏览器能打开管理界面,默认地址通常是
http://服务器IP:42110。 - 如果使用 Ollama,先在宿主机执行
curl http://127.0.0.1:11434/api/tags,能返回模型列表才算服务正常。
如果 Ollama 跑在 Docker 里,要注意它默认只监听容器内部。
需要让 Khoj 容器能访问到 Ollama,通常把 Ollama 的 11434 端口映射到宿主机,并在 Khoj 配置里填写宿主机的局域网 IP,而不是 127.0.0.1。
在 Khoj 设置里填入模型地址
登录 Khoj 后进入设置页面,找到模型或 AI 提供方相关的配置项。
不同版本界面文字略有差异,但核心是两类字段:
- 本地 Ollama:填写
http://宿主机IP:11434,模型名填 Ollama 中已经拉取的名称,例如qwen2.5:7b。 - 云端接口:填写 API Base URL 和 API Key,模型名按服务商文档填写。
保存后不要急着上传文档,先回到对话页面发一句“你好”,确认模型能返回内容。
如果这里就报连接超时,优先检查防火墙是否放行 11434,以及 Khoj 容器内是否能 curl 到该地址。
上传文档并建立索引
模型连通后,进入知识库或文档管理区域上传文件。
Khoj 支持常见文本、PDF 和 Markdown 文件,上传后需要等待索引完成,状态变成已处理才可被检索。
几个容易忽略的点:
- 大文件索引时间较长,不要在上传后立刻提问,先看索引状态。
- 如果文档内容涉及扫描版 PDF,纯文本提取可能失败,需要先做 OCR。
- 索引失败时查看 Khoj 容器日志:
docker logs -f khoj,重点看嵌入模型是否加载成功。
验证问答是否真的用上了文档
索引完成后,提一个只有文档里才有的细节问题,例如某个配置项的名称或某段流程的第三步。
如果回答能引用上传内容,说明检索链路正常;
如果回答泛泛而谈,说明文档没有被检索到。
还可以在对话中开启联网搜索或指定知识库范围,观察回答来源是否变化。
验证通过后,再按需调整分块大小、检索条数等参数,不要一开始就改太多。
常见故障与避坑
- 连接 Ollama 超时:九成是地址填了
127.0.0.1。Khoj 在容器内,127.0.0.1指向容器自己,应改为宿主机局域网 IP。 - 模型列表为空:Ollama 没有拉取模型,先执行
ollama pull 模型名。 - 上传后搜不到:检查索引状态和容器日志,确认嵌入模型可用。
- 修改配置不生效:部分设置需要重启 Khoj 服务,重启后再测试一次对话。
整体流程就是先通模型、再传文档、最后用具体问题验证。
按这个顺序排查,比反复重装更省时间。