Skip to main content
Der Avaluma-LiveKit-Agent ist ein Python-Worker auf Basis des livekit-agents-Frameworks. Er verbindet sich mit einem LiveKit-Raum und steuert einen Avaluma-Avatar, indem er Audio über die AvatarSession-API leitet — die Brücke zwischen deiner Sprach-Pipeline und dem Avatar-Server, der die .hvia-Datei animiert. Zwei einsatzbereite Agent-Muster sind enthalten, sodass du mit dem Ansatz beginnen kannst, der am besten zu deiner Architektur passt.

Agent-Muster

Konversations-Agent

Vollständige Sprach-KI-Pipeline: STT → LLM → TTS → Avaluma-Avatar. Angetrieben von LiveKit Inference mit AssemblyAI, OpenAI GPT-4.1-mini und Cartesia Sonic-3.

Externes Audio

Streame rohes PCM-Audio direkt zum Avatar per LiveKit-DataStream und umgehe die AgentSession-Pipeline vollständig — ideal für eigene TTS- oder Audioquellen.

So funktioniert die AvatarSession

Beide Agenten basieren auf AvatarSession aus dem Paket avaluma-livekit-plugin. Du instanziierst sie mit deinen Zugangsdaten, rufst avatar.start() auf, und sie übernimmt das Beitreten zum Raum als separater Avatar-Teilnehmer sowie das Weiterleiten der Audio-Frames an den Avatar-Server zum Rendern.

Ein Muster wählen

Abhängigkeiten

Alle Abhängigkeiten sind in pyproject.toml deklariert und werden von uv verwaltet:
pyproject.toml

Voraussetzungen

Stelle vor dem Start eines der Agenten sicher, dass du Folgendes hast:

Docker & Docker Compose

Beide Agenten werden mit einer docker-compose.yaml für einen konfigurationsfreien lokalen Start ausgeliefert.

LiveKit-Konto

Ein LiveKit-Cloud-Projekt oder eine selbst gehostete Instanz. Du brauchst URL, API-Key und API-Secret.

Avatar-Server

Eine laufende avatar-server-Instanz oder den gehosteten Endpunkt unter https://api.avaluma.ai.

Avaluma-Lizenzschlüssel

Dein AVALUMA_LICENSE_KEY aus dem Avaluma-Dashboard — direkt an AvatarSession übergeben.

Deinen Agent testen

Sobald Agent und Avatar-Server laufen, verbinde dich mit einem dieser Clients:
Setze im LiveKit Agent Playground das Feld Agent Name auf die Umgebungsvariable AGENT_NAME, die du konfiguriert hast (z. B. agent-1). Reagiert der Agent nach dem Ändern des Namens nicht, lade die Seite neu und verbinde dich erneut.