Bots com Fala
Participantes de Reunião com IA e Personas Personalizáveis
Speaking Bots é uma implementação open-source que cria agentes de IA para reuniões, capazes de entrar e participar de videoconferências com personalidades distintas e contexto definido em arquivos Markdown.
Nossa implementação estende o framework Python do Pipecat para criar:
- Agentes de reunião que podem entrar no Google Meet, Zoom ou Microsoft Teams através da API do Meeting BaaS
- Personas personalizáveis com contexto único
- Suporte para execução de múltiplas instâncias localmente ou em escala
- Processamento de áudio em tempo real através de infraestrutura WebSocket
A API segue um design minimalista com padrões sensatos, ao mesmo tempo que oferece personalização opcional. Um bot pode ser implantado com apenas uma URL de reunião e uma chave de API, com parâmetros adicionais disponíveis para ajustar o comportamento.
Funcionalidades
- Conversas com IA: Os bots podem manter conversas com som natural, respondendo aos participantes da reunião em tempo real.
- Personas Personalizáveis: Implante bots com diferentes personalidades e bases de conhecimento específicas através de contextos definidos em Markdown.
- Suporte Multiplataforma: Funciona com Google Meet, Zoom e Microsoft Teams através de uma única API.
- Detecção de Atividade de Voz: Detecção inteligente de quando falar e quando ouvir com parâmetros configuráveis.
- Ferramentas de Function Calling: Ferramentas integradas para verificar clima, hora e outras informações contextuais que podem ser habilitadas ou desabilitadas.
- Gerenciamento de Contexto LLM: Mantém conversas consistentes e coerentes ao longo das reuniões.
- Múltiplas Instâncias de Bot: Execute vários bots em uma única reunião com personas e papéis diferentes.
Tecnologias Principais
- Pipecat: Framework Python que alimenta o pipeline de processamento de áudio em tempo real
- Meeting BaaS: API de deploy de bot de reunião para plataformas de vídeo
- Text-to-Speech: Cartesia para síntese de voz do bot
- Speech-to-Text: Deepgram ou Gladia com reconhecimento de idioma
- Voice AI: Modelos GPT da OpenAI para geração de conversas
- Transporte de Dados: Comunicação WebSocket com Protocol Buffers
Uso da API
A API do Speaking Bot está acessível em speaking.meetingbaas.com. Você pode acessar a especificação OpenAPI em speaking.meetingbaas.com/openapi.json.
A API fornece endpoints para:
- Criar e fazer deploy de bots com fala em reuniões
- Remover bots de reuniões
- Gerenciar conexões WebSocket para streaming de áudio
Exemplo de Deploy
Para fazer o deploy de um Speaking Bot usando a API, basta fazer uma requisição 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)