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: