菜单

配置

相关源文件

本页提供了一份关于配置本地深度研究员系统的全面指南。我们将涵盖配置参数、应用配置的方法以及常见的配置场景。有关系统部署的信息,请参阅部署,有关使用已配置系统的详细信息,请参阅使用指南

配置概述

本地深度研究员系统设计为高度可配置,允许用户自定义研究过程、选择不同的LLM提供商,并从各种搜索API中进行选择。配置可以通过环境变量或通过Configuration类以编程方式应用。

来源:src/ollama_deep_researcher/configuration.py14-57 .env.example1-17

配置参数

下表列出了所有可用的配置参数、其描述和默认值

参数描述默认值类型
max_web_research_loops要执行的研究迭代次数3int
local_llm要使用的LLM模型名称"llama3.2"字符串
llm_providerLLM提供商"ollama""ollama" 或 "lmstudio"
search_api要使用的网络搜索API"duckduckgo""perplexity"、"tavily"、"duckduckgo" 或 "searxng"
fetch_full_page在搜索结果中包含完整页面内容True布尔值
ollama_base_urlOllama API 的基础URL"http://:11434/"字符串
lmstudio_base_urlLMStudio 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

来源:.env.example1-17

编程配置

对于更高级的用例,您可以使用 Configuration 类以编程方式配置系统。系统使用工厂方法 from_runnable_config 来创建一个 Configuration 实例,其值来源于一个 RunnableConfig 对象,并在需要时回退到环境变量。

来源:src/ollama_deep_researcher/configuration.py58-76

系统中的配置流

下图说明了配置值如何在系统中流动

来源:src/ollama_deep_researcher/configuration.py14-57 .env.example1-17

常见配置场景

配置LLM提供商

系统支持两种本地LLM提供商:Ollama 和 LMStudio。以下是配置每种提供商的方法

Ollama 配置

LLM_PROVIDER=ollama
LOCAL_LLM=llama3.2
OLLAMA_BASE_URL=http://:11434

LMStudio 配置

LLM_PROVIDER=lmstudio
LOCAL_LLM=qwen_qwq-32b
LMSTUDIO_BASE_URL=http://:1234/v1

来源:.env.example10-14

配置搜索API

您可以从多种搜索API中进行选择

DuckDuckGo (无需API密钥)

SEARCH_API=duckduckgo

Tavily

SEARCH_API=tavily
TAVILY_API_KEY=tvly-xxxxx

Perplexity

SEARCH_API=perplexity
PERPLEXITY_API_KEY=pplx-xxxxx
SEARCH_API=searxng
SEARXNG_URL=http://:8888

来源:.env.example1-8

配置研究行为

您可以通过以下设置调整研究行为

MAX_WEB_RESEARCH_LOOPS=3  # Controls research depth
FETCH_FULL_PAGE=True      # Whether to fetch full page content or just snippets

来源:.env.example16-17

与LangGraph集成

Configuration 类通过 from_runnable_config 方法与 LangGraph 集成。这允许 LangGraph 在图执行期间传递配置值,这些值可以覆盖环境变量。

来源:src/ollama_deep_researcher/configuration.py58-76

配置映射

下图显示了配置参数如何映射到系统组件

来源:src/ollama_deep_researcher/configuration.py14-57 .env.example1-17

最佳实践

  1. 从示例配置开始:使用 .env.example 作为您配置的起点。
  2. 测试您的配置:设置好配置后,运行一个简单的研究查询以验证所有组件是否协同工作。
  3. 根据主题复杂性调整研究深度:对于需要更深入研究的复杂主题,将 MAX_WEB_RESEARCH_LOOPS 设置得更高。
  4. 根据需求选择搜索API:DuckDuckGo 是最简单的选项,无需API密钥,而 Tavily 和 Perplexity 可能会提供更全面的结果,但需要API密钥。
  5. 根据可用资源配置LLM:根据您的硬件能力和研究需求选择LLM提供商和模型。

来源:.env.example1-17