mcpField
A
AskTheApi Team Builder

AskTheApi Team Builder

ローカル
github.com/AskTheApiAI・エージェント171 週間前に更新

AskTheApi Team Builder について

AskTheApi Team Builderは、OpenAPIで定義されたAPIを活用するエージェントチームを構築するPythonライブラリです。APIからのツール生成、チーム調整、ストリーミング、MCPサービスを備えています。

主な機能

  1. 01OpenAPI仕様からのエージェント作成
  2. 02プランニングエージェントによるチーム調整
  3. 03エージェント間通信のストリーミング
  4. 04内蔵HTTPクライアントでのAPI呼び出し
  5. 05Pydanticによるデータ検証

活用シーン

  1. 01OpenAPIエンドポイントを使うエージェントの構築
  2. 02複雑なタスクに取り組む複数エージェントの調整

MCP 対応

MCPサービスを通じてエージェントチームをMCPインターフェースに公開します。OpenAPI仕様からツールを生成し、ストリーミングにも対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AskTheApi Team Builder

PyPI version License: MIT Python Versions

複雑なタスクを解決するために連携する自律型エージェントのネットワークを構築、管理するための高水準な Python ライブラリです。OpenAPI 標準で定義された API とシームレスに連携するよう設計されています。エージェントのチームを作成、設定、実行するための、明確で型安全なインターフェースを提供します。これにより、最小限の定型コードでマルチエージェントのワークフローを簡単に編成できます。

特長

  • 🚀 エージェントネットワークを簡単に作成:OpenAPI 仕様に基づき、カスタムツールと機能を備えたエージェントネットワークをすばやく構築できます。

  • 🤝 チームベースの連携:組み込みの計画エージェントによる自動調整で、エージェントチームを簡単に定義できます。

  • 📡 ストリーミングによるインタラクション:エージェント間の通信をリアルタイムでストリーミングし、より動的で応答性の高いワークフローを実現します。

  • 🔧 組み込み HTTP クライアント:外部 API を呼び出せる統合 HTTP クライアントにより、ツールの実装を簡素化します。

  • ✨ 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():
    # Initialize handlers
    api_spec_handler = APISpecHandler()
    
    # Download and parse OpenAPI spec
    spec_content = await api_spec_handler.download_url_spec("https://api.example.com/openapi.json")
    
    # Classify endpoints into logical groups
    classification_result = await api_spec_handler.classify_spec(
        spec_content
    )
    
    # Generate agents for each group
    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):
    # Initialize team builder
    team_builder = TeamBuilder(
        model="gpt-4",
        model_config={"temperature": 0.7}
    )
    
    # Build the team
    team = await team_builder.build_team(agents)
    
    # Create messages
    messages = [
        Message(
            role="user",
            content=query
        )
    ]
    
    # Run the team with streaming
    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():
    # Create agents from spec
    api_agents = await create_agents_from_spec()
    
    # Combine with manual agents
    all_agents = [weather_agent] + api_agents
    
    # Run the team
    await run_agent_team(
        all_agents,
        "What's the weather like in London and how might it affect local businesses?"
    )

カスタムヘッダーと設定

カスタムヘッダーとモデル設定を使って、チームビルダーを設定できます。

team_builder = TeamBuilder(
    model="gpt-4",
    model_config={
        "temperature": 0.7,
        "default_headers": {
            "Authorization": "Bearer your-token",
            "Custom-Header": "custom-value"
        }
    }
)

# Run team with extra headers for specific requests
team = await team_builder.build_team(agents)
result = await team_builder.run_team(
    team,
    messages,
    extra_headers={"Request-ID": "123"}
)

MCP(Model Context Protocol)サポート

このライブラリには Model Context Protocol の組み込みサポートがあり、OpenAPI 仕様からツールを自動生成して、エージェントチームを API エンドポイントとして公開できます。

from asktheapi_team_builder import MCPService, MCPConfig

# Configure MCP service
mcp_config = MCPConfig(
    transport="sse",  # Server-Sent Events transport
    port=8000,        # Port to run the MCP server
    name="asktheapi_mcp"  # Service name
)

# Initialize MCP service
mcp_service = MCPService(mcp_config)

# Start MCP server with OpenAPI spec
await mcp_service.start_from_spec(
    url_spec="https://api.example.com/openapi.json",
    headers={"Authorization": "Bearer your-token"}
)

MCP サービスは次の処理を行います:

  • OpenAPI 仕様を自動的にダウンロードして解析する
  • エンドポイントを論理的なグループに分類する
  • 各グループに適したツールを生成する
  • Model Control Protocol インターフェースを通じて、これらのツールを公開する
  • エージェント間のインタラクションをリアルタイムでストリーミング処理する

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。大きな変更を行う場合は、まず Issue を作成して、変更したい内容についてご相談ください。

  1. リポジトリをフォークする
  2. フィーチャーブランチを作成する(git checkout -b feature/amazing-feature)
  3. 変更をコミットする(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュする(git push origin feature/amazing-feature)
  5. プルリクエストを作成する

開発環境のセットアップ

# Clone the repository
git clone https://github.com/alexalbala/asktheapi-team-builder.git
cd asktheapi-team-builder

# Install dependencies
pip install -e ".[dev]"

# Run tests
pytest

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。

謝辞

  • Microsoft の AutoGen を基盤として構築
  • エージェントチーム管理のための、より高水準なインターフェースの必要性に着想を得て開発

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。