5.3 KiB
Vocero — Asistente Digital de Voz
¿Qué es Vocero?
Vocero es un asistente digital conversacional avanzado que opera completamente a través de voz, implementando una pipeline Speech-to-Speech (S2S) en tiempo real. Permite a los usuarios interactuar de forma natural mediante diálogo hablado, sin necesidad de interfaces gráficas ni escritura.
El nombre "Vocero" evoca la figura del portavoz: un sistema que escucha, comprende, razona y responde con voz clara y coherente, actuando como intermediario entre el usuario y el conocimiento disponible.
Arquitectura General
Vocero se compone de cinco módulos encadenados en una pipeline de baja latencia:
- Detección de Actividad Vocal (VAD) — Identifica cuándo el usuario empieza y termina de hablar, filtrando el silencio y el ruido de fondo.
- Reconocimiento de Voz (STT / Speech-to-Text) — Transcribe el audio del habla a texto utilizando modelos optimizados.
- Modelo de Lenguaje (LLM) — Procesa el texto transcrito, razona sobre la consulta y genera una respuesta textual coherente. Incluye un sistema RAG server-side que inyecta contexto de la base de conocimiento en cada turno de forma transparente.
- Síntesis de Voz (TTS / Text-to-Speech) — Convierte la respuesta textual en audio natural con acento y tono apropiados.
- Streaming en Tiempo Real — Todos los módulos se ejecutan en paralelo mediante el protocolo OpenAI Realtime, permitiendo respuestas incrementalmente (streaming) en lugar de esperar el final de cada etapa.
Todo esto está orquestado por un servidor FastAPI + Uvicorn con un pool de unidades de pipeline (PipelineUnit) que manejan múltiples sesiones concurrentes.
Características Principales
🎙️ Conversación por Voz Completamente Natural
- Interacción manos libres ideal para entornos industriales, automoción, atención al cliente o asistencia personal.
- Latencia baja gracias al procesamiento por fragmentos (chunks) de audio.
📚 Base de Conocimiento (RAG Server-Side)
- Vocero cuenta con una Knowledge Base (KB) local de documentos en formato Markdown, texto plano y JSONL.
- El sistema indexa automáticamente los documentos usando embeddings multilingües (
paraphrase-multilingual-MiniLM-L12-v2). - Antes de cada respuesta del LLM, el RAGRetriever busca los fragmentos (chunks) más relevantes de la KB y los inyecta directamente en el prompt del modelo.
- La KB se puede actualizar en caliente vía API HTTP (
/v1/rag/) sin necesidad de reiniciar el servicio. - La persistencia en disco (archivos NPZ para los embeddings y JSONL para metadatos) evita la reindexación completa en cada arranque.
🌍 Multilingüe
- Diseñado principalmente para español (
es) e italiano (it), con soporte para inglés (en) gracias a los modelos de embedding multilingües. - El header del prompt RAG se adapta al idioma configurado.
- El TTS utiliza modelos específicos con voces y acentos naturales (ej: acento chileno para el español).
⚙️ Escalable y Concurrente
- El parámetro
--num_pipelinesdefine cuántas sesiones WebSocket simultáneas se pueden atender. - Gestión de procesos en producción mediante PM2 con logs, reinicio automático y monitorización.
- Compatible con arquitecturas ARM64/NVIDIA Grace Blackwell (GB10) y GPU CUDA para máxima eficiencia.
🔄 Actualización Dinámica del Conocimiento
- La KB se puede recargar en caliente con el endpoint
/v1/rag/reload. - Los documentos se añaden o eliminan vía API REST sin detener el servicio.
- El sistema de lock reentrante (RLock) garantiza operaciones thread-safe sobre el índice.
Casos de Uso Típicos
- Asistente de Información Interna: Empresas que necesitan un portavoz virtual que conozca manuales, normativas y procedimientos internos.
- Atención al Cliente por Voz: Call centers automatizados, quioscos interactivos, terminales de atención pública.
- Guía Turístico Audiovisual: Museos, parques, ciudades que ofrecen información hablada contextualizada.
- Asistente Industrial: Técnicos que necesitan consultar manuales o procedimientos mientras tienen las manos ocupadas.
- Educación y Formación: Tutores virtuales que explican conceptos y responden preguntas en voz alta.
Ventajas Tecnológicas
- RAG "invisible": A diferencia de sistemas que muestran fuentes citadas, Vocero integra el contexto directamente en el razonamiento del LLM, ofreciendo respuestas fluidas.
- Sin dependencia de APIs externas en el edge: Todo el pipeline (STT, LLM, TTS, RAG) se puede ejecutar on-premise o en hardware local.
- Persistencia inteligente: La primera indexación es lenta, pero las siguientes son casi instantáneas gracias al cache NPZ.
- API de administración completa: Endpoints
/v1/rag/*para listar, añadir, eliminar y recargar documentos con simples peticiones HTTP/curl.
En Resumen
Vocero es mucho más que un chatbot con voz: es un asistente digital de confianza, que escucha, comprende el contexto de tu organización y responde con voz natural, apoyándose en una base de conocimiento actualizable en tiempo real. Su arquitectura modular y su foco en el procesamiento del habla en tiempo real lo hacen ideal para escenarios donde la conversación humana es el canal principal.