
人工智能AI Agent本地部署AI 应用【免费下载链接】LLocalSearchLLocalSearch is a completely locally running search aggregator using LLM Agents. The user can ask a question and the system will use a chain of LLMs to find the answer. The user can see the progress of the agents and the final answer. No OpenAI or Google API keys are needed.项目地址https://gitcode.com/GitHub_Trending/ll/LLocalSearch点击查看免费下载本篇指南以仓库根目录下的 OLLAMA_GUIDE.md 为骨架结合 docker-compose.yaml、env-example 与 backend/utils/llm_backends.go 等源码完整讲解 LLocalSearch 如何通过OLLAMA_HOST环境变量连接本地 Ollama 实例。读完本文你将掌握宿主机、同机 Docker 容器、远程服务器三种部署场景下的精确配置方法并理解该变量在后端调用链中的真实作用与常见排障思路。LLocalSearch 是一个完全本地运行的搜索聚合器它由 LLM Agent 驱动用户提问后系统会用一条 LLM 链自主选择工具联网搜索、网页抓取、向量库检索等来寻找答案全程无需 OpenAI 或 Google 的 API Key。而这一切的大脑默认来自 Ollama——因此让后端容器正确连接到你的 Ollama 实例是整个项目跑通的第一步也是最常踩坑的一步。为什么只需要一个环境变量LLocalSearch 的后端是 Go 编写的它通过github.com/tmc/langchaingo的 ollama 客户端与 Ollama 通信。连接地址不是写死的而是从环境变量OLLAMA_HOST读取// backend/utils/llm_backends.go func NewOllama(modelName string, contextSize int) (*ollama.LLM, error) { return ollama.New(ollama.WithModel(modelName), ollama.WithServerURL(os.Getenv(OLLAMA_HOST)), // 读取 OLLAMA_HOST ollama.WithRunnerNumCtx(contextSize), ) }在 docker-compose.yaml 中该变量的默认值被定义为- OLLAMA_HOST${OLLAMA_HOST:-host.docker.internal:11434}含义是如果在项目根目录的.env文件中显式设置了OLLAMA_HOST则使用.env中的值否则回退到默认值host.docker.internal:11434。开发版 docker-compose.dev.yaml 采用同样的写法。11434是 Ollama 的默认 HTTP API 端口host.docker.internal是 Docker 提供给容器的特殊主机名用于指代宿主机。整个集成工作的核心就是把OLLAMA_HOST指向一个从后端容器内可达的 Ollama 地址。根据 Ollama 与 LLocalSearch 的相对位置官方文档给出了三种典型场景。场景一Ollama 直接跑在宿主机上无 Docker操作系统为 Linux 或 macOS这是最常见的个人使用场景Ollama 以原生方式安装在本机而 LLocalSearch 通过 docker-compose 以容器方式运行。操作步骤确保 Ollama 监听所有网络接口。默认情况下 Ollama 只监听127.0.0.1仅本机回环地址容器里的进程无法访问。需要让 Ollama 监听0.0.0.0或者至少监听 docker 网络所在接口。在 Linux 上通常通过设置 Ollama 服务的环境变量OLLAMA_HOST0.0.0.0来实现macOS 上则是在运行 Ollama 时指定监听地址。在项目根目录创建/编辑.env文件。如果不存在该文件直接新建一个仓库提供了 env-example 作为模板可复制为.env再修改。写入以下配置OLLAMA_HOSThost.docker.internal:11434完成后重启容器即可生效。之后可以在 docker-compose.yaml 的extra_hosts配置中看到项目自带的关键兜底机制extra_hosts: - host.docker.internal:host-gateway这意味着即使你的 Docker 平台如较老的 Linux Docker Engine默认不提供host.docker.internal解析docker-compose 也会通过host-gateway把该主机名显式映射到宿主机的网关地址保证容器内能访问宿主机上的 Ollama。[!WARNING] 来自原文档的实测提醒 部分 Linux 用户反馈该方案要求安装 Docker Desktop 才能正常工作。OLLAMA_GUIDE.md 的作者声明在其 NixOS 和 Ubuntu 22.04 测试机上均无此问题如遇到同样情况可在仓库中反馈。场景二Ollama 直接跑在宿主机上操作系统为 Windows原文档对 Windows 的处理非常务实——OLLAMA_GUIDE.md 原文为Try the above and tell me if it worked, I will update these docs.即先按场景一的方法尝试OLLAMA_HOSThost.docker.internal:11434如果成功即可继续使用Windows 用户通常需要留意防火墙是否放行 11434 端口以及 Docker DesktopWindows 版自带host.docker.internal解析是否处于运行状态。官方文档明确表示会根据反馈持续更新这部分说明建议以仓库最新文档为准。场景三Ollama 运行在与 LLocalSearch 同一台机器的 Docker 容器中如果你的 Ollama 本身也跑在 Docker 里并且与 LLocalSearch 位于同一台物理机那么确保 Ollama 容器对外暴露 11434 端口即 Docker 运行参数中包含-p 11434:11434之类的端口映射。同样在.env中配置OLLAMA_HOSThost.docker.internal:11434由于两个容器都在宿主机上通过host.docker.internal先回到宿主机、再经端口映射进入 Ollama 容器链路是通的。如果 Ollama 与 LLocalSearch 跑在同一个自定义 docker 网络中也可以直接用 Ollama 容器的服务名加端口如OLLAMA_HOSTollama:11434作为更直接的替代方案——这取决于你的网络编排方式。场景四Ollama 运行在远程服务器或其他独立机器上这是多机部署场景例如一台带 GPU 的专用推理机项目源码的示例链中就有http://gpu-ubuntu:11434这样的写法见 backend/lschains/source_chain_example.go确保 Ollama 对容器可达包括监听0.0.0.0、防火墙放行 11434 端口、网络路由正确等。在.env中把地址换成服务器的 IPOLLAMA_HOSTollama-server-ip:11434其中ollama-server-ip替换为实际 IP 或主机名。仓库的 env-example 正是这种写法的一个实例OLLAMA_HOSThttp://192.168.0.109:11434格式提醒OLLAMA_GUIDE.md 中的写法不带协议前缀host.docker.internal:11434而 env-example 中带http://前缀。langchaingo 的 ollama 客户端对两种写法均有较好的容错但为了减少歧义建议保持IP/域名:端口的核心格式一致按仓库模板http://或纯地址任一风格统一填写即可。三种场景速查表部署场景Ollama 所在位置.env中的OLLAMA_HOST前提条件宿主机原生安装Linux/macOS宿主机host.docker.internal:11434Ollama 监听0.0.0.0Linux 下可能需要 Docker Desktop宿主机原生安装Windows宿主机host.docker.internal:11434按场景一尝试注意防火墙与 Docker Desktop 状态同机 Docker 容器同一台机器的容器host.docker.internal:11434Ollama 容器暴露 11434 端口远程服务器其他机器ollama-server-ip:11434Ollama 对容器网络可达监听、防火墙、路由无论哪种场景配置都落在项目根目录的.env文件中不配置时docker-compose.yaml 的默认值host.docker.internal:11434会作为兜底生效。源码级验证OLLAMA_HOST 如何进入 Agent 调用链理解了配置位置后再看它如何在运行时被消费能帮你更准确地排障。核心调用链集中在 backend/utils/llm_backends.goNewOllama第 22-28 行读取OLLAMA_HOST构造 ollama 客户端同时设置模型名与上下文长度WithRunnerNumCtxAgent 主链使用8*1024的上下文窗口embedding 模型同样为 8192见 llm_backends.go。CheckIfModelExistsOrPull第 34-42 行Agent 启动前会校验模型是否存在不存在则自动pull进度通过slog以百分比形式输出。GetOllamaModelList第 44-58 行调用 Ollama 的ListAPI 枚举模型后端接口 backend/apiServer.go 正是借助它向前端返回可选模型列表。在 backend/agentChain.go 中可以看到每次问答都会先校验两个模型——EmbeddingsModel默认nomic-embed-text:v1.5来自 env-example与用户选择的主模型——都就绪后才通过NewOllama创建 LLM 实例。这意味着OLLAMA_HOST配错时最典型的现象是拉取模型失败或无法连接服务器因为模型校验、列表查询、推理请求全部走同一个地址。后端日志中出现的Model xxx does not exist and could not be pulled错误优先排查的不是模型名而是OLLAMA_HOST指向的服务器是否可达。快速自测命令在宿主机执行模拟容器视角# 宿主机上确认 Ollama 已监听 curl http://127.0.0.1:11434/api/tags # 容器内确认能解析并访问宿主机docker compose exec backend sh 进入容器后执行 curl http://host.docker.internal:11434/api/tags如果第一条返回模型 JSON 而第二条超时/拒绝问题就在 Ollama 的监听地址或防火墙若两条都失败则先检查 Ollama 服务本身是否启动。常见问题排查清单连接超时先检查 Ollama 是否监听0.0.0.0而非仅127.0.0.1再确认防火墙/安全组放行 11434。host.docker.internal解析失败确认 docker-compose 版本支持extra_hosts的host-gateway语法仓库配置见 docker-compose.yamlLinux 老版本 Docker 用户考虑升级 Docker 或改用宿主机局域网 IP 直接连接。端口被占用/未暴露容器内 Ollama 场景确认端口映射11434:11434存在。.env未生效确认文件位于项目根目录、键名严格为OLLAMA_HOST并在修改后重建容器docker-compose up -d会重新读取环境变量。模型列表为空OLLAMA_HOST指向的实例上确实没有拉取任何模型时后端会尝试自动 pull若 pull 失败多半仍是网络可达性问题。结语LLocalSearch 与 Ollama 的集成并不复杂全部精华都浓缩在OLLAMA_HOST一个环境变量里——它决定了后端 Agent 链在 backend/agentChain.go 中创建 LLM 实例、拉取模型、执行工具调用的目标服务器。对照 OLLAMA_GUIDE.md 的三种部署场景宿主机、同机容器、远程服务器在.env中填入正确地址配合docker-compose up -d重启再结合后端日志与curl /api/tags自测即可快速定位绝大多数连接问题。更多项目级配置MAX_ITERATIONS、CHROMA_DB_URL、SEARXNG_DOMAIN等可参考 env-example完整安装流程见 README.md。赞分享人工智能AI Agent本地部署AI 应用【免费下载链接】LLocalSearchLLocalSearch is a completely locally running search aggregator using LLM Agents. The user can ask a question and the system will use a chain of LLMs to find the answer. The user can see the progress of the agents and the final answer. No OpenAI or Google API keys are needed.项目地址https://gitcode.com/GitHub_Trending/ll/LLocalSearch点击查看免费下载相关推荐TransformerLab API Docker 部署全指南CPU、NVIDIA GPU 与 AMD GPU 三种场景详解TransformerLab API Docker 部署全指南CPU、NVIDIA GPU 与 AMD GPU 三种场景详解 导读 TransformerLa人工智能大模型微调模型评测模型推理服务LLMOps本地部署后端CLIHyperDX 部署指南三种部署模式与生产环境配置详解HyperDX 部署指南三种部署模式与生产环境配置详解 HyperDX 是一个开源的可观测性平台帮助工程师快速定位生产环境故障——它让你可以在任意 Clic可观测性云原生运维Apache Flink on YARN 部署实战Session、Per-Job、Application 三种模式与配置详解Apache Flink on YARN 部署实战Session、Per Job、Application 三种模式与配置详解 Flink 可以借助 Apach后端大数据流处理批处理上一篇lego 使用 GoDaddy DNS 提供商签发证书配置、原理与实战指南下一篇交出主页链接抖音无水印批量下载自动归档3 步实操指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考