API de Bots com Voz
Agentes de IA Conversacional para Reuniões
A API de Bots com Voz permite que você faça deploy de agentes de IA conversacional (personas) em reuniões do Google Meet, Microsoft Teams e Zoom. Esses bots podem falar, ouvir e interagir em tempo real, com tecnologia Pipecat e Meeting BaaS.
- Faça deploy de bots com personalidades e vozes personalizadas
- Streaming de áudio em tempo real e conversão de fala em texto
- Suporte a múltiplas plataformas e múltiplos bots por reunião
- Endpoints OpenAPI e HTTP para integração fácil
A API é open source e pode ser hospedada por conta própria ou utilizada via endpoint público.
Recursos Principais
- IA Conversacional: Bots podem falar, ouvir e interagir em reuniões
- Personas Personalizadas: Defina personalidades, vozes e mensagens de entrada únicas
- Multi-Plataforma: Google Meet, Microsoft Teams, Zoom
- Áudio via WebSocket: Streaming de áudio em tempo real com Pipecat
- Open Source: Código completo disponível para personalização
- Deploy Fácil: Lance bots com um simples HTTP POST
Endpoints da API
POST /bots— Faz deploy de um bot com voz em uma reuniãoDELETE /bots/{bot_id}— Remove um bot de uma reuniãoGET /health— Verificação de saúde
Consulte a documentação da API e a especificação OpenAPI para detalhes completos.
Configuração e Instalação
Pré-requisitos
- Python 3.11+
grpc_toolspara compilação de protocol buffer- Ngrok para desenvolvimento local
- Poetry para gerenciamento de dependências
Configuração Rápida
-
Clone o repositório:
git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git cd speaking-meeting-bot -
Instale as dependências:
# 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 o ambiente:
cp env.example .envEdite
.envcom suas chaves de API:MEETING_BAAS_API_KEY: Para integração com a plataforma de reuniãoOPENAI_API_KEY: Para o LLM de conversaçãoCARTESIA_API_KEY: Para conversão de texto em falaGLADIA_API_KEYouDEEPGRAM_API_KEY: Para conversão de fala em texto
-
Execute o servidor:
poetry run uvicorn app:app --reload --host 0.0.0.0 --port 8766
Para instruções detalhadas de configuração, consulte o guia oficial de configuração.
Exemplos de Uso da API
Fazer Deploy de um Bot com 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)Remover um Bot da Reunião
curl -X DELETE "https://speaking.meetingbaas.com/bots/{bot_id}" \
-H "x-meeting-baas-api-key: your-api-key"Personas: Agentes Conversacionais Personalizados
Defina suas próprias personas com prompts, vozes e comportamentos exclusivos. Consulte o diretório de personas para exemplos.
- Cada persona é uma pasta com arquivos Markdown para prompt, contexto e regras
- Atribua uma persona pelo nome ao lançar um bot
- Suporta mensagens de entrada, imagens e IDs de voz personalizados
Exemplo de Configuração 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 Disponíveis
- helpful_assistant: Assistência geral em reuniões e anotações
- meeting_facilitator: Ajuda a conduzir reuniões e manter as discussões no rumo certo
- interviewer: Conduz entrevistas estruturadas e faz perguntas de acompanhamento
- baas_onboarder: Especializado para reuniões de onboarding de clientes
Desenvolvimento Local
Para desenvolvimento e testes locais:
# 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
Comece Agora
Pronto para fazer deploy de agentes de IA conversacional em suas reuniões? Confira nossos recursos abrangentes: