Sobre el proyecto

LiveKit Agents es un framework de código abierto para crear participantes programables en tiempo real que se ejecutan en servidores. Su enfoque son los agentes de voz conversacionales y multimodales que pueden ver, oír y comprender, y se distribuye como un paquete de Python (una biblioteca hermana de JS/TS, AgentsJS, se menciona por separado). Capacidades clave descritas en el README: - Integraciones flexibles: combinar y mezclar proveedores de STT, LLM, TTS y API en tiempo real para un caso de uso determinado. - Programación de tareas integrada: programación y distribución de tareas integradas con API de despacho para conectar a los usuarios finales con los agentes. - Clientes WebRTC: las aplicaciones cliente se pueden crear con el ecosistema de SDK de código abierto de LiveKit en las principales plataformas. - Telefonía: funciona con la pila de telefonía de LiveKit para que los agentes puedan hacer o recibir llamadas telefónicas. - Intercambio de datos: las RPC y otras API de datos permiten que los agentes y los clientes intercambien datos. - Detección semántica de turnos: un modelo transformer detecta cuándo un usuario ha terminado de hablar, lo que, según el proyecto, ayuda a reducir las interrupciones. - Compatibilidad con MCP: las herramientas de los servidores MCP se pueden integrar con una línea de código. - Framework de pruebas integrado: se pueden escribir pruebas y evaluadores para comprobar el comportamiento del agente. - Código abierto: toda la pila se puede autoalojar, incluido el servidor LiveKit, descrito como un servidor de medios WebRTC ampliamente utilizado. Los conceptos centrales son Agent (una aplicación basada en LLM con instrucciones), AgentSession (un contenedor que gestiona las interacciones con los usuarios finales), entrypoint (el punto de partida de una sesión interactiva, similar a un controlador de solicitudes) y AgentServer (el proceso principal que coordina la programación de tareas y lanza agentes). Los ejemplos de uso muestran un agente de voz sencillo que conecta VAD, STT, LLM y TTS mediante LiveKit Inference o plugins de proveedores directos, además de un ejemplo de traspaso entre varios agentes en el que un agente de introducción recopila los datos del usuario y pasa el control a un agente de historias que puede cambiar a un modelo de API en tiempo real. Un ejemplo de pruebas usa pytest con un AgentSession, ejecuta una entrada de usuario y verifica eventos como llamadas a funciones y mensajes del asistente, incluido un evaluador LLM para la intención. Modos de ejecución: `python myagent.py console` para pruebas de audio locales en terminal sin servidores externos, `dev` para un servidor de agentes con recarga en caliente que se conecta a LiveKit Cloud o a un servidor autoalojado, y `start` para optimizaciones listas para producción. Las variables de entorno LIVEKIT_URL, LIVEKIT_API_KEY y LIVEKIT_API_SECRET son necesarias para los modos conectados al servidor. El repositorio incluye un directorio de ejemplos que abarca un agente de voz inicial, un llamador saliente, compatibilidad con MCP, un transcriptor multiusuario, avatares de vídeo con proveedores externos y una demostración de visión de Gemini Live. El desarrollo usa uv para la gestión de paquetes, ruff para el formateo y el linting, pytest para las pruebas unitarias y pdoc para la generación local de documentación. El framework tiene licencia Apache-2.0, mientras que los modelos de detección de turnos de LiveKit usan una Licencia de Modelo de LiveKit independiente. Se aceptan contribuciones mediante issues, pull requests o el Slack de la comunidad.