Auf dieser Seite wird beschrieben, wie Sie Audioeingaben mithilfe der API an eine Intent-Erkennungsanfrage streamen. Dialogflow verarbeitet die Audiodaten und wandelt sie in Text um, bevor versucht wird, einen Intent abzugleichen. Dieser Vorgang wird als Audioeingabe, Spracherkennung, Sprache-zu-Text oder STT bezeichnet.
Hinweis
Dieses Feature ist nur verfügbar, wenn die API für Endnutzerinteraktionen verwendet wird. Wenn Sie eine Integration verwenden, können Sie diesen Leitfaden überspringen.
Führen Sie die folgenden Aufgaben aus, bevor Sie diesen Leitfaden lesen:
Agent erstellen
- Rufen Sie die Dialogflow ES-Konsole auf.
- Melden Sie sich in der Console an, wenn Sie dazu aufgefordert werden. Weitere Informationen finden Sie in der Übersicht über die Dialogflow-Konsole.
- Maximieren Sie im Menü der Seitenleiste Lade-Agents.
- Klicken Sie auf Neuen Agent erstellen.
- Geben Sie den Namen des KI-Agenten, die Standardsprache und die Standardzeitzone ein.
- Geben Sie ein vorhandenes Projekt ein. Wenn Sie ein Projekt über die Dialogflow-Konsole erstellen möchten, wählen Sie Neues Google-Projekt erstellen aus.
- Klicken Sie auf Erstellen.
Grundlagen zum Streaming
Die Methode streamingDetectIntent des Typs Session gibt ein bidirektionales gRPC-Streamingobjekt zurück.
Die verfügbaren Methoden für dieses Objekt variieren je nach Sprache. Weitere Informationen finden Sie in der Referenzdokumentation für Ihre Clientbibliothek.
Das Streaming-Objekt wird verwendet, um gleichzeitig Daten zu senden und zu empfangen. Mit diesem Objekt streamt Ihr Client Audioinhalte an Dialogflow und wartet gleichzeitig auf eine StreamingDetectIntentResponse.
Die Methode streamingDetectIntent hat einen Parameter query_input.audio_config.single_utterance, der sich auf die Spracherkennung auswirkt:
- Wenn
false(Standard) festgelegt ist, wird die Spracherkennung erst beendet, wenn der Client den Stream schließt. - Wenn
true, erkennt Dialogflow eine einzelne gesprochene Äußerung im Eingabeaudio. Wenn Dialogflow erkennt, dass die Stimme im Audioinhalt aufgehört oder pausiert hat, wird die Spracherkennung beendet und einStreamingDetectIntentResponsemit dem ErkennungsergebnisEND_OF_SINGLE_UTTERANCEan Ihren Client gesendet. Alle Audiodaten, die nach dem Empfang vonEND_OF_SINGLE_UTTERANCEim Stream an Dialogflow gesendet werden, werden von Dialogflow ignoriert.
Beim bidirektionalen Streaming kann ein Client das Streamobjekt halb schließen, um dem Server zu signalisieren, dass er keine weiteren Daten sendet. In Java und Go heißt diese Methode beispielsweise closeSend.
In den folgenden Situationen ist es wichtig, Streams halb zu schließen (aber nicht abzubrechen):
- Ihr Client hat das Senden von Daten abgeschlossen.
- Ihr Client ist so konfiguriert, dass
single_utteranceauftruefestgelegt ist, und er empfängt eineStreamingDetectIntentResponsemit dem ErkennungsergebnisEND_OF_SINGLE_UTTERANCE.
Nach dem Schließen eines Streams sollte Ihr Client bei Bedarf eine neue Anfrage mit einem neuen Stream starten.
Intent-Erkennung beim Streaming
In den folgenden Beispielen wird die Methode streamingDetectIntent des Session-Typs zum Streamen von Audio verwendet.
Go
Richten Sie zur Authentifizierung bei Dialogflow CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Dialogflow CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Dialogflow CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Dialogflow CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite „Clientbibliotheken“ und rufen Sie dann die Dialogflow CX-Referenzdokumentation für .NET auf.
PHP Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Dialogflow CX-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zum Einrichten von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Dialogflow CX-Referenzdokumentation für Ruby auf.
Beispiele
Weitere Informationen zu Best Practices für das Streaming von einem Browsermikrofon zu Dialogflow finden Sie auf der Seite mit Beispielen.