Skip to content

MLYoshi/deepresearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DS2 - LangGraph 研究代理

一个基于 LangGraph 构建的自动化研究代理,能够执行多轮网络搜索、分析信息并生成带引用的高质量研究报告。(借鉴https://github.com/google-gemini/gemini-fullstack-langgraph-quickstart)

功能特点

  • 🔍 多轮搜索:自动执行初始搜索和后续追问搜索
  • 🤖 智能分析:使用 OpenAI 兼容的 LLM 分析搜索结果
  • 📝 引用追踪:自动标注信息来源
  • 🔄 反思机制:识别知识空白并生成后续查询
  • 🛠️ CLI 工具:命令行界面,易于使用

技术栈

  • Python 3.12+
  • LangGraph - 构建有状态的多轮对话图
  • LangChain - LLM 应用开发框架
  • OpenAI API - 支持 OpenRouter 等第三方服务
  • DuckDuckGo Search - 免费网络搜索工具

安装

前置要求

  • Python 3.12 或更高版本
  • uv 包管理器(推荐)

安装依赖

# 使用 uv 安装依赖
uv sync

配置

环境变量

复制 .env 文件并配置以下变量:

# .env
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://openrouter.ai/api/v1  # 可选,第三方服务

# 如使用 Tavily 搜索(可选)
TAVILY_API_KEY=tvly-...

使用方法

命令行工具

# 基本用法
uv run python cli_research.py "你的研究问题"

# 自定义初始查询数量
uv run python cli_research.py "你的研究问题" --initial-queries 5

# 自定义最大研究循环次数
uv run python cli_research.py "你的研究问题" --max-loops 3

# 指定推理模型
uv run python cli_research.py "你的研究问题" --reasoning-model gpt-4o

参数说明

参数 类型 默认值 描述
question 位置参数 - 研究问题
--initial-queries int 3 初始搜索查询数量
--max-loops int 2 最大研究循环次数
--reasoning-model str - 用于最终答案的模型

输出

研究结果会:

  1. 在终端显示每一步的执行过程
  2. 生成 debug.md 文件,包含完整的研究步骤和最终答案

项目结构

ds2/
├── cli_research.py        # 命令行入口
├── pyproject.toml         # 项目配置和依赖
├── .env                   # 环境变量配置
└── agent/
    ├── __init__.py
    ├── graph.py           # LangGraph 图定义
    ├── state.py           # 状态定义
    ├── tools_and_schemas.py  # 工具和数据模式
    ├── prompts.py         # 提示词模板
    ├── configuration.py   # 配置管理
    ├── utils.py           # 工具函数
    └── run.py             # 运行脚本

工作流程

graph TD
    A[开始] --> B[生成搜索查询]
    B --> C[并行执行网络搜索]
    C --> D[反思分析]
    D --> E{信息充足?}
    E -->|否 | F[生成后续查询]
    F --> C
    E -->|是 | G[生成最终答案]
    G --> H[结束]
Loading

示例

# 研究 AI 最新进展
uv run python cli_research.py "2025 年 AI 领域的最新突破有哪些?"

# 研究科技新闻
uv run python cli_research.py "特斯拉最新发布的机器人技术细节" --initial-queries 5 --max-loops 3

开发

添加新依赖

uv add package_name

运行测试

(待添加)

许可证

MIT

致谢

本项目基于 LangGraph 研究代理模板构建。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages