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:

speaking_bot.sh
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"
  }'
speaking_bot.py
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)
Meeting BaaS API Preview Features

Recursos