菜单

概述

相关源文件

目的与范围

Local Deep Researcher 是一个完全本地化的网络研究助手,可以自主地对用户提供的主题进行全面的在线研究。它利用本地托管的大型语言模型(LLM)来生成搜索查询、分析网络内容并生成带有适当引用的结构化摘要。本文档提供了系统架构、功能和组件的高级概述。有关配置选项的详细信息,请参阅配置;有关部署说明,请参阅部署

来源: README.md1-3

核心功能

  • 本地优先方法:使用 Ollama 或 LMStudio 作为 LLM 提供商,完全在您的机器上运行
  • 迭代研究过程:采用受 IterDRAG 启发的方法,逐步完善研究
  • 多个搜索提供商:支持 DuckDuckGo(默认)、SearXNG、Tavily 和 Perplexity
  • 自动化知识缺口识别:分析当前研究状态以识别缺失信息
  • 结构化输出:生成带有源材料引用的 Markdown 摘要
  • 可配置参数:通过环境变量或 UI 调整研究深度和行为

来源: README.md3-4 README.md157-167

系统架构

Local Deep Researcher 基于 LangGraph 构建,LangGraph 为创建复杂的 AI 工作流提供了结构化框架。该系统由几个相互连接的组件组成,它们协同工作以执行迭代研究。

系统组件图

来源: README.md157-167 pyproject.toml11-23

研究工作流

研究过程遵循一个明确的迭代模式,逐步提高研究结果的质量和完整性。

迭代研究过程

来源: README.md157-167

数据流

系统在整个研究过程中保持状态,跟踪当前的摘要、搜索查询和收集到的来源。这使得它能够在之前的发现基础上继续工作,并避免重复劳动。

研究期间的数据流

来源: README.md168-176

状态管理

研究过程保持一个结构化的状态,随着研究的进展而演变。此状态包括:

状态组件描述
研究主题用户提供的原始研究主题
搜索查询当前正在使用的搜索查询
网络研究结果当前网络搜索的结果
收集的来源研究期间收集的所有来源
研究循环计数已完成的研究迭代次数
运行摘要当前研究摘要

来源: README.md168-176

技术和依赖项

Local Deep Researcher 基于多项关键技术构建:

  • LangGraph:协调工作流并维护状态
  • LangChain:提供与 LLM 和搜索 API 集成的组件
  • Ollama/LMStudio:托管本地 LLM
  • 各种搜索提供商:DuckDuckGo、Tavily、Perplexity、SearXNG
  • Docker:可选的容器化部署

主要依赖项包括

langgraph
langchain-community
tavily-python
langchain-ollama
duckduckgo-search
langchain-openai
openai
httpx
markdownify
python-dotenv

来源: pyproject.toml11-23

部署选项

系统可以通过以下几种方式部署

  1. 本地开发:直接在您的机器上使用 LangGraph Studio 运行
  2. Docker 容器:作为容器化应用程序运行
  3. 其他 LangGraph 部署方法:LangGraph 支持的各种部署选项

有关详细部署说明,请参阅部署部分。

来源: README.md178-214

快速入门

快速开始使用 Local Deep Researcher:

  1. 克隆仓库
  2. .env 中配置您的环境变量
  3. 安装本地 LLM 提供商(Ollama 或 LMStudio)
  4. 启动 LangGraph 服务器
  5. 访问 LangGraph Studio UI 以启动研究

有关详细使用说明,请参阅使用指南

来源: README.md16-155