Mit CCAI Transcription können Sie Ihre Streaming-Audiodaten in Echtzeit in transkribierten Text umwandeln. Agent Assist macht Vorschläge auf Grundlage von Text. Audiodaten müssen also konvertiert werden, bevor sie verwendet werden können. Sie können auch transkribierte Streaming-Audiodaten mit CCAI Insights verwenden, um Echtzeitdaten zu Agent-Unterhaltungen zu erfassen, z. B. Themenmodellierung.
Es gibt zwei Möglichkeiten, Streaming-Audio für die Verwendung mit CCAI zu transkribieren: entweder mit der SIPREC-Funktion oder durch gRPC-Aufrufe mit Audiodaten als Nutzlast. Auf dieser Seite wird beschrieben, wie Sie Streaming-Audiodaten mit gRPC-Aufrufen transkribieren.
CCAI Transcription verwendet die Streamingerkennung von Speech-to-Text. Speech-to-Text bietet mehrere Erkennungsmodelle, Standard- und optimierte. CCAI Transcription wird auf GA-Ebene nur unterstützt, wenn sie mit dem Modell optimierter Telefonanruf verwendet wird.
Vorbereitung
- Erstellen Sie ein Projekt in Google Cloud.
- Dialogflow API aktivieren
- Wenden Sie sich an Ihren Google-Kundenbetreuer, um sicherzustellen, dass Ihr Konto Zugriff auf erweiterte Speech-to-Text-Modelle hat.
Unterhaltungsprofil erstellen
Wenn Sie ein Unterhaltungsprofil erstellen möchten, verwenden Sie die Agent Assist Console oder rufen Sie die Methode create
direkt für die Ressource ConversationProfile
auf.
Für die CCAI-Transkription empfehlen wir, ConversationProfile.stt_config
als Standard-InputAudioConfig
zu konfigurieren, wenn Sie Audiodaten in einer Unterhaltung senden.
Transkriptionen während der Unterhaltung abrufen
Wenn Sie während der Unterhaltung Transkriptionen erhalten möchten, müssen Sie Teilnehmer für die Unterhaltung erstellen und Audiodaten für jeden Teilnehmer senden.
Teilnehmer erstellen
Es gibt drei Arten von Teilnehmern.
Weitere Informationen zu ihren Rollen finden Sie in der Referenzdokumentation. Rufen Sie die Methode create
für participant
auf und geben Sie role
an. Nur ein END_USER
- oder HUMAN_AGENT
-Teilnehmer kann StreamingAnalyzeContent
aufrufen, was für eine Transkription erforderlich ist.
Audiodaten senden und ein Transkript erhalten
Sie können StreamingAnalyzeContent
verwenden, um das Audio eines Teilnehmers an Google zu senden und ein Transkript zu erhalten. Dazu sind die folgenden Parameter erforderlich:
Die erste Anfrage im Stream muss
InputAudioConfig
sein. Die hier konfigurierten Felder überschreiben die entsprechenden Einstellungen unterConversationProfile.stt_config
. Senden Sie erst mit der zweiten Anfrage Audioeingaben.audioEncoding
muss aufAUDIO_ENCODING_LINEAR_16
oderAUDIO_ENCODING_MULAW
festgelegt werden.model
: Das ist das Speech-to-Text-Modell, das Sie zum Transkribieren Ihrer Audioinhalte verwenden möchten. Setzen Sie dieses Feld auftelephony
. Die Variante hat keine Auswirkungen auf die Transkriptionsqualität. Sie können Speech model variant also nicht angeben oder Use best available auswählen.singleUtterance
sollte für eine optimale Transkriptionsqualität auffalse
festgelegt werden. Sie solltenEND_OF_SINGLE_UTTERANCE
nicht erwarten, wennsingleUtterance
false
ist. Sie können sich jedoch aufisFinal==true
inStreamingAnalyzeContentResponse.recognition_result
verlassen, um den Stream halb zu schließen.- Optionale zusätzliche Parameter: Die folgenden Parameter sind optional. Wenden Sie sich an Ihren Google-Ansprechpartner, um Zugriff auf diese Parameter zu erhalten.
languageCode
:language_code
des Audios. Der Standardwert isten-US
.alternativeLanguageCodes
: Zusätzliche Sprachen, die möglicherweise im Audio erkannt werden. Agent Assist verwendet das Feldlanguage_code
, um die Sprache zu Beginn des Audios automatisch zu erkennen und in allen folgenden Unterhaltungsrunden beizubehalten. Im FeldalternativeLanguageCodes
können Sie weitere Optionen für Agent Assist angeben.phraseSets
: Der Ressourcenname der Anpassung des Speech-to-Text-ModellsphraseSet
. Wenn Sie die Modellanpassung mit CCAI Transcription verwenden möchten, müssen Sie zuerst diephraseSet
mit der Speech-to-Text API erstellen und den Ressourcennamen hier angeben.
Nachdem Sie die zweite Anfrage mit der Audio-Nutzlast gesendet haben, sollten Sie einige
StreamingAnalyzeContentResponses
aus dem Stream empfangen.- Sie können den Stream halb schließen (oder das Senden in einigen Sprachen wie Python beenden), wenn
is_final
inStreamingAnalyzeContentResponse.recognition_result
auftrue
gesetzt ist. - Nachdem Sie den Stream halb geschlossen haben, sendet der Server die Antwort mit dem endgültigen Transkript sowie mögliche Dialogflow- oder Agent Assist-Vorschläge zurück.
- Sie können den Stream halb schließen (oder das Senden in einigen Sprachen wie Python beenden), wenn
Sie finden die endgültige Transkription an den folgenden Stellen:
StreamingAnalyzeContentResponse.message.content
.- Wenn Sie Pub/Sub-Benachrichtigungen aktivieren, können Sie die Transkription auch in Pub/Sub aufrufen.
Starten Sie einen neuen Stream, nachdem der vorherige Stream geschlossen wurde.
- Audio neu senden: Audiodaten, die nach dem letzten
speech_end_offset
der Antwort mitis_final=true
generiert wurden, müssen für eine optimale Transkriptionsqualität anStreamingAnalyzeContent
gesendet werden.
- Audio neu senden: Audiodaten, die nach dem letzten
Das folgende Diagramm veranschaulicht die Funktionsweise von Streams.
Beispielcode für Streamingerkennungsanfrage
Im folgenden Codebeispiel wird gezeigt, wie Sie eine Streaming-Transkriptionsanfrage senden:
Python
Richten Sie zur Authentifizierung bei Agent Assist Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.