这个项目能做什么

Local Deep Researcher 是一个基于 LangGraph 构建的开源、完全本地的网络研究与报告撰写助手。它完全在您的机器上运行,使用由 Ollama 或 LMStudio 托管的任何 LLM,无需基于云端的 AI 服务。 **工作原理** 该助手遵循受 IterDRAG 论文启发的迭代研究循环: 1. **查询生成**:根据用户提供的主题,本地 LLM 生成一个网络搜索查询。 2. **网络搜索**:一个可配置的搜索引擎(默认为 DuckDuckGo,或 SearXNG、Tavily、Perplexity)检索相关来源。 3. **总结**:LLM 根据研究主题总结搜索结果。 4. **空白分析**:LLM 反思总结以识别知识空白。 5. **新查询**:生成新的搜索查询以解决已识别的空白。 6. **迭代**:步骤 2–5 重复用户定义的循环次数(默认:3 次)。 最终输出是一个 markdown 文件,包含研究总结及所有使用来源的引用。 **模型支持** - **Ollama**:支持 Ollama 库中可用的任何模型(例如 DeepSeek R1、Llama 3.2)。通过 `OLLAMA_BASE_URL` 和 `LOCAL_LLM` 环境变量配置。 - **LMStudio**:支持 LMStudio 中加载的模型,并带有 OpenAI 兼容的 API 服务器。通过 `LMSTUDIO_BASE_URL` 和 `LOCAL_LLM` 配置。 - **工具调用**:截至 2025 年 8 月,支持对 gpt-oss 等不支持 Ollama JSON 模式的模型进行工具调用。 **搜索引擎选项** - **DuckDuckGo**(默认):无需 API 密钥。 - **SearXNG**:自托管元搜索引擎。 - **Tavily**:需要 API 密钥。 - **Perplexity**:需要 API 密钥。 **部署** - **LangGraph Studio**:使用 `langgraph dev` 在本地启动,提供交互式 UI,可配置设置并逐步可视化研究过程。 - **Docker**:提供 Dockerfile,但 Ollama 必须作为依赖服务单独运行。 - **配置优先级**:环境变量 > LangGraph UI 配置 > Configuration 类中的默认值。 **技术细节** - 使用 LangGraph 构建有状态、多步骤的代理工作流。 - 使用 `python-dotenv` 管理环境变量。 - 包含针对难以处理结构化 JSON 输出的模型(例如 DeepSeek R1 7B 和 1.5B)的回退机制。 - 在单独的仓库中提供 TypeScript 移植版本。 - 浏览器兼容性:推荐使用 Firefox;Safari 可能遇到混合内容警告。 **使用场景** - 对任何主题进行深度研究,而无需将数据发送到云端 AI 服务。 - 为个人或专业用途生成带引用的研究报告。 - 使用空白感知搜索策略迭代探索主题。 - 学习代理式 AI 研究工作流的功能。