综合介绍
Orchestra是一个创新的轻量级Python框架,专注于构建基于大语言模型(LLM)的多智能体协作系统。它采用独特的智能体编排方法,让多个AI智能体能够像交响乐团一样和谐配合工作。通过模块化架构设计,开发者可以轻松创建、扩展和集成各类智能体,实现复杂任务的分解与协同。Orchestra支持GPT-4、Claude 3等主流大模型,并提供丰富的内置工具集,包括网页抓取、文件处理、GitHub交互等功能。其突出特点是简洁的工具定义方式、实时流式输出、优雅的错误处理机制,以及基于结构化思维模式的任务执行流程。作为TaskflowAI的进阶版本,Orchestra致力于为开发者提供更强大、更灵活的AI应用开发框架。
功能列表
- 智能体编排系统: 支持智能体同时作为执行者和指挥者,实现任务动态分解和智能体间协调
- 模块化架构: 提供可扩展的组件化设计,便于构建和整合自定义功能
- 多模型支持: 集成OpenAI、Anthropic、Openrouter、Ollama、Groq等多家LLM提供商
- 内置工具集: 包含网页工具、文件工具、GitHub工具、计算工具等多种实用工具
- 实时流处理: 支持同步和异步的实时输出流式处理
- 错误处理机制: 内置智能失败处理和可配置的降级链
- 结构化任务执行: 通过分阶段执行减轻LLM认知负担
- 简洁工具定义: 基于文档字符串的简单工具定义方式,无需复杂JSON模式
使用帮助
1. 安装配置
Orchestra框架的安装非常简单,只需要使用pip执行以下命令:
pip install mainframe-orchestra
2. 基础使用流程
2.1 创建单个智能体
from mainframe_orchestra import Agent, Task, OpenaiModels, WebTools
# 创建研究助手智能体
research_agent = Agent(
role="研究助手",
goal="回答用户查询",
llm=OpenaiModels.gpt_4o,
tools={WebTools.exa_search}
)
# 定义研究任务
def research_task(topic):
return Task.create(
agent=research_agent,
instruction=f"使用搜索工具研究{topic}并进行通俗易懂的解释"
)
2.2 构建多智能体团队
Orchestra支持创建多个专业化智能体协同工作,例如构建金融分析团队:
- 市场分析师 - 负责市场微观结构分析
- 基本面分析师 - 负责公司财务分析
- 技术分析师 - 负责价格图表分析
- 情绪分析师 - 负责市场情绪分析
- 指挥者智能体 - 负责协调其他智能体
3. 高级功能使用
3.1 工具集成
Orchestra提供多种内置工具:
- WebTools: 网页抓取、搜索、天气API等
- FileTools: CSV、JSON、XML等文件操作
- GitHubTools: 代码仓库交互工具
- CalculatorTools: 日期时间计算
- WikipediaTools: 维基百科信息检索
- AmadeusTools: 航班信息搜索
3.2 自定义工具开发
可以通过简单的文档字符串方式定义自己的工具:
def custom_tool(param1: str, param2: int) -> str:
"""工具描述
Args:
param1: 参数1说明
param2: 参数2说明
Returns:
返回值说明
"""
# 工具实现代码
3.3 错误处理与流程控制
Orchestra提供完善的错误处理机制:
- 配置降级链处理LLM调用失败
- 实时监控智能体状态
- 任务执行超时控制
- 结果验证与重试机制
4. 最佳实践建议
- 合理划分智能体职责,避免职责重叠
- 使用结构化的任务分解方式
- 充分利用内置工具提高效率
- 实现必要的错误处理机制
- 保持代码模块化和可维护性