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ão
  • DELETE /bots/{bot_id} — Remove um bot de uma reunião
  • GET /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_tools para compilação de protocol buffer
  • Ngrok para desenvolvimento local
  • Poetry para gerenciamento de dependências

Configuração Rápida

  1. Clone o repositório:

    git clone https://github.com/Meeting-Baas/speaking-meeting-bot.git
    cd speaking-meeting-bot
  2. 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
  3. Configure o ambiente:

    cp env.example .env

    Edite .env com suas chaves de API:

    • MEETING_BAAS_API_KEY: Para integração com a plataforma de reunião
    • OPENAI_API_KEY: Para o LLM de conversação
    • CARTESIA_API_KEY: Para conversão de texto em fala
    • GLADIA_API_KEY ou DEEPGRAM_API_KEY: Para conversão de fala em texto
  4. 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

basic_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"
  }'
advanced_speaking_bot.sh
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."
  }'
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)

Remover um Bot da Reunião

remove_bot.sh
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

persona_config.yaml
# 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.md

Personas 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
Meeting BaaS API Preview Features

Comece Agora

Pronto para fazer deploy de agentes de IA conversacional em suas reuniões? Confira nossos recursos abrangentes: