Conceptos clave
Comprende los bloques fundamentales de VOCALS.
Tenants
Un tenant es un espacio de trabajo aislado en VOCALS. Cada tenant tiene sus propios:
- Proveedores (claves API y configuraciones)
- Agentes (agentes telefonicos con IA)
- Numeros de telefono
- Registros de llamadas y analiticas
- Claves API y webhooks
Los usuarios pertenecen a un tenant mediante membresia. VOCALS soporta multiples tenants, cada uno con datos y configuracion aislados.
Agentes
Un agente es un asistente telefonico impulsado por IA configurado con:
- System prompt — Instrucciones que definen la personalidad y el comportamiento del agente
- Proveedores — Que servicios de STT, LLM y TTS utilizar
- Mensaje de bienvenida — Saludo opcional que se reproduce al inicio de cada llamada
- Idioma — El idioma en el que habla el agente
- Sensibilidad de barge-in — Que tan sensible es el agente a las interrupciones del llamante (very_low/low/medium/high/very_high)
- Duracion maxima de llamada — Colgado automatico despues de un tiempo establecido
Cada numero de telefono se asigna a un agente.
Proveedores
VOCALS utiliza una capa de abstraccion de proveedores — cada etapa del pipeline de voz (STT, LLM, TTS) puede usar cualquier proveedor soportado. Esto te permite:
- Combinar proveedores (por ejemplo, Deepgram para STT + Anthropic para LLM + ElevenLabs para TTS)
- Cambiar de proveedor sin modificar codigo
- Hacer pruebas A/B con diferentes combinaciones de proveedores
Proveedores soportados
| Tipo | Proveedores |
|---|---|
| STT | Deepgram, OpenAI Whisper, Alibaba Qwen, Fish Audio |
| LLM | OpenAI, Anthropic Claude, Google Gemini, Moonshot Kimi |
| TTS | ElevenLabs, OpenAI TTS, Resemble AI, Fish Audio |
El pipeline de voz
Cada llamada fluye a traves de un pipeline de tres etapas:
- STT (Speech-to-Text) — El audio del llamante se transmite via WebSocket al proveedor de STT, que devuelve transcripciones de texto en tiempo real
- LLM (Language Model) — La transcripcion y el historial de la conversacion se envian al LLM, que genera una respuesta como un flujo de tokens
- TTS (Text-to-Speech) — El texto de respuesta se sintetiza en audio y se transmite de vuelta al llamante
El pipeline procesa cada etapa de forma continua (streaming) para minimizar la latencia. Los limites de oracion se detectan durante la transmision del LLM para que el TTS pueda comenzar antes de que se genere la respuesta completa.
Barge-in
El barge-in permite a los llamantes interrumpir al agente a mitad de frase. Cuando se detecta actividad de voz durante la reproduccion del TTS, el agente deja de hablar y escucha al llamante. Esto se controla mediante la configuracion de sensibilidad de barge-in del agente.
Sesiones
Cada llamada activa tiene una sesion almacenada en Redis que contiene:
- Metadatos de la llamada (SID, direccion, numeros de telefono)
- Historial de la conversacion (mensajes del usuario y del asistente)
- Metricas de uso y tiempos de los proveedores
Cuando una llamada finaliza, la sesion se persiste en PostgreSQL como un registro de llamada para almacenamiento a largo plazo y analiticas.
Webhooks
VOCALS puede notificar a tu aplicacion sobre eventos mediante webhooks:
call.started— Una llamada se ha conectadocall.ended— Una llamada se ha completadocall.failed— Una llamada ha encontrado un errortranscript.ready— Una transcripcion de la conversacion esta disponible
Consulta Webhooks para detalles de configuracion.
Base de conocimiento
Los agentes pueden ser enriquecidos con una base de conocimiento — una coleccion de entradas de texto que proporcionan informacion de referencia que el agente puede utilizar durante las conversaciones. Esto es util para preguntas frecuentes, detalles de productos, precios o cualquier contenido especifico del dominio que el agente deba conocer sin necesidad de incluirlo todo en el system prompt.
Equipos
VOCALS soporta colaboracion en equipo dentro de un tenant. Los propietarios del tenant pueden invitar a miembros del equipo por correo electronico, y cada miembro obtiene acceso al espacio de trabajo compartido. Los limites de tamano del equipo dependen de tu nivel de suscripcion. Consulta Facturacion para detalles sobre los limites de cada nivel.