Proyecto para cliente
Asistente de voz con IA — preguntas y respuestas inteligentes con entrada/salida de voz

Tecnologías
Servicios
- →Arquitectura de canalización de IA (STT → LLM → TTS)
- →Integración de OpenAI Whisper para reconocimiento de voz
- →Integración de GPT-4 con RAG sobre base de conocimiento personalizada
- →Síntesis de voz con ElevenLabs y reproducción de audio en streaming
- →Widget de React incrustable — despliegue listo para usar
- →Gestión del historial de conversación con reconocimiento de sesión
Entregables
- ✓Ciclo completo de asistente de voz: hablar → transcribir → razonar → responder con voz
- ✓Latencia inferior a 2 segundos desde el fin del habla hasta la primera respuesta de audio
- ✓Base de conocimiento acotada al dominio con recuperación vectorial (RAG)
- ✓Widget incrustable autocontenido — integración con una sola etiqueta script
- ✓Streaming basado en WebSocket para entrada/salida de audio de baja latencia
Desafío
El cliente necesitaba un asistente conversacional incrustado en su producto — uno capaz de responder preguntas sobre su dominio, entender la entrada hablada y responder con voz natural. Los widgets de chatbot listos para usar cubrían solo texto. La voz requería unir tres servicios de IA independientes: conversión de voz a texto, un modelo de lenguaje y conversión de texto a voz — con una latencia lo bastante baja como para sentirse como una conversación real.
Opciones consideradas
- Solo la Web Speech API del navegador — gratuita, latencia cero para el reconocimiento de voz, pero la calidad de reconocimiento no era confiable en acentos no ingleses y en navegadores móviles. La síntesis de voz sonaba robótica. Rechazada por motivos de calidad.
- Plataforma de asistente de voz totalmente gestionada (Voiceflow, VAPI) — rápida para prototipar, pero encerraba al cliente en un proveedor con personalización limitada de la capa de razonamiento. Rechazada para conservar el control sobre el prompt y el contexto del LLM.
- OpenAI Whisper + GPT-4 + ElevenLabs, orquestación a medida — elegida. Precisión de primer nivel en cada etapa; el streaming reduce la latencia percibida; la capa de razonamiento es totalmente personalizable.
Decisión
El audio capturado en el navegador se transmite en streaming a un backend en Python. Whisper transcribe el audio en tiempo real. La transcripción se envía a GPT-4 con un system prompt acotado a la base de conocimiento del dominio del cliente. La respuesta se transmite token por token; a medida que se completan las oraciones, se envían a ElevenLabs para su síntesis. Los fragmentos de audio resultantes se reproducen secuencialmente en el navegador — el usuario escucha la primera oración antes de que el modelo termine de generar la respuesta completa.

Implementación
El backend en FastAPI expone un endpoint WebSocket para el streaming de audio. Una capa de VAD (detección de actividad de voz) en el frontend decide cuándo el usuario terminó de hablar antes de vaciar el búfer hacia Whisper. La base de conocimiento se almacena como embeddings vectoriales (OpenAI Embeddings + Pinecone); los fragmentos relevantes se recuperan y se inyectan en la ventana de contexto de GPT-4 en cada turno. El historial de conversación se mantiene por sesión para dar soporte a preguntas de seguimiento. El widget del frontend es un componente de React autocontenido, incrustable mediante una sola etiqueta script.
Resultado
Latencia de extremo a extremo desde el fin del habla hasta la primera sílaba de audio: menos de 1.8 segundos en promedio. La precisión de reconocimiento en terminología específica del dominio superó el 95%. El widget se desplegó sin cambios en la aplicación anfitriona — una etiqueta script, cero acoplamiento con el backend.
Disponible para colaboración por contrato
Estoy disponible para colaborar por contrato. Si tiene una idea de proyecto interesante, reserve una llamada por Calendly.
Agenda una llamada de 30 min