Der Avatar-Video-Stream erscheint nicht
Der Avatar-Video-Stream erscheint nicht
Wenn du dich mit deinem Agent verbindest, aber kein Video siehst, prüfe Folgendes:
- Prüfe, ob der Avatar-Server läuft. Führe
docker compose psim Verzeichnisavatar-server/aus — der Containeravaluma-avatar-serversollte den StatusUpzeigen. - Bestätige, dass deine
.hvia-Datei vorhanden ist. Prüfe, ob deine Avatar-Datei unterassets/avatars/<your-avatar-id>.hviaexistiert und dass der Dateiname (ohne die Endung.hvia) exakt zuravatar_idin deinem Agent-Skript passt. - Prüfe
AVATAR_SERVER_URL. Öffne.env.localund bestätige, dass die URL zur tatsächlichen Adresse passt, unter der dein Avatar-Server erreichbar ist. Eine Abweichung bedeutet, dass der Agent den Server nicht erreichen kann, um eine Render-Session anzufordern. - Untersuche die Avatar-Server-Logs. Führe folgenden Befehl aus dem Verzeichnis
avatar-server/aus, um Fehler beim Start oder während der Session zu prüfen:
Fehler: AVALUMA_LICENSE_KEY is not set
Fehler: AVALUMA_LICENSE_KEY is not set
Dieser Fehler bedeutet, dass der Agent gestartet wurde, ohne deinen Lizenzschlüssel zu finden. Prüfe diese häufigen Ursachen:
- Bestätige, dass
.env.localexistiert. Die Datei muss.env.localheißen — nicht.env,.env.exampleoder ähnlich. Der Agent ruft gezieltload_dotenv(".env.local")auf und greift nicht auf andere Dateinamen zurück. - Kopiere aus der Beispieldatei, falls noch nicht geschehen. Führe folgenden Befehl aus dem Verzeichnis
livekit-agent/aus:
- Prüfe, ob der Schlüssel gesetzt ist. Öffne
.env.localund bestätige, dassAVALUMA_LICENSE_KEYeinen echten Wert hat — keinen leeren String und keinen Platzhalter.
GPU- / CUDA-Fehler beim Start des Avatar-Servers
GPU- / CUDA-Fehler beim Start des Avatar-Servers
Der Avatar-Server benötigt eine korrekt konfigurierte NVIDIA-GPU. Wenn du CUDA-Fehler siehst oder der Container nicht startet, arbeite diese Prüfungen durch:
- Installiere das NVIDIA Container Toolkit. Das Toolkit muss auf dem Host installiert sein, bevor Docker GPU-Zugriff in den Container reichen kann. Folge der offiziellen Installationsanleitung.
- Prüfe die GPU-Sichtbarkeit auf dem Host. Führe
nvidia-smiaus — schlägt es fehl, ist dein NVIDIA-Treiber nicht installiert oder nicht korrekt geladen. - Bestätige, dass CUDA 12 verfügbar ist. Führe Folgendes aus und achte auf
CUDA Version: 12.x:
- Prüfe den verfügbaren VRAM. Der Avatar-Server benötigt mindestens 6 GB freien VRAM. Führe
nvidia-smiaus und prüfe die SpalteMemory-Usage. - Prüfe den GPU-Block in
docker-compose.yaml. Der Blockdeploy.resources.reservations.devicesmuss vorhanden sein. Bestätige, dass er so aussieht:
docker-compose.yaml
Agent reagiert nicht im LiveKit Playground
Agent reagiert nicht im LiveKit Playground
Wenn du dich verbindest, der Agent aber dem Raum nie beitritt oder nie antwortet, prüfe Folgendes:
- Stimme den Agent-Namen exakt ab. Der im
environment-Block der Agent-docker-compose.yamlgesetzteAGENT_NAMEmuss identisch mit dem im Playground eingegebenen sein. Groß-/Kleinschreibung und Bindestriche zählen. - Lade das Playground neu und verbinde erneut. Das LiveKit Agent Playground speichert den vorherigen Agent-Namen in der Browser-Session. Hast du
AGENT_NAMEgeändert, lade die Seite vor dem erneuten Verbinden neu. - Prüfe die Agent-Logs. Führe Folgendes aus dem Verzeichnis
livekit-agent/aus, um Start- und Dispatch-Fehler zu sehen:
- Prüfe deine LiveKit-Zugangsdaten. Bestätige, dass
LIVEKIT_URL,LIVEKIT_API_KEYundLIVEKIT_API_SECRETin.env.localkorrekt sind und zum im Playground gewählten Projekt passen.
Mehrere Avatar-Sessions überschreiten den VRAM
Mehrere Avatar-Sessions überschreiten den VRAM
Wenn du mehr gleichzeitige Avatar-Sessions betreibst, als deine GPU unterstützt, scheitern neue Sessions am Start oder bestehende stürzen ab. Verwalte die VRAM-Nutzung so:
- Kalkuliere 2,5 GB pro Session. Jede aktive Avatar-Render-Session verbraucht etwa 2,5 GB GPU-VRAM.
- Kenne deine Grenzen. Eine 6-GB-VRAM-GPU unterstützt etwa 2 gleichzeitige Sessions, eine 12-GB-VRAM-GPU etwa 4.
- Stoppe ungenutzte Agent-Container. Gib VRAM frei, bevor du neue Sessions startest, indem du nicht genutzte Agent-Container stoppst:
- Überwache den VRAM in Echtzeit. Führe
nvidia-smiaus, um die aktuelle Speichernutzung aller GPU-Prozesse zu sehen und freien Spielraum zu bestätigen, bevor du weitere Sessions startest.
TLS- / HTTPS-Zertifikatsfehler
TLS- / HTTPS-Zertifikatsfehler
Wenn du den enthaltenen Caddy-Reverse-Proxy nutzt und TLS-Zertifikatsfehler siehst, prüfe Folgendes:
- Mache deine Domain öffentlich erreichbar. Caddy nutzt das ACME-Protokoll, um Zertifikate automatisch auszustellen. Dein Server muss aus dem Internet auf Port 80 (für die HTTP-Challenge) und Port 443 (für HTTPS-Verkehr) erreichbar sein, bevor Caddy ein Zertifikat erhalten kann.
- Öffne Firewall-Ports. Stelle sicher, dass deine Host-Firewall und etwaige Cloud-Security-Groups eingehenden TCP-Verkehr auf den Ports 80 und 443 zulassen.
- Stimme die Domain im
Caddyfileab. Die inreverse_proxy/Caddyfiledeklarierte Domain muss exakt mit dem DNS-A-Record übereinstimmen, der auf die öffentliche IP deines Servers zeigt. Jede Abweichung lässt die Zertifikatsausstellung scheitern. - Prüfe die Caddy-Logs. Führe Folgendes aus dem Verzeichnis
reverse_proxy/aus, um die vollständige Ausgabe der Zertifikatsausstellung zu sehen:
Externes Audio (agent-2) animiert den Avatar nicht
Externes Audio (agent-2) animiert den Avatar nicht
Wenn du
agent-2 nutzt, um Audio per LiveKit-DataStream direkt an den Avatar zu streamen, der Avatar sich aber nicht animiert, prüfe diese Konfigurationsdetails:- Verwende exakt das DataStream-Topic. Das Topic muss
lk.audio_streamsein — jede Abweichung in Schreibweise oder Groß-/Kleinschreibung führt dazu, dass der Empfänger des Avatars den Stream komplett ignoriert. - Setze die Teilnehmerart auf
"agent". Das Token des sendenden Teilnehmers musskind: "agent"enthalten. DerDataStreamAudioReceiverdes Avatars verarbeitet nur Streams von Teilnehmern mit Agent-Art. - Prüfe das Identitäts-Präfix des Avatars. Die Identität des Avatar-Teilnehmers muss mit
avatar-beginnen. Der Beispielcode prüft dieses Präfix, um den Avatar zu identifizieren. - Setze Stream-Attribute als Strings. Die Attribute
sample_rateundnum_channelsdes DataStreams müssen als String-Werte gesetzt werden, nicht als Integer, damit der Empfänger sie korrekt parst.
