Outil CLI
livekit/agents avatar
livekit/agents

livekit/agents : un framework Python pour des agents vocaux en temps réel

Aperçu du projet : Un cadre pour créer des agents d'IA vocale en temps réel. Utilisez-le pour créer des agents vocaux conversationnels et multimodaux capables de voir, d'entendre et de comprendre.

14 210 étoiles3 740 forksPythonApache-2.0

En bref

De quoi s’agit-il ?
Ce dépôt fournit un framework pour construire des participants programmables en temps réel qui s'exécutent sur des serveurs, visant des agents vocaux conversationnels et multimodaux capables de voir, d'entendre et de comprendre.
À qui s’adresse-t-il ?
Le README couvre l'installation, les concepts de base et les modes d'exécution, mais laisse des détails pratiques comme la configuration des identifiants, la configuration des fournisseurs et le comportement exact des modèles de détection de tour aux documents liés. La licence Apache-2.0 autorise la copie et la modification, tandis que les modèles de détection de tour sont soumis à une licence distincte.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

L'objectif déclaré du framework

Le README décrit le framework Agents comme un moyen de construire des participants programmables en temps réel qui s'exécutent sur des serveurs. L'objectif est de créer des agents vocaux conversationnels et multimodaux qui peuvent voir, entendre et comprendre. Le dépôt est écrit en Python, et le README renvoie à un équivalent JavaScript/TypeScript appelé AgentsJS, maintenu dans un dépôt séparé. Le framework est open source, et le README note que toute la pile, y compris le serveur LiveKit lui-même, peut être exécutée sur vos propres serveurs.

Concepts de base : Agent, AgentSession, entrypoint, AgentServer

Le README définit quatre blocs de construction. Un Agent est une application basée sur LLM avec des instructions définies. Une AgentSession est un conteneur pour les agents qui gère les interactions avec les utilisateurs finaux. Le point d'entrée est le point de départ d'une session interactive, semblable à un gestionnaire de requêtes dans un serveur web. AgentServer est le processus principal qui coordonne la planification des tâches et lance les agents pour les sessions utilisateur. Ces termes apparaissent dans les exemples d'utilisation et dans les liens de documentation.

Installation et variables d'environnement requises

La commande d'installation indiquée dans le README est pip install "livekit-agents[openai,deepgram,cartesia]" qui installe la bibliothèque principale ainsi que des plugins pour OpenAI, Deepgram et Cartesia. Pour exécuter un agent, vous devez définir les variables d'environnement LIVEKIT_URL, LIVEKIT_API_KEY et LIVEKIT_API_SECRET. Le README n'explique pas comment obtenir ces identifiants, mais il renvoie à la documentation LiveKit à cette fin.

Un exemple minimal d'agent vocal en Python

Le README inclut un exemple complet qui définit un outil de recherche météo avec @function_tool, crée un AgentServer et enregistre un point d'entrée avec @server.rtc_session(). Dans le point d'entrée, une AgentSession est configurée avec VAD, STT, LLM et TTS. L'exemple montre deux façons de configurer les modèles : en utilisant le module livekit.inference avec des chaînes comme "deepgram/nova-3" et "google/gemma-4-31b-it", ou en utilisant des classes de plugins comme deepgram.STT, openai.LLM et cartesia.TTS. L'agent lui-même reçoit des instructions et une liste d'outils, puis session.start() et session.generate_reply() commencent la conversation.

Transfert multi-agents et cadre de test

Un deuxième exemple démontre le transfert entre deux classes d'agents, IntroAgent et StoryAgent, où le premier recueille des informations puis renvoie une nouvelle instance d'agent. Le README présente également une approche de test : vous pouvez écrire des tests pytest qui exécutent une AgentSession et vérifient la séquence des événements, y compris les appels de fonction et les messages de l'assistant. L'exemple utilise result.expect.next_event() pour parcourir les événements et un juge qui utilise un LLM pour vérifier l'intention. Le README note que les tests automatisés sont importants car le comportement des LLM est non déterministe.

Exécution de l'agent : console, dev et start

Le README documente trois façons d'exécuter un script d'agent. python myagent.py console l'exécute en mode terminal avec entrée et sortie audio locales, sans nécessiter de serveurs externes. python myagent.py dev démarre le serveur d'agents avec rechargement à chaud, et chaque processus peut héberger plusieurs agents simultanés. python myagent.py start exécute l'agent avec des optimisations prêtes pour la production. Le README mentionne également l'Agents Playground comme moyen de démarrer rapidement et renvoie au répertoire examples pour plus de scénarios.

Licence et écosystème

Le framework Agents est sous licence Apache-2.0, et les modèles de détection de tour de LiveKit sont soumis à une licence distincte, la LiveKit Model License. Le texte Apache-2.0 accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite et sans redevance pour reproduire, préparer des œuvres dérivées et distribuer l'œuvre. Il comprend également une licence de brevet, soumise à résiliation en cas de litige en matière de brevets. Le tableau de l'écosystème du README répertorie le SDK agents Python, une bibliothèque agents Node.js, des SDK clients pour de nombreuses plateformes, ainsi que le serveur LiveKit open source et ses composants associés. Le README ne fournit aucune déclaration de performance, garantie de disponibilité ou politique de support formelle.

Conclusion éditoriale

Le README couvre l'installation, les concepts de base et les modes d'exécution, mais laisse des détails pratiques comme la configuration des identifiants, la configuration des fournisseurs et le comportement exact des modèles de détection de tour aux documents liés. La licence Apache-2.0 autorise la copie et la modification, tandis que les modèles de détection de tour sont soumis à une licence distincte.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté