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ónDELETE /bots/{bot_id}— Elimina un bot de una reuniónGET /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_toolspara la compilación de protocol buffers- Ngrok para desarrollo local
- Poetry para la gestión de dependencias
Configuración Rápida
-
Clone el repositorio:
git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git cd speaking-meeting-bot -
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 -
Configure el entorno:
cp env.example .envEdite
.envcon sus claves de API:MEETING_BAAS_API_KEY: Para la integración con la plataforma de reunionesOPENAI_API_KEY: Para el LLM de conversaciónCARTESIA_API_KEY: Para la conversión de texto a vozGLADIA_API_KEYoDEEPGRAM_API_KEY: Para la conversión de voz a texto
-
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
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)Eliminar un Bot de una Reunión
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
# 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: 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
Comenzar
¿Listo para desplegar agentes de IA conversacional en sus reuniones? Consulte nuestros recursos completos: