本文档涵盖了 Local Deep Researcher 系统的高级配置选项、优化技术和自定义场景。有关基本设置和入门信息,请参阅基本用法指南。
Local Deep Researcher 系统提供了丰富的配置选项,可让您微调其行为、性能和研究能力。
系统在确定使用哪个配置值时遵循特定的优先级顺序:
来源:README.md129-135 src/ollama_deep_researcher/configuration.py58-76
下表详细列出了您可以配置的所有环境变量,以自定义系统行为
| 环境变量 | 目的 | 默认值 | 备注 |
|---|---|---|---|
SEARCH_API | 搜索提供商选择 | duckduckgo | 选项:duckduckgo, tavily, perplexity, searxng |
SEARXNG_URL | 自定义 SearXNG 实例 | http://:8888 | 仅与 SearXNG 搜索一起使用 |
TAVILY_API_KEY | Tavily API 凭据 | - | Tavily 搜索所需 |
PERPLEXITY_API_KEY | Perplexity API 凭据 | - | Perplexity 搜索所需 |
LLM_PROVIDER | LLM 提供商选择 | ollama | 选项:ollama, lmstudio |
LOCAL_LLM | 要使用的模型名称 | llama3.2 | 模型必须在所选提供商中可用 |
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 | 完整内容检索 | 否 | True = 更全面的分析 |
STRIP_THINKING_TOKENS | 删除思考标记 | True | 控制输出格式 |
来源:.env.example1-17 src/ollama_deep_researcher/configuration.py14-56
MAX_WEB_RESEARCH_LOOPS 参数直接影响研究深度和质量
来源:src/ollama_deep_researcher/configuration.py17-21 README.md165-166
将 FETCH_FULL_PAGE=True 设置为 true 可实现更全面的分析
来源:.env.example17 src/ollama_deep_researcher/configuration.py37-41
系统支持多个搜索提供商,每个都有不同的功能
来源:src/ollama_deep_researcher/configuration.py8-12 README.md66-75
| 搜索提供商 | 优点 | 配置说明 |
|---|---|---|
| DuckDuckGo | 无需 API 密钥,开箱即用 | 设置 FETCH_FULL_PAGE=True 以获得更好结果 |
| Tavily | AI 驱动搜索,相关性高 | 需要有效的 TAVILY_API_KEY |
| Perplexity | 高级 AI 摘要和分析 | 需要有效的 PERPLEXITY_API_KEY |
| SearXNG | 注重隐私的自托管选项 | 使用 SEARXNG_URL 配置自定义实例 |
系统可以使用 Ollama 或 LMStudio 作为 LLM 提供商
来源:src/ollama_deep_researcher/configuration.py27-31 README.md29-64
并非所有模型都能与系统的要求完美匹配
| 模型 | JSON 输出支持 | 研究性能 | 备注 |
|---|---|---|---|
| DeepSeek R1 (7B) | 有限 | 良好 | 可能会触发回退机制 |
| DeepSeek R1 (1.5B) | 有限 | 基础 | 可能难以处理复杂主题 |
| Llama 3.2 | 良好 | 优秀 | 可靠的 JSON 输出,良好的推理能力 |
| Qwen QWQ (32B) | 良好 | 优秀 | 研究任务能力强 |
对于生产或隔离环境,您可以使用 Docker 部署系统
在 Docker 中运行时,您需要正确配置与 Ollama 的连接
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" \
local-deep-researcher
要访问 LangGraph Studio UI,请使用:https://smith.langchain.com/studio/thread?baseUrl=http://127.0.0.1:2024
研究过程会生成详细的输出,可通过 LangGraph Studio 访问
| 浏览器 | 兼容性 | 备注 |
|---|---|---|
| Firefox | 最佳 | 推荐以获得最佳体验 |
| Safari | 有限 | 可能因混合内容显示安全警告 |
| Chrome/Edge | 良好 | 可能需要禁用广告拦截器 |
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| JSON 解析错误 | 模型难以生成结构化输出 | 尝试不同的模型(推荐 Llama 3.2) |
| 搜索 API 错误 | API 密钥无效或达到速率限制 | 检查 API 密钥并考虑切换提供商 |
| 性能缓慢 | 模型过大或启用了完整页面检索 | 使用更小的模型或禁用 FETCH_FULL_PAGE |
| 浏览器安全警告 | 混合内容(HTTPS/HTTP) | 使用 Firefox 或添加安全例外 |
此项目有一个 TypeScript 版本
有关高级部署选项以及与其他 LangChain 组件的集成,请参阅 LangChain Academy 的模块 6
为了从系统中获得最佳性能,请考虑以下优化策略
| 目标 | 技术 | 配置 |
|---|---|---|
| 更快速的研究 | 使用更小的模型 | 将 LOCAL_LLM 设置为更小的模型(例如,“deepseek-r1:1.5b”) |
| 更高质量 | 增加研究循环次数 | 将 MAX_WEB_RESEARCH_LOOPS 设置为更高的值(5-8) |
| 平衡方法 | 中等大小模型,3-5 个循环 | 使用“llama3.2”并采用默认循环次数 |
| 详细来源 | 启用完整页面检索 | 设置 FETCH_FULL_PAGE=True |
来源:README.md143-146 src/ollama_deep_researcher/configuration.py14-41