Saltar al contenido principal

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

TipoProveedores
STTDeepgram, OpenAI Whisper, Alibaba Qwen, Fish Audio
LLMOpenAI, Anthropic Claude, Google Gemini, Moonshot Kimi
TTSElevenLabs, OpenAI TTS, Resemble AI, Fish Audio

El pipeline de voz

Cada llamada fluye a traves de un pipeline de tres etapas:

  1. STT (Speech-to-Text) — El audio del llamante se transmite via WebSocket al proveedor de STT, que devuelve transcripciones de texto en tiempo real
  2. LLM (Language Model) — La transcripcion y el historial de la conversacion se envian al LLM, que genera una respuesta como un flujo de tokens
  3. 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 conectado
  • call.ended — Una llamada se ha completado
  • call.failed — Una llamada ha encontrado un error
  • transcript.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.