使用说明
研究编排服务
一个强大的、由人工智能驱动的研究编排服务,可以收集、分析和综合来自多个来源的信息,为复杂的查询提供全面的答案。该服务基于Cloudflare Workers构建,利用多种专业工具和人工智能功能来提供结构良好、引用正确的研究成果。
概述
该服务将自然语言查询转化为结构化的研究任务,智能地选择和编排各种专业工具来收集相关信息。然后,它将收集到的数据综合成一个连贯的、引用良好的答案,并附有信心指标。
主要特点
-
智能查询分析:
- 对用户查询进行高级分析,以了解意图、实体和约束
- 每个专业研究工具的查询优化
- 自动URL和上下文提取
-
多工具编排:
- 基于查询上下文和相关性评分的动态工具选择
- 具有智能重试逻辑的并行执行
- 每个工具的自动查询自适应
- 跨研究迭代的智能工具重用
-
迭代研究过程:
- 通过有针对性的差距分析进行多次研究迭代
- 针对缺失信息的高度集中的后续查询
- 有效处理后续迭代
- 收集到足够信息时智能终止
-
人工智能驱动的合成:
- 将来自不同来源的信息组合成全面的答案
- 正确的引用和来源归因
- 带部分和亮点的结构化格式
-
质量保证:
- 个人结果和整体综合的置信度评分
- 来源可信度评估
- 结果的相关性过滤
- 批处理以实现高效分析
-
性能优化:
- 使用Cloudflare KV的内置缓存系统
- 工具的并行执行
- API故障的智能重试逻辑
- 高效批处理用于结果评估
建筑
核心组件
-
编排器 (
src/orchestrator.ts):- 协调整个研究过程
- 通过智能重用管理工具选择和执行
- 处理结果聚合和合成
- 支持元数据丰富的工具执行,以获得更好的上下文
-
查询优化器 (
src/queryOptimizer.ts):- 分析意图和上下文的查询
- 优化不同工具的查询
- 提取实体、URL和YouTube视频ID
-
刀具管理器 (
src/toolManager.ts):- 根据相关性处理工具选择
- 使用重试逻辑和缓存管理工具执行
- 提供统一的错误处理
- 在需要时使用回退到基于分数的选择
-
结果处理器 (
src/resultProcessor.ts):- 评估结果与批处理的相关性
- 分析信息差距并创建有针对性的后续查询
- 综合最终结果
- 实现并行处理以获得更好的性能
-
格式化器 (
src/formatter.ts):- 具有适当格式的结构输出
- 处理引文管理
- 提供信心指标
研究过程
研究过程遵循以下步骤:
-
查询分析:分析查询以了解意图、提取实体、识别URL并确定查询类型。
-
工具选择:
- 根据与查询的相关性选择工具
- 在初始迭代中,以前使用的工具会被过滤掉
- 对于后续查询,可以重用工具来探索新的方面
-
查询优化:查询针对每个选定的工具进行了优化,以最大限度地提高相关性。
-
工具执行:
- 工具与元数据上下文并行执行
- 相关时自动提取URL和YouTube视频ID
- 缓存结果以提高性能
-
相关性评估:
- 评估结果与原始查询的相关性
- 处理过程分批进行,以高效处理大型结果集
- 通过批处理确保多样性
-
差距分析:
- 识别信息缺口
- 有针对性的后续查询侧重于缺失的方面
- 分析提供了具体的缺失方面,并解释了差距
-
迭代:
- 重复后续查询的过程,直到填补空白
- 工具可以在不同方面的迭代之间重复使用
- 每次迭代都建立在先前的知识之上
-
合成:
- 所有相关结果都被综合成一个全面的答案
- 来源被正确引用和组织
- 置信度得分根据源质量和内容计算
研究工具
该服务与多种专业研究工具集成:
-
网页搜索:
- 勇敢的搜索:以隐私为重点的网络搜索,覆盖面广
- 塔维利搜索:增强相关性的人工智能搜索
-
技术信息:
- GitHub存储库搜索:查找相关存储库
- GitHub代码搜索:搜索代码示例和实现
- 堆栈交换:Stack Overflow和相关网站的技术问答
-
学术研究:
- 档案:学术论文和预印本
- 专利检索:知识产权和创新跟踪
-
时事:
- 新闻API:最近的新闻和发展
- 媒体监控:当前事件跟踪
-
内容提取:
- 消防爬行:Web内容提取和分析
- YouTube文字记录:视频内容转录
-
参考信息:
- 维基百科搜索:一般知识和参考
- 图书搜索:文献和书目信息
用法
基础示例
const worker = new ResearchWorker();
const result = await worker.research(
"What are the latest developments in quantum computing?",
3 // Research depth (1-5)
);
console.log(result.content[0].text);
响应格式
interface ResearchResult {
answer: string; // Synthesized research answer
sources: Source[]; // List of sources used
confidence: number; // Overall confidence score (0-1)
metadata: {
executionTime: number;
iterations: number;
totalResults: number;
queryTypes: string[];
toolsUsed: string[];
toolResults: ToolResult[];
}
}
设置和配置
先决条件
- Cloudflare Workers帐户
- Node.js 16+
- 牧马人CLI
必需的API密钥
# Core APIs
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 APIs
OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=your_groq_api_key
# Cloudflare Resources
SHARED_SECRET=your_shared_secret # For API authentication
RESEARCH_CACHE=your_kv_namespace # For result caching
安装
-
克隆存储库:
git clone https://github.com/yourusername/research-orchestration-service.git cd research-orchestration-service -
安装依赖项:
npm install -
配置环境变量:
cp .env.example .env # Edit .env with your API keys -
部署到Cloudflare Workers:
wrangler publish
配置选项
研究深度
这 depth 参数(1-5)控制:
- 研究迭代次数
- 使用的工具数量(深度*1.5)
- 结果综合复杂性
工具选择
工具选择通过以下方式进行管理:
- 相关性评分
src/tools.ts - 查询类型的工具兼容性元数据
- 迭代之间的智能重用
- 上下文感知查询优化
批处理
系统使用批处理用于:
- 相关性评估(批量:5,平行批次:3)
- 差距分析(批量:8)
- 大型结果集的最终多样性通过
缓存
系统在多个级别实现缓存:
- 完整研究结果(TTL:3天)
- 单个工具执行
- 上下文元数据可提高缓存命中率
高级功能
有针对性的后续查询
该系统生成具有高度针对性的后续查询,这些查询:
- 特别关注缺失的信息
- 使用与已识别差距相关的精确术语
- 避免重复已收集的信息
- 包括对缺失方面的解释
智能刀具再利用
与避免工具重复的传统系统不同:
- 初始查询过滤掉以前使用过的工具
- 后续查询可以重用新方面的工具
- 防止连续重复完全相同的工具集
- 确保主题的全面覆盖
元数据丰富执行
工具执行包括丰富的上下文:
- 迭代次数
- 原始查询和当前查询
- 后续查询指标
- 提取的URL和媒体ID
错误处理
该服务实现了全面的错误处理:
- 临时故障的自动重试
- 工具故障的回退策略
- 详细的错误报告
- 请求验证
未来改进
- []添加对更专业的研究工具的支持
- []实施高级缓存策略
- []通过更好的NLP增强查询理解
- []添加对特定领域研究工作流程的支持
- []改进来源验证和事实核查
- []添加对实时更新和流式结果的支持
- []实行限速定额管理
- []添加对自定义工具配置的支持
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
该项目利用了多个API和服务:
- 勇敢的搜索API用于网络搜索
- Tavily AI用于增强搜索
- 用于代码搜索的GitHub API
- arXiv API用于学术研究
- 新闻API当前事件
- 用于图书信息的开放式图书馆API
- 专利查看API获取专利信息
- Cloudflare Workers用于托管和执行
- 用于AI处理的OpenAI和Groq API
特别感谢:
- Octotools团队启发编排组件架构
- 所有API提供商和开源社区使该项目成为可能。
