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 meeting
  • DELETE /bots/{bot_id} — Retirer un bot d'un meeting
  • GET /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_tools pour la compilation des protocol buffers
  • Ngrok pour le développement local
  • Poetry pour la gestion des dépendances

Configuration rapide

  1. Cloner le dépôt :

    git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git
    cd speaking-meeting-bot
  2. 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
  3. Configurer l'environnement :

    cp env.example .env

    Modifiez .env avec vos clés API :

    • MEETING_BAAS_API_KEY : Pour l'intégration de la plateforme de meeting
    • OPENAI_API_KEY : Pour le LLM de conversation
    • CARTESIA_API_KEY : Pour la synthèse vocale
    • GLADIA_API_KEY ou DEEPGRAM_API_KEY : Pour la reconnaissance vocale
  4. 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

basic_speaking_bot.sh
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"
  }'
advanced_speaking_bot.sh
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."
  }'
speaking_bot.py
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

remove_bot.sh
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

persona_config.yaml
# 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

Personas 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
Meeting BaaS API Preview Features

Démarrer

Prêt à déployer des agents IA conversationnels dans vos meetings ? Consultez nos ressources complètes :