找回密码
 立即注册
首页 业界区 业界 Local Deep Research - AI驱动的深度研究助手

Local Deep Research - AI驱动的深度研究助手

焦和玉 2025-6-29 02:48:31
项目概述

Local Deep Research (LDR) 是一个AI研究助手,专注于执行深度、迭代的研究任务。核心功能包括:

  • 复杂问题分解:将复杂查询拆分为聚焦的子查询
  • 多源并行搜索:同时搜索网络、学术论文和本地文档
  • 信息验证:跨来源验证信息准确性
  • 综合报告生成:创建带有规范引用的全面报告
1.png

核心特性

智能搜索策略


  • 15+种搜索策略(包括并行搜索、自适应分解、约束引导等)
  • 支持BrowseComp优化模式
  • 动态约束满足跟踪
高级分析能力


  • 双置信度评估(正/负证据分析)
  • 多阶段候选发现
  • 智能约束放松机制
知识管理


  • 持久化研究成果存储
  • 知识图谱构建
  • 渐进式知识压缩
开发者友好


  • 模块化架构设计
  • 完整类型提示
  • 可扩展的插件系统
安装指南

基础安装
  1. git clone https://github.com/LearningCircuit/local-deep-research.git
  2. cd local-deep-research
  3. pdm install
复制代码
依赖项


  • Python 3.10+
  • PDM 2.0+
  • Ollama (可选,用于本地模型运行)
Docker部署
  1. docker-compose -f docker-compose.ldr.yml up -d
复制代码
使用示例

基础研究任务
  1. from local_deep_research import get_advanced_search_system
  2. search_system = get_advanced_search_system(strategy_name="iterdrag")
  3. results = search_system.analyze_topic("量子计算在密码学中的应用现状")
复制代码
基准测试
  1. from local_deep_research.web.benchmark import run_benchmark
  2. benchmark_results = run_benchmark(
  3.     model="gpt-4.1-mini",
  4.     strategy="focused-iteration",
  5.     questions=50
  6. )
复制代码
核心代码解析

自适应搜索策略
  1. class AdaptiveDecompositionStrategy(BaseSearchStrategy):
  2.     """
  3.     自适应分解策略,根据中间发现动态调整搜索方法
  4.    
  5.     关键特性:
  6.     1. 动态步骤选择(约束提取→初始搜索→验证→优化)
  7.     2. 基于置信度的早期终止
  8.     3. 智能查询重构
  9.     """
  10.    
  11.     def __init__(self, model, search, max_steps=15):
  12.         self.model = model
  13.         self.search = search
  14.         self.max_steps = max_steps
  15.         self.current_step = 0
  16.         
  17.     def execute_step(self, step_type, context):
  18.         """执行单个自适应步骤"""
  19.         if step_type == StepType.CONSTRAINT_EXTRACTION:
  20.             return self._extract_constraints(context)
  21.         elif step_type == StepType.INITIAL_SEARCH:
  22.             return self._initial_search(context)
  23.         # ...其他步骤处理
复制代码
双置信度检查器
  1. class DualConfidenceChecker(BaseConstraintChecker):
  2.     """
  3.     使用正/负/不确定三分数评估约束满足情况
  4.    
  5.     评估逻辑:
  6.     - 正置信度 > 40% → 接受
  7.     - 负置信度 > 25% → 拒绝
  8.     - 不确定度 > 60% → 需要重新评估
  9.     """
  10.    
  11.     def check_candidate(self, candidate, constraints):
  12.         results = []
  13.         for constraint in constraints:
  14.             evidence = self._gather_evidence(candidate, constraint)
  15.             analysis = self._analyze_evidence(evidence)
  16.             
  17.             score = (analysis.positive -
  18.                     analysis.negative * self.negative_weight -
  19.                     analysis.uncertainty * self.uncertainty_penalty)
  20.                     
  21.             results.append(ConstraintCheckResult(
  22.                 constraint=constraint,
  23.                 score=score,
  24.                 evidence=evidence
  25.             ))
  26.         return results
复制代码
贡献指南

我们欢迎各种形式的贡献!请参阅贡献指南了解:

  • 开发环境设置
  • 代码风格要求
  • PR提交流程
  • 安全准则
许可证

本项目采用 Apache License 2.0 开源协议。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码
2.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册