Sofia — Agente de voz con IA en tiempo real
Agente de voz con IA en tiempo real
Sofia
- Python 3.12
- LiveKit Agents
- Deepgram Nova-3
- Claude Haiku 4.5
- Gemini 2.5 Flash
- ElevenLabs Flash
- Silero VAD
- PostgreSQL
- Docker
Resumen
Sofia es una recepcionista telefónica con IA, 24/7, para clínicas. El paciente marca un número normal y habla con un agente en tiempo real que agenda, captura datos y deriva a un humano cuando duda — en habla natural, en menos de un segundo y medio por turno.
Arquitectura
caller
STTDeepgram Nova-3
LLMClaude Haiku 4.5 · Gemini 2.5 Flash
TTSElevenLabs Flash
caller
~416 ms
~882 ms
~163 ms
~1.46 s
Lo clave
- Cascada en tiempo real: Deepgram Nova-3 (voz→texto) → un LLM (Claude Haiku 4.5, con Gemini 2.5 Flash como respaldo intercambiable en caliente) → ElevenLabs Flash (texto→voz), orquestado sobre LiveKit.
- Latencia mediana ~1.46s de extremo a extremo por turno, medida y registrada por turno (desglose STT / LLM / TTS): pasados ~1.5s el que llama cree que es un buzón y cuelga.
- Tool-calling idempotente: el modelo llama save_caller_name una vez; un índice único en Postgres garantiza exactamente una fila por llamada, así los reintentos no duplican.
- Silero VAD + un detector de fin-de-turno por modelo deciden cuándo el paciente realmente terminó — sin cortes a mitad de frase.
- Tipado estricto (mypy --strict), ≥90% de cobertura en la lógica de negocio, Dockerizado y con CI. Stack residente en la UE para GDPR.