Auf dieser Seite erfahren Sie, 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. Diese Konversion 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.
Bevor Sie diese Anleitung lesen, sollten Sie mit Folgendem vertraut sein:
Agent erstellen
Wenn Sie noch keinen Agent erstellt haben, erstellen Sie jetzt einen:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Wenn Sie dazu aufgefordert werden, melden Sie sich in der Dialogflow-Konsole an. Weitere Informationen finden Sie unter Dialogflow-Konsole – Übersicht.
- Klicken Sie im linken Seitenleistenmenü auf Create agent (Agent erstellen). Wenn Sie bereits andere Agents haben, klicken Sie auf den Agent-Namen, scrollen Sie nach unten und klicken Sie dann auf Create new agent (Neuen Agent erstellen).
- Geben Sie den Namen des Agents, die Standardsprache und die Standardzeitzone ein.
- Wenn Sie bereits ein Projekt erstellt haben, geben Sie dieses Projekt ein. Wenn Sie zulassen möchten, dass die Dialogflow-Konsole das Projekt erstellt, wählen Sie Create a new Google project (Neues Google-Projekt erstellen) aus.
- Klicken Sie auf Create.
Beispieldatei in Agent importieren
Bei den Schritten in dieser Anleitung werden hinsichtlich des Agents Annahmen getroffen. Daher müssen Sie einen für diese Anleitung vorbereiteten Agent importieren. Beim Import wird für diese Schritte die Wiederherstellungsoption verwendet, die alle Agent-Einstellungen, Intents und Entitäten überschreibt.
So importieren Sie die Datei:
- Laden Sie die Datei
room-booking-agent.zip
herunter. - Rufen Sie die Dialogflow ES-Konsole auf.
- Wählen Sie den Agent aus.
- Klicken Sie neben dem Namen des Agents auf die Schaltfläche settings für die Einstellungen.
- Wählen Sie den Tab Export and Import aus.
- Wählen Sie Restore From Zip aus und folgen Sie der Anleitung, um die Inhalte der heruntergeladenen ZIP-Datei wiederherzustellen.
Grundlagen zum Streaming
Die Methode streamingDetectIntent
des Session
-Typs 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 den 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
true
erkennt 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 einStreamingDetectIntentResponse
mit dem ErkennungsergebnisEND_OF_SINGLE_UTTERANCE
an Ihren Client gesendet. Alle Audiodaten, die nach dem Empfang vonEND_OF_SINGLE_UTTERANCE
an 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 keine weiteren Daten mehr gesendet werden.
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_utterance
auf true gesetzt und er erhält eineStreamingDetectIntentResponse
mit 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 Methode streamingDetectIntent
des Session
-Typs zum Streamen von Audio verwendet.
Go
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C# Bitte folgen Sie der Anleitung für die Einrichtung von C# auf der Seite „Clientbibliotheken“ und rufen Sie dann die Dialogflow-Referenzdokumentation für .NET
PHP: Bitte folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite „Clientbibliotheken“ und rufen Sie dann die Dialogflow-Referenzdokumentation für PHP
Ruby: Bitte folgen Sie der Anleitung für die Einrichtung von Ruby auf der Seite „Clientbibliotheken“ und rufen Sie dann die Dialogflow-Referenzdokumentation für Ruby
Beispiele
Auf der Beispielseite finden Sie Best Practices für das Streaming von einem Browsermikrofon zu Dialogflow.