Evo AI - AI Agents Platform について
Evo AI はオープンソースの AI エージェントプラットフォームで、複数の LLM、MCP サーバー、カスタムツールをサポートします。複雑なマルチエージェントワークフローを構築する開発者向けです。
主な機能
- 01複数のエージェントタイプ:LLM、A2A、順序実行、並列実行、ループ、ワークフロー、タスク
- 02MCP サーバー設定とクライアント管理
- 03A2A プロトコルによるエージェント間通信
- 04LangGraph ワークフロー編成
- 05暗号化された API キー管理
- 06トレーシング用 Langfuse 統合
活用シーン
- 01マルチエージェント協調システムの構築
- 02複雑なマルチステップワークフローの編成
- 03複数の LLM と外部サービスの統合
- 04エージェント実行の監視とデバッグ
MCP 対応
このクライアントは MCP サーバー設定をサポートし、ユーザーが複数の MCP サービスを管理・接続でき、エージェントがこれらのサービス経由で外部ツールやリソースにアクセスできます。
詳細
Evo AI - AI エージェントプラットフォーム
Evo AI - AI エージェントプラットフォーム
Evo AI は、AI エージェントを作成・管理し、異なる AI モデルおよびサービスとの統合を実現するオープンソースプラットフォームです。
🚀 概要
Evo AI プラットフォームは以下を実現します。
- AI エージェントの作成・管理
- 異なる言語モデルとの統合
- クライアント管理と MCP サーバー設定
- カスタムツール管理
- Google Agent Development Kit (ADK): エージェント開発用基盤フレームワーク
- CrewAI サポート: エージェント開発用代替フレームワーク(開発中)
- メール確認付き JWT 認証
- Agent 2 Agent (A2A) プロトコルサポート: AI エージェント間の相互運用性
- LangGraph によるワークフローエージェント: 複雑なエージェントワークフローの構築
- セキュアな API キー管理: API キーの暗号化ストレージ
- エージェント整理機能: カテゴリ別にエージェントを整理するフォルダ構造
🤖 エージェントタイプ
Evo AI は柔軟に組み合わせ可能な異なるタイプのエージェントをサポートしています。
1. LLM エージェント(言語モデル)
GPT-4、Claude などの言語モデルに基づくエージェント。ツール、MCP サーバー、および サブエージェントで構成できます。
2. A2A エージェント(エージェント間通信)
Google の A2A プロトコルを実装し、エージェント間の相互運用性を実現するエージェント。
3. シーケンシャルエージェント
特定の順序でサブエージェントのシーケンスを実行します。
4. パラレルエージェント
複数のサブエージェントを同時に実行します。
5. ループエージェント
定義された最大イテレーション数でサブエージェントをループ実行します。
6. ワークフローエージェント
LangGraph を用いたグラフ構造で定義されたカスタムワークフローでサブエージェントを実行します。
7. タスクエージェント
構造化されたタスク命令を用いて対象エージェントで特定のタスクを実行します。
🛠️ テクノロジー
バックエンド
- FastAPI: API 構築用の Web フレームワーク
- SQLAlchemy: データベース連携用 ORM
- PostgreSQL: メインデータベース
- Alembic: マイグレーションシステム
- Pydantic: データバリデーションおよびシリアライゼーション
- Uvicorn: ASGI サーバー
- Redis: キャッシュおよびセッション管理
- JWT: セキュアなトークン認証
- SendGrid/SMTP: 通知用メールサービス(設定可能)
- Jinja2: メールレンダリング用テンプレートエンジン
- Bcrypt: パスワードハッシング・セキュリティ
- LangGraph: ステートフルなマルチエージェントワークフロー構築フレームワーク
フロントエンド
- Next.js 15: App Router 対応の React フレームワーク
- React 18: ユーザーインターフェース用ライブラリ
- TypeScript: タイプセーフな JavaScript
- Tailwind CSS: ユーティリティファースト CSS フレームワーク
- shadcn/ui: 最新のコンポーネントライブラリ
- React Hook Form: フォーム管理
- Zod: スキーマバリデーション
- ReactFlow: ノードベースのビジュアルワークフロー
- React Query: サーバーステート管理
📊 Langfuse 統合(トレーシング・オブザーバビリティ)
Evo AI プラットフォームは Langfuse との統合をネイティブにサポートし、OpenTelemetry (OTel) 標準を用いたエージェント実行、プロンプト、モデルレスポンス、ツール呼び出しの詳細なトレーシングを実現しています。
設定方法
-
.envに環境変数を設定する:LANGFUSE_PUBLIC_KEY="pk-lf-..." LANGFUSE_SECRET_KEY="sk-lf-..." OTEL_EXPORTER_OTLP_ENDPOINT="https://cloud.langfuse.com/api/public/otel" -
Langfuse ダッシュボードで表示する
- Langfuse ダッシュボードにアクセスして、リアルタイムトレースを確認します。
🤖 Agent 2 Agent (A2A) プロトコルサポート
Evo AI は Google の Agent 2 Agent (A2A) プロトコルを実装しており、AI エージェント間のシームレスな通信と相互運用性を実現します。
A2A プロトコルの詳細については、Google の A2A プロトコルドキュメントを参照してください。
📋 前提条件
バックエンド
- Python: 3.10 以上
- PostgreSQL: 13.0 以上
- Redis: 6.0 以上
- Git: バージョン管理用
- Make: Makefile コマンド実行用
フロントエンド
- Node.js: 18.0 以上
- pnpm: パッケージマネージャー(推奨)または npm/yarn
🔧 インストール
1. リポジトリをクローンする
git clone https://github.com/EvolutionAPI/evo-ai.git
cd evo-ai
2. バックエンドセットアップ
仮想環境と依存関係
# Create and activate virtual environment
make venv
source venv/bin/activate # Linux/Mac
# or on Windows: venv\Scripts\activate
# Install development dependencies
make install-dev
環境設定
# Copy and configure backend environment
cp .env.example .env
# Edit the .env file with your database, Redis, and other settings
データベースセットアップ
# Initialize database and apply migrations
make alembic-upgrade
# Seed initial data (admin user, sample clients, etc.)
make seed-all
3. フロントエンドセットアップ
依存関係をインストールする
# Navigate to frontend directory
cd frontend
# Install dependencies using pnpm (recommended)
pnpm install
# Or using npm
# npm install
# Or using yarn
# yarn install
フロントエンド環境設定
# Copy and configure frontend environment
cp .env.example .env
# Edit .env with your API URL (default: http://localhost:8000)
フロントエンド .env に以下を含める必要があります:
NEXT_PUBLIC_API_URL=http://localhost:8000
🚀 アプリケーションの実行
開発モード
バックエンド起動(ターミナル 1)
# From project root
make run
# Backend will be available at http://localhost:8000
フロントエンド起動(ターミナル 2)
# From frontend directory
cd frontend
pnpm dev
# Or using npm/yarn
# npm run dev
# yarn dev
# Frontend will be available at http://localhost:3000
本番モード
バックエンド
make run-prod # Production with multiple workers
フロントエンド
cd frontend
pnpm build && pnpm start
# Or using npm/yarn
# npm run build && npm start
# yarn build && yarn start
🐳 Docker インストール
Docker Compose を使用したフルスタック
# Build and start all services (backend + database + redis)
make docker-build
make docker-up
# Initialize database with seed data
make docker-seed
Docker を使用したフロントエンド
# From frontend directory
cd frontend
# Build frontend image
docker build -t evo-ai-frontend .
# Run frontend container
docker run -p 3000:3000 -e NEXT_PUBLIC_API_URL=http://localhost:8000 evo-ai-frontend
または提供されている docker-compose を使用:
# From frontend directory
cd frontend
docker-compose up -d
🎯 はじめに
インストール後、以下の手順に従ってください:
- フロントエンドにアクセスする:
http://localhost:3000を開く - 管理者アカウントを作成する: シードされた管理者認証情報を使用するか、新しいアカウントを登録する
- MCP サーバーを設定する: 最初の MCP サーバー接続をセットアップする
- クライアントを作成する: エージェントを整理するためにクライアントを追加する
- 最初のエージェントを構築する: AI エージェントを作成および設定する
- エージェントをテストする: チャットインターフェースを使用してエージェントと相互作用する
デフォルト管理者認証情報
シーダーを実行した後、以下で ログインできます:
- メール: シーダー出力で生成された管理者メールを確認してください
- パスワード: シーダー出力で生成されたパスワードを確認してください
🖥️ API ドキュメント
インタラクティブな API ドキュメントは以下で利用可能です:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
👨💻 開発コマンド
バックエンドコマンド
# Database migrations
make alembic-upgrade # Update database to latest version
make alembic-revision message="description" # Create new migration
# Seeders
make seed-all # Run all seeders
# Code verification
make lint # Verify code with flake8
make format # Format code with black
フロントエンドコマンド
# From frontend directory
cd frontend
# Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLint
🚀 設定
バックエンド設定(.env ファイル)
主な設定は以下の通りです:
# Database settings
POSTGRES_CONNECTION_STRING="postgresql://postgres:root@localhost:5432/evo_ai"
# Redis settings
REDIS_HOST="localhost"
REDIS_PORT=6379
# AI Engine configuration
AI_ENGINE="adk" # Options: "adk" (Google Agent Development Kit) or "crewai" (CrewAI framework)
# JWT settings
JWT_SECRET_KEY="your-jwt-secret-key"
# Email provider configuration
EMAIL_PROVIDER="sendgrid" # Options: "sendgrid" or "smtp"
# Encryption for API keys
ENCRYPTION_KEY="your-encryption-key"
フロントエンド設定(.env ファイル)
# API Configuration
NEXT_PUBLIC_API_URL="http://localhost:8000" # Backend API URL
注記: Google ADK は完全にサポートされていますが、CrewAI エンジンオプションは現在も活発に開発中です。本番環境では、デフォルトの「adk」エンジンの使用をお勧めします。
🔐 認証
API は JWT(JSON Web Token)認証を使用し、以下の機能があります:
- ユーザー登録とメール認証
- JWT トークンを取得するためのログイン
- パスワード回復フロー
- 複数回のログイン失敗後のアカウントロック
🚀 GitHub でスターをください
EvoAI が役に立つと思ったら、ぜひスターをお願いします。皆様のサポートはコミュニティの成長と製品改善の継続に役立ちます。
🤝 貢献
コミュニティからの貢献を歓迎します。詳細については、貢献ガイドラインをお読みください。
📄 ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。