Skip to main content

Visión general

Componentes

  • Backend (Aura-reloaded): NestJS. Recibe la llamada (Retell WS o audio-fork WS), corre el RAG, llama al LLM y hace broadcast de sugerencias/transcript al dashboard por el WebSocket del copiloto.
  • Frontend (aura-front): dashboard en tiempo real del agente/supervisor.
  • Ajolote: identidad, sesión y roles (ver Autenticación).
  • PostgreSQL + pgvector: datos relacionales + las dos bases vectoriales del RAG.

Flujo 1 — Retell (voz IA)

Aura es el Custom LLM de Retell. Retell se conecta por WebSocket y Aura responde.

Además hay dos custom functions que Retell puede invocar: consult (RAG crudo sin LLM) y transfer (resumen de la llamada para derivar a un humano).

Flujo 2 — Audio-fork (Yeastar / FreeSWITCH)

El humano atiende; Aura escucha una copia del audio y sugiere.

El agente toma (claim) la llamada desde el dashboard, ve la sugerencia y la valida (usar / incorrecta / descartar). El feedback alimenta el flywheel (ver RAG y Observabilidad).

Conceptos clave del RAG

  • Dos bases en paralelo: memory_embeddings (correcciones de supervisores, alta precisión) + knowledge_base (manuales técnicos).
  • Normalización de STT: convierte variantes fonéticas al nombre técnico ("m cincuenta""M50") antes de embeddear.
  • Context locking: al primer hit de manual, el contexto se fija para toda la llamada; los turnos siguientes no re-buscan.
  • Prompt caching: el system message es fijo por llamada; el contexto RAG se inyecta en el último mensaje del usuario para maximizar el prefijo cacheable por OpenAI.

Detalle completo en RAG → Pipeline.

Mapa de módulos (backend src/)

MóduloQué hace
retell/Custom LLM WS, webhook, consult, transfer, claim
audio-fork/Gateway WS de FreeSWITCH, STT, sesiones, claim/release
memory/RAG sobre correcciones (production/ retrieval, learning/ ingesta)
knowledge/RAG sobre manuales (knowledge_base)
llm/Abstracción de provider LLM (port/adapter)
copilot/WebSocket del dashboard (broadcast de eventos)
feedback/Acciones del supervisor + estadísticas
event-log/Logging estructurado + auditoría (ver Observabilidad)
metrics/Métricas operativas agregadas (ver Observabilidad)
auth/Guards de Ajolote (SessionGuard, AppRoleGuard)
database/Conexión Drizzle + barrel de schemas
common/Utilidades compartidas (ej. period.util.ts)