本文档提供了使用 Docker 部署 Local Deep Researcher 的详细说明。它涵盖了 Docker 容器的构建和运行、环境变量的配置,以及通过 LangGraph Studio 用户界面访问容器化应用程序。
此处描述的 Docker 部署将 LangGraph Studio 和 Local Deep Researcher 应用程序容器化,但不包括 LLM 提供程序(Ollama 或 LMStudio)。有关 Docker 之外的通用部署选项,请参阅部署选项。
Docker 部署封装了 LangGraph Studio 和研究助手代码,同时依赖外部服务提供 LLM 功能和搜索功能。
来源:README.md187-215 Dockerfile1-39
在进行 Docker 部署之前,请确保您已具备:
Docker 容器需要外部访问 LLM 提供程序
http://host.docker.internal:11434)http://host.docker.internal:1234/v1)Docker 镜像由提供的 Dockerfile 构建,该文件设置了包含所有必要依赖项的 Python 环境。
构建 Docker 镜像
克隆仓库
git clone https://github.com/langchain-ai/local-deep-researcher.git
cd local-deep-researcher
构建 Docker 镜像
docker build -t local-deep-researcher .
构建镜像后,运行容器并设置适当的环境变量以配置应用程序。
docker run --rm -it -p 2024:2024 local-deep-researcher
为实现完整功能,请提供 LLM 提供程序连接、搜索 API 选择和研究配置的环境变量。
综合配置示例
docker run --rm -it -p 2024:2024 \
-e SEARCH_API="tavily" \
-e TAVILY_API_KEY="tvly-***YOUR_KEY_HERE***" \
-e LLM_PROVIDER="ollama" \
-e OLLAMA_BASE_URL="http://host.docker.internal:11434/" \
-e LOCAL_LLM="llama3.2" \
-e MAX_WEB_RESEARCH_LOOPS="3" \
local-deep-researcher
关键环境变量
| 环境变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
LLM_PROVIDER | 要使用的 LLM 提供程序 | ollama | "ollama" 或 "lmstudio" |
OLLAMA_BASE_URL | Ollama 服务的 URL | http://:11434 | "http://host.docker.internal:11434/" |
LOCAL_LLM | 要使用的模型名称 | llama3.2 | "deepseek-r1:8b" |
SEARCH_API | 要使用的搜索 API | duckduckgo | "tavily", "perplexity", "searxng" |
TAVILY_API_KEY | Tavily 的 API 密钥 | 无 | "tvly-xxxxxxxxxxxxx" |
PERPLEXITY_API_KEY | Perplexity 的 API 密钥 | 无 | "pplx-xxxxxxxxxxxxx" |
MAX_WEB_RESEARCH_LOOPS | 最大研究迭代次数 | 3 | "5" |
FETCH_FULL_PAGE | 获取完整页面内容 | false | "true" 或 "false" |
来源:README.md68-75 README.md194-205
运行 Docker 容器时,LangGraph Studio 用户界面不会自动在您的浏览器中打开。您需要手动导航到正确的 URL。
启动容器后,您将看到类似以下内容的日志消息:
2025-02-10T13:45:04.784915Z [info] 🎨 Opening Studio in your browser... [browser_opener]
URL: https://smith.langchain.com/studio/?baseUrl=http://0.0.0.0:2024
请勿使用日志中的 URL,而是通过以下地址访问用户界面:
https://smith.langchain.com/studio/thread?baseUrl=http://127.0.0.1:2024
从 Docker 部署访问 LangGraph Studio 用户界面时:
来源:README.md206-214 README.md147-156
docker run --rm -it -p 2024:2024 \
-e LLM_PROVIDER="ollama" \
-e OLLAMA_BASE_URL="http://host.docker.internal:11434/" \
-e LOCAL_LLM="llama3.2" \
local-deep-researcher
docker run --rm -it -p 2024:2024 \
-e LLM_PROVIDER="lmstudio" \
-e LMSTUDIO_BASE_URL="http://host.docker.internal:1234/v1" \
-e LOCAL_LLM="qwen_qwq-32b" \
local-deep-researcher
docker run --rm -it -p 2024:2024 \
-e SEARCH_API="duckduckgo" \
-e LLM_PROVIDER="ollama" \
-e OLLAMA_BASE_URL="http://host.docker.internal:11434/" \
local-deep-researcher
docker run --rm -it -p 2024:2024 \
-e SEARCH_API="tavily" \
-e TAVILY_API_KEY="tvly-***YOUR_KEY_HERE***" \
-e LLM_PROVIDER="ollama" \
-e OLLAMA_BASE_URL="http://host.docker.internal:11434/" \
local-deep-researcher
来源:README.md29-75 README.md194-205
常见问题和解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 无法连接到 Ollama | OLLAMA_BASE_URL 不正确 | 使用 http://host.docker.internal:11434/ 而不是 http://:11434/ |
| 用户界面未加载 | 浏览器安全设置 | 尝试使用 Firefox 或禁用广告拦截器 |
| API 密钥未被识别 | 环境变量格式不正确 | 确保 docker run 命令中反斜杠后没有空格 |
| 未找到模型 | Ollama 模型未拉取 | 在启动容器之前,在主机上运行 ollama pull <model-name> |
| 容器立即退出 | 配置问题 | 使用 docker logs <container-id> 检查日志 |
使用 Docker 部署时,请注意配置的优先级顺序
这意味着在运行容器时设置的任何环境变量将覆盖默认值,但可以通过启动后在 LangGraph Studio 用户界面中更改的设置来覆盖。