LiveKit permet aux développeurs d’ajouter la vidéo, la voix et les données en temps réel à leurs applications. Né en 2021 comme projet open source utilisant WebRTC, LiveKit est un pionnier de l’IA vocale et vidéo en temps réel. Des milliers de développeurs et d’équipes utilisent son infrastructure, des indépendants aux grandes entreprises comme OpenAI.
Alors que la plupart des entreprises voyaient l’appel vidéo comme un outil de réunion, les fondateurs de LiveKit imaginaient la voix et la vidéo en temps réel au cœur de toute application. Cette vision a mené au lancement de LiveKit Agents en janvier 2024, un framework pour créer des agents d’IA programmables et multimodaux.
Essayez une conversation en direct avec un agent LiveKit utilisant Cartesia :
Le défi
LiveKit voulait créer des agents capables de raisonner au niveau humain, avec plusieurs difficultés techniques à résoudre :
- La faible latence : les agents avaient besoin d’un traitement très réactif. LiveKit orchestre la vidéo, le texte et l’audio et doit donc transporter les données entre serveur et client aussi vite que possible.
- Des voix naturelles : les agents remplacent souvent des humains au téléphone. La parole doit être très réaliste.
- Plusieurs langues : les clients de LiveKit étant présents dans le monde entier, les agents doivent fonctionner dans plusieurs langues.
- La capacité à grande échelle : les usages critiques, comme la réception des appels d’urgence au 911, exigent de nombreux utilisateurs simultanés, une disponibilité garantie et des performances aux heures de pointe.
- Les limites du contexte : les agents actifs longtemps doivent conserver une conversation cohérente tout en traitant des flux audio, vidéo et textuels en temps réel. Les transformers peinent à le faire, avec des rechargements constants du contexte et des limites de longueur qui empêchent les interactions continues.
La solution
LiveKit a choisi Cartesia parce que Sonic et son architecture fondamentalement nouvelle à modèles d’espace d’état correspondaient à sa vision des futurs agents.
- Une architecture avancée : les SSM permettent à Sonic de conserver un état et de traiter nativement les données en streaming. Les agents gardent le contexte pendant des heures ou des jours sans perte de performance.
- Une très faible latence : Cartesia proposait le modèle le plus rapide du marché, avec moins de 100 ms avant le premier audio, pour de meilleures performances de bout en bout des agents multimodaux.
- Des voix naturelles : les modèles produisent une parole humaine adaptée au contexte et constante pendant les longues conversations.
- Plusieurs langues : Cartesia propose 14 langues avec la même latence, la même qualité et la même précision que son modèle anglais.
- La capacité d’entreprise : l’infrastructure prend en charge les applications critiques à fort volume.
Les résultats
Cartesia est disponible comme intégration pour LiveKit Agents. Le partenariat a permis des déploiements exigeants dans plusieurs domaines :
- Les services d’urgence : des agents pour le 911, qui exigent une fiabilité parfaite et des interactions naturelles.
- Les jeux vidéo : des personnages non joueurs par IA pour des expériences immersives.
- Les véhicules autonomes : le traitement de télémétrie et la prise de décision en temps réel.
- Les solutions d’entreprise : l’intégration des capacités vocales et visuelles aux systèmes d’IA existants.
Pour les développeurs
L’association de LiveKit et Cartesia apporte la qualité du réseau WebRTC mondial de LiveKit et la rapidité de Sonic.
Les développeurs peuvent exécuter les workers Agents sur leur ordinateur pendant le développement et les déployer sur leurs serveurs en production. Les agents se connectent à l’API Cartesia et diffusent l’audio aux utilisateurs via le réseau LiveKit.
Ils disposent ainsi d’une synthèse vocale avancée tout en contrôlant leur logique métier, comme le RAG ou la recherche de données, dans leur propre code. Un agent de démonstration simple tient en cinquante lignes, hors espaces et commentaires. L’exemple d’origine est conservé ci-dessous :
load_dotenv(dotenv_path=".env.local")
logger = logging.getLogger("voice-agent")
def prewarm(proc: JobProcess):
proc.userdata["vad"] = silero.VAD.load()
async def entrypoint(ctx: JobContext):
initial_chat_context = llm.ChatContext().append(
role="system",
text=(
"You are a voice assistant created by LiveKit. Your interface with users will be voice. "
"You should use short and concise responses, and avoid usage of unpronounceable punctuation. "
),
)
logger.info(f"connecting to room {ctx.room.name}")
await ctx.connect(auto_subscribe=AutoSubscribe.AUDIO_ONLY)
# Wait for the first participant to connect
participant = await ctx.wait_for_participant()
logger.info(f"starting voice assistant for participant {participant.identity}")
# Set up the Agent
agent = VoicePipelineAgent(
vad=ctx.proc.userdata["vad"],
stt=deepgram.STT(),
llm=openai.LLM(model="gpt-4o-mini"),
tts=cartesia.TTS(
model="sonic",
voice="794f9389-aac1-45b6-b726-9d9369183238",
),
chat_ctx=initial_chat_context,
)
agent.start(ctx.room, participant)
# Once connected, we start by hardcoding a greeting
await agent.say(f"Hey {participant.identity}! How can I help you today?", allow_interruptions=True)
if __name__ == "__main__":
cli.run_app(
WorkerOptions(
entrypoint_fnc=entrypoint,
prewarm_fnc=prewarm,
),
)
Les applications internet n’ont pas été conçues pour notre future utilisation des ordinateurs. Ceux-ci verront, entendront et parleront comme nous. Nous échangerons avec eux comme entre nous. Nous avons conçu le framework Agents pour faciliter la création de ces applications. Cartesia, pionnier de l’architecture SSM, partageait notre conviction que les modèles multimodaux en temps réel seraient au centre de l’informatique. C’était le partenaire idéal pour le lancement d’Agents.
Russ et David partagent notre vision : de nouvelles architectures sont nécessaires pour que l’IA multimodale réalise son potentiel. Avec LiveKit, nos clients créent en quelques heures des agents avancés qui prennent des appels. Nous sommes reconnaissants de pouvoir alimenter ces agents pour des tâches de raisonnement plus complexes que jamais.
LiveKit et Cartesia nous permettent de déployer efficacement à grande échelle des agents conversationnels fiables aux voix naturelles. Ils servent nos clients 24 h/24 et 7 j/7 en améliorant l’accès des patients et leur expérience.