AskTheApi Team Builder
基于AutoGen的、用于与 OpenAPI API 通信的代理网络构建器。
AlexAlbala
README
AskTheApi 团队构建器
一个高级 Python 库,用于构建和管理自主代理网络,这些代理协同工作以解决复杂的任务。它旨在与使用 OpenAPI 标准定义的 API 无缝协作。该库提供了一个清晰、类型安全的接口,用于创建、配置和运行代理团队,从而可以轻松地编排多代理工作流程,而无需编写大量的样板代码。
特性
-
🚀 轻松创建代理网络:基于 OpenAPI 规范,快速构建具有自定义工具和功能的代理网络。
-
🤝 基于团队的协作:轻松定义代理团队,并通过内置的规划代理自动处理协调。
-
📡 流式交互:实时流式传输代理通信,以实现更动态和响应迅速的工作流程。
-
🔧 内置 HTTP 客户端:通过集成的 HTTP 客户端简化工具的实现,该客户端已准备好调用外部 API。
-
✨ 使用 Pydantic 的类型安全:利用 Pydantic 模型进行强大的数据验证和清晰的类型定义。
-
🎯 清晰直观的 API:专为开发人员设计——最少的样板代码,最大的清晰度。
安装
pip install asktheapi-team-builder
快速开始
以下是如何使用该软件包:
1. 从 OpenAPI 规范创建代理
from asktheapi_team_builder import TeamBuilder, Agent, Tool, Message, APISpecHandler
from typing import List
async def create_agents_from_spec():
# 初始化处理程序
api_spec_handler = APISpecHandler()
# 下载并解析 OpenAPI 规范
spec_content = await api_spec_handler.download_url_spec("https://api.example.com/openapi.json")
# 将端点分类为逻辑组
classification_result = await api_spec_handler.classify_spec(
spec_content
)
# 为每个组生成代理
agents = []
for group_spec in classification_result.specs:
agent_result = await api_spec_handler.generate_agent_for_group(
group_spec,
spec_content
)
agents.append(agent_result)
return agents
2. 构建并运行团队
async def run_agent_team(agents: List[Agent], query: str):
# 初始化团队构建器
team_builder = TeamBuilder(
model="gpt-4",
model_config={"temperature": 0.7}
)
# 构建团队
team = await team_builder.build_team(agents)
# 创建消息
messages = [
Message(
role="user",
content=query
)
]
# 以流式传输方式运行团队
async for event in team_builder.run_team(team, messages, stream=True):
if isinstance(event, ChatMessage):
print(f"{event.source}: {event.content}")
示例用法
async def main():
# 从规范创建代理
api_agents = await create_agents_from_spec()
# 与手动代理结合
all_agents = [weather_agent] + api_agents
# 运行团队
await run_agent_team(
all_agents,
"伦敦的天气怎么样,以及它可能如何影响当地企业?"
)
自定义标头和配置
您可以配置具有自定义标头和模型设置的团队构建器:
team_builder = TeamBuilder(
model="gpt-4",
model_config={
"temperature": 0.7,
"default_headers": {
"Authorization": "Bearer your-token",
"Custom-Header": "custom-value"
}
}
)
# 运行团队,为特定请求添加额外的标头
team = await team_builder.build_team(agents)
result = await team_builder.run_team(
team,
messages,
extra_headers={"Request-ID": "123"}
)
MCP(模型控制协议)支持
该库包括对模型控制协议的内置支持,允许您将代理团队公开为 API 端点,并从 OpenAPI 规范自动生成工具。
from asktheapi_team_builder import MCPService, MCPConfig
# 配置 MCP 服务
mcp_config = MCPConfig(
transport="sse", # Server-Sent Events transport
port=8000, # Port to run the MCP server
name="asktheapi_mcp" # Service name
)
# 初始化 MCP 服务
mcp_service = MCPService(mcp_config)
# 使用 OpenAPI 规范启动 MCP 服务器
await mcp_service.start_from_spec(
url_spec="https://api.example.com/openapi.json",
headers={"Authorization": "Bearer your-token"}
)
MCP 服务将:
- 自动下载并解析 OpenAPI 规范
- 将端点分类为逻辑组
- 为每个组生成适当的工具
- 通过模型控制协议接口公开这些工具
- 处理代理交互的实时流式传输
贡献
欢迎贡献!请随时提交 Pull Request。对于重大更改,请先打开一个 issue,讨论您想要更改的内容。
- Fork 仓库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature
) - 提交您的更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 打开一个 Pull Request
开发设置
# 克隆仓库
git clone https://github.com/alexalbala/asktheapi-team-builder.git
cd asktheapi-team-builder
# 安装依赖
pip install -e ".[dev]"
# 运行测试
pytest
许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- 构建于 Microsoft 的 AutoGen 之上
- 灵感来自对代理团队管理更高级别接口的需求
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。