Speaking Bots API
ミーティング向け会話AIエージェント
Speaking Bots APIを使用すると、Google Meet、Microsoft Teams、Zoomのミーティングに会話AIエージェント(ペルソナ)をdeployできます。これらのbotはPipecatとMeeting BaaSを基盤として、リアルタイムで会話・聴取・インタラクションを行うことができます。
- カスタムの個性と音声を持つbotのdeploy
- リアルタイム音声ストリーミングと音声認識
- 複数プラットフォームおよびミーティングごとの複数bot対応
- 簡単に統合できるOpenAPIとHTTP endpoint
このAPIはオープンソースであり、セルフホストまたはパブリックendpointを通じて利用できます。
主な機能
- 会話AI: botはミーティング内で会話・聴取・インタラクションが可能
- カスタムペルソナ: 独自の個性、音声、入室メッセージを定義
- マルチプラットフォーム: Google Meet、Microsoft Teams、Zoom
- WebSocket音声: PipecatによるリアルタイムWebSocket音声ストリーミング
- オープンソース: カスタマイズ用の完全なコードベースを公開
- 簡単なdeploy: シンプルなHTTP POSTでbotを起動
API Endpoint
POST /bots— ミーティングにspeaking botをdeployDELETE /bots/{bot_id}— ミーティングからbotを削除GET /health— ヘルスチェック
詳細については、APIドキュメントおよびOpenAPI仕様をご参照ください。
セットアップとインストール
前提条件
- Python 3.11以上
- プロトコルバッファのコンパイルには
grpc_toolsが必要 - ローカル開発にはNgrok
- 依存関係管理にはPoetry
クイックセットアップ
-
リポジトリをクローン:
git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git cd speaking-meeting-bot -
依存関係をインストール:
# Install Poetry curl -sSL https://install.python-poetry.org | python3 - # Configure Poetry and install dependencies poetry env use python3.11 poetry install poetry shell -
環境を設定:
cp env.example .env.envをAPIキーで編集してください:MEETING_BAAS_API_KEY: ミーティングプラットフォーム統合用OPENAI_API_KEY: 会話LLM用CARTESIA_API_KEY: テキスト読み上げ用GLADIA_API_KEYまたはDEEPGRAM_API_KEY: 音声認識用
-
サーバーを起動:
poetry run uvicorn app:app --reload --host 0.0.0.0 --port 8766
詳細なセットアップ手順については、公式セットアップガイドをご参照ください。
API使用例
Speaking BotのDeploy
curl -X POST https://speaking.meetingbaas.com/bots \
-H "Content-Type: application/json" \
-d '{
"meeting_url": "https://us06web.zoom.us/j/123456789?pwd=example",
"personas": ["baas_onboarder"],
"meeting_baas_api_key": "your-api-key"
}'curl -X POST "https://speaking.meetingbaas.com/bots" \
-H "x-meeting-baas-api-key: <token>" \
-H "Content-Type: application/json" \
-d '{
"bot_image": "https://example.com/bot-avatar.png",
"bot_name": "Meeting Assistant",
"enable_tools": true,
"entry_message": "Hello! I\'m here to assist with the meeting.",
"extra": {
"company": "ACME Corp",
"meeting_purpose": "Weekly sync"
},
"meeting_url": "https://meet.google.com/abc-defg-hij",
"personas": [
"helpful_assistant",
"meeting_facilitator"
],
"prompt": "You are Meeting Assistant, a concise and professional AI bot that helps summarize key points and keep the meeting on track. Speak clearly and stay on topic."
}'import requests
import json
def deploy_speaking_bot():
url = "https://speaking.meetingbaas.com/bots"
headers = {
"Content-Type": "application/json",
"x-meeting-baas-api-key": "your-api-key"
}
payload = {
"meeting_url": "https://meet.google.com/abc-defg-hij",
"bot_name": "AI Assistant",
"personas": ["helpful_assistant"],
"entry_message": "Hello! I'm your AI assistant for this meeting.",
"bot_image": "https://example.com/bot-avatar.png",
"enable_tools": True,
"extra": {
"company": "Your Company",
"meeting_purpose": "Team sync"
}
}
response = requests.post(url, headers=headers, json=payload)
return response.json()
# Deploy the speaking bot
result = deploy_speaking_bot()
print(result)ミーティングからBotを削除
curl -X DELETE "https://speaking.meetingbaas.com/bots/{bot_id}" \
-H "x-meeting-baas-api-key: your-api-key"ペルソナ:カスタム会話エージェント
独自のプロンプト、音声、動作を持つペルソナを定義できます。サンプルについてはペルソナディレクトリをご参照ください。
- 各ペルソナはプロンプト、コンテキスト、ルール用のMarkdownファイルを含むフォルダで構成
- botを起動する際に名前でペルソナを指定
- カスタム入室メッセージ、画像、音声IDに対応
ペルソナ設定の例
# Example persona structure
personas/
├── helpful_assistant/
│ ├── prompt.md # Main personality prompt
│ ├── context.md # Background context
│ └── rules.md # Behavioral rules
├── meeting_facilitator/
│ ├── prompt.md
│ ├── context.md
│ └── rules.md
└── interviewer/
├── prompt.md
├── context.md
└── rules.md利用可能なペルソナ
- helpful_assistant: 一般的なミーティングのアシストとメモ取り
- meeting_facilitator: ミーティングの進行とディスカッションの軌道維持をサポート
- interviewer: 構造化されたインタビューの実施とフォローアップ質問
- baas_onboarder: カスタマーオンボーディングミーティング専用
ローカル開発
ローカル開発とテスト用:
# Run in local development mode with ngrok auto-configuration
poetry run python run.py --local-dev
# Access interactive API docs
open http://localhost:8766/docs
# Test with CLI tools
poetry run python scripts/batch.py -c 1 --meeting-url YOUR_MEETING_URL
はじめに
ミーティングに会話AIエージェントをdeployする準備はできましたか?以下の充実したリソースをご活用ください: