环境变量是配置 Local Deep Researcher 系统的主要方法。它们允许您在不修改代码的情况下自定义要使用的 LLM 提供商、搜索 API 设置、API 凭据以及研究行为参数。本页面记录了所有可用的环境变量、它们的默认值以及它们如何影响系统操作。
有关 LangGraph 配置设置的信息,请参阅LangGraph 配置。
在 Local Deep Researcher 中,配置值按照以下优先级顺序确定
Configuration 类中的默认值(最低优先级)这意味着环境变量将始终覆盖 LangGraph UI 中的任何设置或默认值。
来源:README.md24-35 src/ollama_deep_researcher/configuration.py58-75
下表列出了 Local Deep Researcher 系统使用的所有环境变量
| 可变 | 描述 | 默认值 | 效果 |
|---|---|---|---|
SEARCH_API | 搜索提供商选择 | duckduckgo | 确定使用哪个搜索 API(选项:duckduckgo、tavily、perplexity、searxng) |
SEARXNG_URL | SearXNG 实例 URL | http://:8888 | 如果选择 SearXNG,则设置其搜索端点 |
TAVILY_API_KEY | Tavily 的 API 密钥 | None | 使用 Tavily 搜索服务所需 |
PERPLEXITY_API_KEY | Perplexity 的 API 密钥 | None | 使用 Perplexity 搜索服务所需 |
LLM_PROVIDER | LLM 提供商选择 | ollama | 指定要使用的本地 LLM 服务(选项:ollama、lmstudio) |
LOCAL_LLM | 要使用的模型名称 | llama3.2 | 指定从 LLM 提供商加载哪个模型 |
LMSTUDIO_BASE_URL | LMStudio API 端点 | http://:1234/v1 | 如果选择 LMStudio 作为提供商,则设置其端点 |
OLLAMA_BASE_URL | Ollama API 端点 | http://:11434 | 如果选择 Ollama 作为提供商,则设置其端点 |
MAX_WEB_RESEARCH_LOOPS | 研究迭代次数 | 3 | 控制系统执行的研究循环次数 |
FETCH_FULL_PAGE | 完整页面内容检索 | false | 当为 true 时,检索完整的网页而不是摘要 |
来源:.env.example1-17 src/ollama_deep_researcher/configuration.py14-56
下图展示了环境变量如何映射到Configuration 类和相关的系统组件
来源:src/ollama_deep_researcher/configuration.py1-75 .env.example1-17
以下序列图说明了系统如何处理环境变量
来源:src/ollama_deep_researcher/configuration.py58-75 README.md129-135
配置系统的主要方法是通过项目根目录中的.env 文件
cp .env.example .env.env 文件python-dotenv 启动时会自动加载这些值。作为 Docker 容器运行时,使用-e 标志传递环境变量
docker run --rm -it -p 2024:2024 \
-e SEARCH_API="tavily" \
-e TAVILY_API_KEY="tvly-xxxxx" \
-e LLM_PROVIDER=ollama \
-e OLLAMA_BASE_URL="http://host.docker.internal:11434/" \
-e LOCAL_LLM="llama3.2" \
local-deep-researcher
LLM_PROVIDER=ollama
LOCAL_LLM=llama3.2
OLLAMA_BASE_URL=http://:11434
SEARCH_API=duckduckgo
MAX_WEB_RESEARCH_LOOPS=3
LLM_PROVIDER=lmstudio
LOCAL_LLM=qwen_qwq-32b
LMSTUDIO_BASE_URL=http://:1234/v1
SEARCH_API=tavily
TAVILY_API_KEY=tvly-xxxxx
MAX_WEB_RESEARCH_LOOPS=5
SEARCH_API=searxng
SEARXNG_URL=http://:8888
LLM_PROVIDER=ollama
LOCAL_LLM=llama3.2
FETCH_FULL_PAGE=true