AnythingLLM 使用教程:连接 Ollama 与文档问答配置
AnythingLLM 是一个可以把本地文档变成可对话知识库的工具,支持接入 Ollama 等本地模型。
装好之后真正要做的两件事是:在设置里让 AnythingLLM 连上模型服务,然后创建工作区上传文档并验证问答。
下面按这个顺序说明操作和排错。
先确认 Ollama 服务能被访问
AnythingLLM 本身不运行模型,它需要调用 Ollama 的 API。
如果 Ollama 和 AnythingLLM 装在同一台机器,默认地址通常是 http://localhost:11434;
如果 Ollama 在另一台服务器或容器里,就要换成实际 IP 或容器网络地址。
先在 AnythingLLM 所在环境测试连通性:
curl http://localhost:11434/api/tags
返回 JSON 且包含模型列表,说明 Ollama 正常。
如果连接被拒绝,检查 Ollama 是否启动:
systemctl status ollama
如果 Ollama 运行在 Docker 中,确认端口映射存在,例如 -p 11434:11434。
跨机器访问时还要放行防火墙对应端口,不要只改 AnythingLLM 配置而忽略网络层。
在 AnythingLLM 设置里填入模型地址
打开 AnythingLLM 网页后台,进入设置中的模型提供方页面,选择 Ollama 作为 LLM 提供方。
需要填写的核心项包括:
- Ollama 基础地址:本机填
http://localhost:11434,远程填http://服务器IP:11434。 - 对话模型:从下拉列表选择已下载的模型,例如
llama3、qwen2等。 - 嵌入模型:文档问答需要嵌入模型把文本转成向量,同样选择 Ollama 中已下载的模型,例如
nomic-embed-text。
如果模型下拉列表为空,先在 Ollama 中拉取模型:
ollama pull llama3
ollama pull nomic-embed-text
拉取完成后刷新 AnythingLLM 设置页,模型列表应能出现。
保存设置后,建议在设置页的模型测试区域发一条短消息,确认能收到回复再继续。
创建工作区并上传文档
回到主界面,新建一个工作区,命名后进入该工作区。
点击上传文档按钮,支持 PDF、TXT、Markdown 等常见格式。
上传后 AnythingLLM 会调用嵌入模型对文档分块并写入向量库。
上传完成后观察文档状态,确认显示为已嵌入或可查询。
如果一直停在处理中,通常是嵌入模型没有配置成功,回到上一步检查嵌入模型选择和 Ollama 日志:
journalctl -u ollama -n 50
验证文档问答是否生效
在工作区对话框里提问一个只有上传文档中才有的细节,例如文档里写到的某个参数值或流程步骤。
如果回答引用了文档内容,说明文档问答链路正常。
如果回答与文档无关,检查两个地方:一是工作区是否选中了正确的文档;
二是对话模式是否启用了文档检索。
AnythingLLM 的工作区设置里可以调整检索条数和相似度阈值,文档内容较多时适当增加检索条数有助于命中。
常见问题排查
保存设置时提示连接失败:
优先用 curl 在 AnythingLLM 容器内测试 Ollama 地址,
容器内 localhost 指向容器自身,
远程 Ollama 必须写宿主机 IP 或服务名。
对话有回复但文档问答不生效:确认嵌入模型与对话模型是分开配置的,只配对话模型不会自动启用文档检索。
上传大文档后处理很慢:嵌入过程依赖模型推理速度,CPU 环境处理大 PDF 会明显偏慢,可以先用小文档验证流程,再逐步增加文档量。
收尾检查
完成以上步骤后,建议按顺序复查:Ollama 的 curl 接口可访问、AnythingLLM 中对话模型和嵌入模型均已选择、工作区文档状态正常、提问能返回文档相关内容。
如果其中一步失败,回到对应小节检查地址、模型名和日志,通常能定位到具体原因。