返回市场
麦克普研究工具

麦克普研究工具

作者:objones255 星标更新:2025-03-27

项目介绍

研究编排服务

一个强大的、基于人工智能的研究编排服务,从多个来源收集、分析并综合信息,以提供对复杂查询的全面解答。该服务基于Cloudflare Workers构建,利用多种专业工具和人工智能能力,提供结构良好且引用正确的研究结果。

概览

此服务将自然语言查询转化为结构化的研究任务,智能选择和编排各种专业工具来收集相关信息。然后,它将收集的数据综合成连贯且引用正确的响应,并带有置信度指标。

关键特性

  • 智能查询分析

    • 高级用户查询分析,理解意图、实体和约束条件
    • 根据每个专业研究工具优化查询
    • 自动提取URL和上下文
  • 多工具编排

    • 基于查询上下文和相关性评分动态选择工具
    • 并行执行并具有智能重试逻辑
    • 自动调整查询以适应每个工具
    • 在研究迭代中智能复用工具
  • 迭代研究过程

    • 多次研究迭代,针对缺失信息进行目标差距分析
    • 针对缺失信息的高度聚焦后续查询
    • 有效处理后续迭代
    • 当收集到足够信息时智能终止
  • AI驱动的综合

    • 将来自不同来源的信息综合成全面的答案
    • 正确引用和来源归属
    • 结构化格式,包括章节和高亮显示
  • 质量保证

    • 对单个结果和整体综合的置信度评分
    • 来源可信度评估
    • 结果的相关性过滤
    • 批量处理以提高分析效率
  • 性能优化

    • 内置缓存系统使用Cloudflare KV
    • 工具的并行执行
    • API失败时的智能重试逻辑
    • 结果评估的高效批量处理

架构

核心组件

  1. 编排器 (src/orchestrator.ts):

    • 协调整个研究过程
    • 管理工具的选择和执行,以及智能复用
    • 处理结果聚合和综合
    • 支持元数据增强的工具执行以获得更好的上下文
  2. 查询优化器 (src/queryOptimizer.ts):

    • 分析查询的意图和上下文
    • 为不同的工具优化查询
    • 提取实体、URL和YouTube视频ID
  3. 工具管理器 (src/toolManager.ts):

    • 根据相关性选择工具
    • 管理工具执行,包括重试逻辑和缓存
    • 提供统一的错误处理
    • 在需要时使用基于分数的选择作为回退
  4. 结果处理器 (src/resultProcessor.ts):

    • 使用批量处理评估结果的相关性
    • 分析信息缺口并创建针对性的后续查询
    • 综合最终结果
    • 实现并行处理以提高性能
  5. 格式化器 (src/formatter.ts):

    • 结构化输出,正确格式化
    • 处理引用管理
    • 提供置信度指标

研究过程

研究过程遵循以下步骤:

  1. 查询分析:分析查询以理解意图,提取实体,识别URL,并确定查询类型。

  2. 工具选择

    • 根据查询的相关性选择工具
    • 在初始迭代中,过滤掉之前使用的工具
    • 对于后续查询,可以复用工具以探索新方面
  3. 查询优化:为每个选定的工具优化查询以最大化相关性。

  4. 工具执行

    • 具有元数据上下文的并行工具执行
    • 自动提取相关的URL和YouTube视频ID
    • 缓存结果以提高性能
  5. 相关性评估

    • 根据原始查询评估结果的相关性
    • 使用批量处理处理大型结果集以提高效率
    • 通过批量处理确保多样性
  6. 缺口分析

    • 识别信息缺口
    • 针对缺失方面的针对性后续查询
    • 分析提供具体缺失方面并解释缺口
  7. 迭代

    • 过程重复,直到缺口被填补
    • 工具可以在不同方面之间迭代复用
    • 每次迭代都建立在先前的知识之上
  8. 综合

    • 将所有相关结果综合成全面答案
    • 正确引用和组织来源
    • 根据来源质量和内容计算置信度得分

研究工具

该服务集成多种专业研究工具:

  1. 网络搜索

    • Brave Search:注重隐私的网络搜索,覆盖广泛
    • Tavily Search:基于AI的搜索,增强相关性
  2. 技术信息

    • GitHub Repository Search:查找相关仓库
    • GitHub Code Search:搜索代码示例和实现
    • Stack Exchange:来自Stack Overflow及相关站点的技术问答
  3. 学术研究

    • arXiv:学术论文和预印本
    • 专利搜索:知识产权和创新追踪
  4. 当前事件

    • 新闻API:最近的新闻和发展
    • 媒体监控:当前事件跟踪
  5. 内容提取

    • Fire Crawl:网页内容提取和分析
    • YouTube Transcript:视频内容转录
  6. 参考信息

    • Wikipedia Search:通用知识和参考
    • 图书搜索:文学和文献信息

使用方法

基本示例

const worker = new ResearchWorker();

const result = await worker.research(
  "量子计算的最新发展是什么?",
  3  // 研究深度(1-5)
);

console.log(result.content[0].text);

响应格式

interface ResearchResult {
  answer: string;          // 综合研究答案
  sources: Source[];       // 使用的来源列表
  confidence: number;      // 总体置信度得分(0-1)
  metadata: {
    executionTime: number;
    iterations: number;
    totalResults: number;
    queryTypes: string[];
    toolsUsed: string[];
    toolResults: ToolResult[];
  }
}

设置和配置

先决条件

  • Cloudflare Workers账户
  • Node.js 16+
  • Wrangler CLI

必需的API密钥

# 核心API
BRAVE_API_KEY=your_brave_api_key
TAVILY_API_KEY=your_tavily_api_key
GITHUB_TOKEN=your_github_token
FIRE_CRAWL_API_KEY=your_fire_crawl_api_key
NEWS_API_KEY=your_news_api_key
PATENTSVIEW_API_KEY=your_patentsview_api_key

# LLM API
OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=你的groq_api_key

# Cloudflare资源
SHARED_SECRET=your_shared_secret     # 用于API认证
RESEARCH_CACHE=your_kv_namespace     # 用于结果缓存

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/research-orchestration-service.git
    cd research-orchestration-service
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    cp .env.example .env
    # 使用您的API密钥编辑.env文件
    
  4. 部署到Cloudflare Workers:

    wrangler publish
    

配置选项

研究深度

depth参数(1-5)控制:

  • 研究迭代次数
  • 使用的工具数量(深度 * 1.5)
  • 结果综合的复杂度

工具选择

工具选择通过以下方式管理:

  • 相关性评分在src/tools.ts
  • 查询类型的工具兼容性元数据
  • 迭代之间的智能复用
  • 上下文感知的查询优化

批量处理

系统使用批量处理:

  • 相关性评估(批量大小:5,平行批次:3)
  • 缺口分析(批量大小:8)
  • 对大型结果集的最终多样性通过

缓存

系统在多个级别实现缓存:

  • 完整的研究结果(TTL:3天)
  • 单个工具执行
  • 上下文元数据以提高命中率

高级功能

针对性的后续查询

系统生成高度针对性的后续查询:

  • 特别关注缺失信息
  • 使用与已识别缺口相关的精确术语
  • 避免重复已收集的信息
  • 包括对缺失方面的解释

智能工具复用

与传统系统避免工具重复不同:

  • 初始查询过滤掉之前使用的工具
  • 后续查询可以复用工具以探索新方面
  • 防止连续重复相同的工具集
  • 确保主题的全面覆盖

元数据增强的执行

工具执行包括丰富的上下文:

  • 迭代编号
  • 原始和当前查询
  • 后续查询指示器
  • 提取的URL和媒体ID

错误处理

服务实现了全面的错误处理:

  • 对于瞬态故障自动重试
  • 工具故障的备用策略
  • 详细的错误报告
  • 请求验证

未来改进

  • 添加更多专业研究工具的支持
  • 实现高级缓存策略
  • 通过更好的NLP增强查询理解
  • 添加特定领域研究工作流的支持
  • 改进来源验证和事实核查
  • 添加实时更新和流式结果支持
  • 实现速率限制和配额管理
  • 添加自定义工具配置支持

贡献

  1. 叉出存储库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m '添加一些AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

许可证

该项目根据MIT许可证发布 - 详情见LICENSE文件。

致谢

该项目利用了多个API和服务:

  • Brave Search API用于网络搜索
  • Tavily AI用于增强搜索
  • GitHub API用于代码搜索
  • arXiv API用于学术研究
  • 新闻API用于当前事件
  • Open Library API用于图书信息
  • PatentsView API用于专利信息
  • Cloudflare Workers用于托管和执行
  • OpenAI和Groq API用于AI处理

特别感谢:

  • Octotools团队启发了编排组件架构的设计
  • 所有的API提供商和开源社区使这个项目成为可能。