Früher bekannt als Azure-KI-Dienste oder Azure Cognitive Services; eine einheitliche Sammlung vordefinierter KI-Funktionen innerhalb der Microsoft Foundry-Plattform
Hello Martin Groller,
Willkommen bei Microsoft Q&A und vielen Dank für Ihre Anfrage.
Ich verstehe, dass Sie ein Problem haben: Audioantworten, die mit dem GPT-Echtzeitmodell generiert werden, werden nach etwa 10 Sekunden abgeschnitten, und der Antwortstatus wird als „unvollständig“ angezeigt. Wenn Sie jedoch auf Textgenerierung umschalten, erhalten Sie die vollständige Antwort ohne Kürzung. Dies deutet darauf hin, dass die Modellausgabe selbst vollständig ist, der Audiostream-Prozess jedoch unterbrochen oder eingeschränkt wird.
Ursache
Der Status „unvollständig“ bedeutet in der Regel, dass der Audiostream beendet wurde, bevor das Modell die Generierung abgeschlossen hatte, oder dass der Client keine Audio-Chunks mehr empfangen hat. Häufige Ursachen sind:
Die GPT-Echtzeit-API unterstützt derzeit Audioantworten von bis zu etwa 10 Sekunden pro Segment. Längere Audioausgaben werden möglicherweise automatisch abgeschnitten.
Wenn Ihr Client vollständige Streaming-Ereignisse nicht korrekt verarbeitet, kann die Wiedergabe vorzeitig beendet werden.
Instabile WebRTC- oder WebSocket-Verbindungen können dazu führen, dass der Stream vorzeitig geschlossen wird, was unvollständige Antworten zur Folge hat.
Schritte zur Fehlerbehebung
Prüfen Sie, ob das Problem regelmäßig nach etwa 10 Sekunden auftritt. Die Realtime API begrenzt derzeit die maximale Audiodauer pro Antwort. Längere Ausgaben müssen daher gegebenenfalls in kleinere Abschnitte unterteilt werden.
Wenn Ihre Implementierung asynchrone Synthese verwendet (wie die Long Audio API), stellen Sie sicher, dass Ihre Abfrage- oder Ereignisbehandlungslogik die vollständige Antwort abwartet. Dadurch werden alle Audiosegmente erfasst und ein vorzeitiger Abbruch vermieden.
Überprüfen Sie Ihre Ereignisbehandlung für Ereignisse wie response.completed, session.updated oder ähnliche. Stellen Sie sicher, dass Antworten nicht abgebrochen oder vorzeitig als abgeschlossen markiert werden. Eine korrekte Behandlung gewährleistet, dass der Stream fortgesetzt wird, bis das Modell die Ausgabe abgeschlossen hat.
Da die Textgenerierung einwandfrei funktioniert, vergleichen Sie beide Konfigurationen. Prüfen Sie die Unterschiede bei:
Modellparametern (Temperatur, maximale Tokenanzahl usw.)
Einstellungen für das Ausgabeformat
Benutzerdefinierten Timeout- oder Antwortdauerparametern in Ihrer Implementierung
Aktivieren Sie die ausführliche Protokollierung oder überprüfen Sie die Antwortmetadaten auf mögliche Fehlermeldungen (z. B. Timeout, Verbindungsabbruch oder Fehler beim Token-Streaming). Dies kann helfen, die Ursache des Problems einzugrenzen – ob es clientseitig, netzwerkseitig oder serverseitig auftritt.
Experimentieren Sie mit unterschiedlichen Ansagelängen und Antwortkomplexitäten, um festzustellen, ob der Abbruch konsistent nach einer bestimmten Dauer erfolgt oder vom Inhalt abhängt.
Bei Antworten, die länger als 10 Sekunden dauern, bietet es sich an, zunächst die vollständige Textausgabe anzufordern und diese anschließend an einen Text-to-Speech-Dienst (TTS) wie Azure Speech Service zur Audiowiedergabe zu übergeben. Dadurch wird eine vollständige Übertragung gewährleistet und Sie haben die Kontrolle über Wiedergabe, Dauer und Spracheinstellungen.
Echtzeitsitzungen benötigen eine kontinuierliche WebRTC- oder WebSocket-Verbindung. Stellen Sie sicher, dass Ihre Netzwerkverbindung stabil bleibt und die Sitzung nicht mitten in der Antwort abbricht oder ein Timeout auftritt.
Siehe auch:
Ich hoffe, das hilft Ihnen weiter. Melden Sie sich gerne, falls Sie weitere Fragen haben.
Vielen Dank!