API de Bots de Voz

Agentes de IA Conversacional para Reuniones

La API de Bots de Voz le permite desplegar agentes de IA conversacional (personas) en reuniones de Google Meet, Microsoft Teams y Zoom. Estos bots pueden hablar, escuchar e interactuar en tiempo real, con tecnología de Pipecat y Meeting BaaS.

  • Despliegue bots con personalidades y voces personalizadas
  • Transmisión de audio en tiempo real y conversión de voz a texto
  • Soporte para múltiples plataformas y múltiples bots por reunión
  • Endpoints OpenAPI y HTTP para una integración sencilla

La API es open source y puede ser autohospedada o utilizada a través del endpoint público.

Características Principales

  • IA Conversacional: Los bots pueden hablar, escuchar e interactuar en reuniones
  • Personas Personalizadas: Defina personalidades, voces y mensajes de entrada únicos
  • Multiplataforma: Google Meet, Microsoft Teams, Zoom
  • Audio WebSocket: Transmisión de audio en tiempo real con Pipecat
  • Open Source: Código fuente completo disponible para personalización
  • Despliegue Sencillo: Lance bots con un simple HTTP POST

Endpoints de la API

  • POST /bots — Despliega un bot de voz en una reunión
  • DELETE /bots/{bot_id} — Elimina un bot de una reunión
  • GET /health — Verificación de estado

Consulte la documentación de la API y la especificación OpenAPI para obtener todos los detalles.

Configuración e Instalación

Requisitos Previos

  • Python 3.11+
  • grpc_tools para la compilación de protocol buffers
  • Ngrok para desarrollo local
  • Poetry para la gestión de dependencias

Configuración Rápida

  1. Clone el repositorio:

    git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git
    cd speaking-meeting-bot
  2. Instale las dependencias:

    # 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. Configure el entorno:

    cp env.example .env

    Edite .env con sus claves de API:

    • MEETING_BAAS_API_KEY: Para la integración con la plataforma de reuniones
    • OPENAI_API_KEY: Para el LLM de conversación
    • CARTESIA_API_KEY: Para la conversión de texto a voz
    • GLADIA_API_KEY o DEEPGRAM_API_KEY: Para la conversión de voz a texto
  4. Inicie el servidor:

    poetry run uvicorn app:app --reload --host 0.0.0.0 --port 8766

Para instrucciones de configuración detalladas, consulte la guía de configuración oficial.

Ejemplos de Uso de la API

Desplegar un Bot de Voz

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)

Eliminar un Bot de una Reunión

remove_bot.sh
curl -X DELETE "https://speaking.meetingbaas.com/bots/{bot_id}" \
  -H "x-meeting-baas-api-key: your-api-key"

Personas: Agentes Conversacionales Personalizados

Defina sus propias personas con prompts, voces y comportamientos únicos. Consulte el directorio de personas para ver ejemplos.

  • Cada persona es una carpeta con archivos Markdown para el prompt, contexto y reglas
  • Asigne una persona por nombre al lanzar un bot
  • Compatible con mensajes de entrada, imágenes e IDs de voz personalizados

Ejemplo de Configuración 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: Asistencia general en reuniones y toma de notas
  • meeting_facilitator: Ayuda a guiar las reuniones y mantener las conversaciones encaminadas
  • interviewer: Realiza entrevistas estructuradas y hace preguntas de seguimiento
  • baas_onboarder: Especializado para reuniones de incorporación de clientes

Desarrollo Local

Para desarrollo y pruebas locales:

# 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

Comenzar

¿Listo para desplegar agentes de IA conversacional en sus reuniones? Consulte nuestros recursos completos: