这个项目能做什么
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 研究工作流的功能。
评论
0 评分人数达到10人后显示
登录后参与讨论。