API Speaking Bots
Agents IA conversationnels pour les meetings
L'API Speaking Bots vous permet de déployer des agents IA conversationnels (personas) dans des meetings Google Meet, Microsoft Teams et Zoom. Ces bots peuvent parler, écouter et interagir en temps réel, propulsés par Pipecat et Meeting BaaS.
- Déployez des bots avec des personnalités et des voix personnalisées
- Streaming audio en temps réel et reconnaissance vocale
- Support de plusieurs plateformes et de plusieurs bots par meeting
- Endpoints OpenAPI et HTTP pour une intégration facile
L'API est open source et peut être auto-hébergée ou utilisée via l'endpoint public.
Fonctionnalités principales
- IA conversationnelle : Les bots peuvent parler, écouter et interagir dans les meetings
- Personas personnalisés : Définissez des personnalités, des voix et des messages d'entrée uniques
- Multi-plateformes : Google Meet, Microsoft Teams, Zoom
- Audio WebSocket : Streaming audio en temps réel avec Pipecat
- Open Source : Code source complet disponible pour la personnalisation
- Déploiement facile : Lancez des bots avec un simple HTTP POST
API Endpoints
POST /bots— Déployer un speaking bot dans un meetingDELETE /bots/{bot_id}— Retirer un bot d'un meetingGET /health— Vérification de l'état du service
Consultez la documentation API et la spécification OpenAPI pour tous les détails.
Configuration et installation
Prérequis
- Python 3.11+
grpc_toolspour la compilation des protocol buffers- Ngrok pour le développement local
- Poetry pour la gestion des dépendances
Configuration rapide
-
Cloner le dépôt :
git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git cd speaking-meeting-bot -
Installer les dépendances :
# Install Poetry curl -sSL https://install.python-poetry.org | python3 - # Configure Poetry and install dependencies poetry env use python3.11 poetry install poetry shell -
Configurer l'environnement :
cp env.example .envModifiez
.envavec vos clés API :MEETING_BAAS_API_KEY: Pour l'intégration de la plateforme de meetingOPENAI_API_KEY: Pour le LLM de conversationCARTESIA_API_KEY: Pour la synthèse vocaleGLADIA_API_KEYouDEEPGRAM_API_KEY: Pour la reconnaissance vocale
-
Démarrer le serveur :
poetry run uvicorn app:app --reload --host 0.0.0.0 --port 8766
Pour des instructions de configuration détaillées, consultez le guide de configuration officiel.
Exemples d'utilisation de l'API
Déployer un Speaking Bot
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)Retirer un Bot d'un Meeting
curl -X DELETE "https://speaking.meetingbaas.com/bots/{bot_id}" \
-H "x-meeting-baas-api-key: your-api-key"Personas : Agents conversationnels personnalisés
Définissez vos propres personas avec des prompts, des voix et des comportements uniques. Consultez le répertoire des personas pour des exemples.
- Chaque persona est un dossier contenant des fichiers Markdown pour le prompt, le contexte et les règles
- Assignez un persona par son nom lors du lancement d'un bot
- Supporte des messages d'entrée, des images et des identifiants de voix personnalisés
Exemple de configuration de persona
# 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.mdPersonas disponibles
- helpful_assistant : Assistance générale en meeting et prise de notes
- meeting_facilitator : Aide à guider les meetings et à maintenir les discussions sur la bonne voie
- interviewer : Conduit des entretiens structurés et pose des questions de suivi
- baas_onboarder : Spécialisé pour les meetings d'onboarding client
Développement local
Pour le développement et les tests en local :
# 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
Démarrer
Prêt à déployer des agents IA conversationnels dans vos meetings ? Consultez nos ressources complètes :