Auf dieser Seite wird beschrieben, wie Sie mithilfe der API eine Audioeingabe an eine Anfrage zur Intent-Erkennung streamen. Dialogflow verarbeitet die Audioeingabe und konvertiert sie in Text, bevor ein Intent-Abgleich versucht wird. 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, können Sie diesen Leitfaden überspringen.
Führen Sie die folgenden Aufgaben aus, bevor Sie diesen Leitfaden lesen:
- Grundlagen von Dialogflow lesen.
- Einrichtungsschritte ausführen
Agent erstellen
- Rufen Sie die Dialogflow ES-Konsole auf.
- Melden Sie sich bei 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 Agents werden geladen.
- Klicken Sie auf Neuen Agent erstellen.
- Geben Sie den Namen des Agents, die Standardsprache und die Standardzeitzone ein.
- Geben Sie ein vorhandenes Projekt ein. Wenn die Dialogflow-Konsole ein Projekt erstellen soll, 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-Streaming-Objekt zurück.
Je nach Sprache sind unterschiedliche Methoden für dieses Objekt verfügbar. Details dazu 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 prüft gleichzeitig, ob ein StreamingDetectIntentResponse zurückkommt.
Die Methode streamingDetectIntent hat einen Parameter query_input.audio_config.single_utterance, der die Spracherkennung beeinflusst:
- Bei
false(Standardwert) wird die Spracherkennung erst beendet, wenn der Client den Stream schließt. - Bei
trueerkennt Dialogflow eine einzelne gesprochene Äußerung der Audioeingabe. Wenn Dialogflow feststellt, dass die Stimme verstummt oder der Sprecher eine Pause macht, wird die Spracherkennung eingestellt und einStreamingDetectIntentResponsemit dem ErkennungsergebnisEND_OF_SINGLE_UTTERANCEan Ihren Client gesendet. Alle Audiodaten, die nach dem Empfang vonEND_OF_SINGLE_UTTERANCEan Dialogflow gestreamt werden, werden von Dialogflow ignoriert.
Beim bidirektionalen Streaming kann ein Client das Stream-Objekt halb schließen , um dem Server zu signalisieren, dass es keine weiteren Daten mehr 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.
- In der Konfiguration des Clients ist
single_utteranceauftruegesetzt und er erhält einStreamingDetectIntentResponsemit dem ErkennungsergebnisEND_OF_SINGLE_UTTERANCE.
Nach dem Schließen eines Streams sollte der Client bei Bedarf eine neue Anfrage mit einem neuen Stream starten.
Intent-Erkennung beim Streaming
In den folgenden Beispielen wird die
Session
des Typs streamingDetectIntent zum Streamen von Audio verwendet.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow CX zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow CX zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow CX zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow CX zu authentifizieren. 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 der 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 zur Einrichtung 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 Browser mikrofon zu Dialogflow finden Sie auf der Seite mit den Beispielen.