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: