本页提供了一份关于配置本地深度研究员系统的全面指南。我们将涵盖配置参数、应用配置的方法以及常见的配置场景。有关系统部署的信息,请参阅部署,有关使用已配置系统的详细信息,请参阅使用指南。
本地深度研究员系统设计为高度可配置,允许用户自定义研究过程、选择不同的LLM提供商,并从各种搜索API中进行选择。配置可以通过环境变量或通过Configuration类以编程方式应用。
来源:src/ollama_deep_researcher/configuration.py14-57 .env.example1-17
下表列出了所有可用的配置参数、其描述和默认值
| 参数 | 描述 | 默认值 | 类型 |
|---|---|---|---|
| max_web_research_loops | 要执行的研究迭代次数 | 3 | int |
| local_llm | 要使用的LLM模型名称 | "llama3.2" | 字符串 |
| llm_provider | LLM提供商 | "ollama" | "ollama" 或 "lmstudio" |
| search_api | 要使用的网络搜索API | "duckduckgo" | "perplexity"、"tavily"、"duckduckgo" 或 "searxng" |
| fetch_full_page | 在搜索结果中包含完整页面内容 | True | 布尔值 |
| ollama_base_url | Ollama API 的基础URL | "http://:11434/" | 字符串 |
| lmstudio_base_url | LMStudio OpenAI兼容API的基础URL | "http://:1234/v1" | 字符串 |
| strip_thinking_tokens | 是否从模型响应中去除 <think> 令牌 | True | 布尔值 |
来源:src/ollama_deep_researcher/configuration.py14-57
系统中定义的 Configuration 类使用 Pydantic 的 BaseModel 提供所有配置参数的类型检查、验证和默认值。
来源:src/ollama_deep_researcher/configuration.py8-12 src/ollama_deep_researcher/configuration.py14-57
配置系统最直接的方法是通过环境变量。您可以在项目根目录中创建一个 .env 文件,其中包含所需的配置参数。
.env 文件示例
SEARCH_API=duckduckgo
TAVILY_API_KEY=tvly-xxxxx
PERPLEXITY_API_KEY=pplx-xxxxx
LLM_PROVIDER=lmstudio
LOCAL_LLM=qwen_qwq-32b
LMSTUDIO_BASE_URL=http://:1234/v1
OLLAMA_BASE_URL=http://:11434
MAX_WEB_RESEARCH_LOOPS=3
FETCH_FULL_PAGE=True
对于更高级的用例,您可以使用 Configuration 类以编程方式配置系统。系统使用工厂方法 from_runnable_config 来创建一个 Configuration 实例,其值来源于一个 RunnableConfig 对象,并在需要时回退到环境变量。
来源:src/ollama_deep_researcher/configuration.py58-76
下图说明了配置值如何在系统中流动
来源:src/ollama_deep_researcher/configuration.py14-57 .env.example1-17
系统支持两种本地LLM提供商:Ollama 和 LMStudio。以下是配置每种提供商的方法
LLM_PROVIDER=ollama
LOCAL_LLM=llama3.2
OLLAMA_BASE_URL=http://:11434
LLM_PROVIDER=lmstudio
LOCAL_LLM=qwen_qwq-32b
LMSTUDIO_BASE_URL=http://:1234/v1
您可以从多种搜索API中进行选择
SEARCH_API=duckduckgo
SEARCH_API=tavily
TAVILY_API_KEY=tvly-xxxxx
SEARCH_API=perplexity
PERPLEXITY_API_KEY=pplx-xxxxx
SEARCH_API=searxng
SEARXNG_URL=http://:8888
您可以通过以下设置调整研究行为
MAX_WEB_RESEARCH_LOOPS=3 # Controls research depth
FETCH_FULL_PAGE=True # Whether to fetch full page content or just snippets
Configuration 类通过 from_runnable_config 方法与 LangGraph 集成。这允许 LangGraph 在图执行期间传递配置值,这些值可以覆盖环境变量。
来源:src/ollama_deep_researcher/configuration.py58-76
下图显示了配置参数如何映射到系统组件
来源:src/ollama_deep_researcher/configuration.py14-57 .env.example1-17
.env.example 作为您配置的起点。MAX_WEB_RESEARCH_LOOPS 设置得更高。