Speaking Bots es una implementación de código abierto que crea agentes de IA para reuniones que pueden unirse y participar en videoconferencias con personalidades distintas y contexto definido en archivos Markdown.
Nuestra implementación extiende el framework de Python de Pipecat para crear:
- Agentes de reunión que pueden unirse a Google Meet, Zoom o Microsoft Teams a través de la API de Meeting BaaS
- Personalidades personalizables con contexto único
- Soporte para ejecutar múltiples instancias localmente o a escala
- Procesamiento de audio en tiempo real a través de infraestructura WebSocket
La API sigue un diseño minimalista con valores predeterminados razonables, ofreciendo personalización opcional. Un bot puede ser desplegado con solo una URL de reunión y una API key, con parámetros adicionales disponibles para ajustar el comportamiento.
Características
- Conversaciones Impulsadas por IA: Los bots pueden mantener conversaciones de sonido natural, respondiendo a los participantes de la reunión en tiempo real.
- Personalidades Personalizables: Despliegue bots con diferentes personalidades y bases de conocimiento específicas a través de contextos definidos en Markdown.
- Soporte Multiplataforma: Funciona con Google Meet, Zoom y Microsoft Teams a través de una sola API.
- Detección de Actividad de Voz: Detección inteligente de cuándo hablar y cuándo escuchar con parámetros configurables.
- Herramientas de Llamada a Funciones: Herramientas integradas para verificar el clima, la hora y otra información contextual que se pueden habilitar o deshabilitar.
- Gestión de Contexto LLM: Mantiene conversaciones consistentes y coherentes a lo largo de las reuniones.
- Múltiples Instancias de Bot: Ejecute varios bots en una reunión con diferentes personalidades y roles.
Tecnologías Principales
- Pipecat: Framework de Python que impulsa el pipeline de procesamiento de audio en tiempo real
- Meeting BaaS: API de deployment de bot de reunión para plataformas de video
- Texto a Voz: Cartesia para la síntesis de voz del bot
- Voz a Texto: Deepgram o Gladia con reconocimiento de idioma
- IA de Voz: Modelos GPT de OpenAI para la generación de conversaciones
- Transporte de Datos: Comunicación WebSocket con Protocol Buffers
Uso de la API
La API de Speaking Bot es accesible en speaking.meetingbaas.com. Puede acceder a la especificación OpenAPI en speaking.meetingbaas.com/openapi.json.
La API proporciona endpoints para:
- Crear y desplegar bots con capacidad de habla en reuniones
- Eliminar bots de las reuniones
- Gestionar conexiones WebSocket para la transmisión de audio
Ejemplo de Deployment
Para desplegar un Speaking Bot utilizando la API, simplemente realice una solicitud POST:
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"
}'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)