Das CX Insights-Devkit ist eine API auf hoher Ebene, die den Google Python-Client für CX Insights erweitern soll. Als Entwickler oder als Person, die Code verwaltet, können Sie das CX Insights-Devkit verwenden, um eine Vielzahl von Aufgaben zu skalieren.
Anwendungsfälle
Sie haben folgende Möglichkeiten:
- Einzelne Unterhaltungen mit Metadaten aufnehmen.
- Viele Unterhaltungen mit Metadaten gleichzeitig aufnehmen.
- Mono-Audiodateien mit Speech-to-Text (STT) V1 transkribieren
- Erkennungen mit STT V2 erstellen
- BigQuery Export einrichten
- Globale Einstellungen für CX Insights ändern
- Transkriptdatenformat von Genesys Cloud in CX Insights transformieren.
- Transkriptdatenformat von AWS in CX Insights umwandeln
Jetzt starten
Wenn Sie mit dem Devkit beginnen möchten, führen Sie die folgenden Schritte zur Einrichtung der Umgebung und zur Authentifizierung aus.
Schritt 1: Virtuelle Umgebung einrichten
Bevor Sie das Devkit verwenden, müssen Sie die folgenden Schritte ausführen, um Ihre Google Cloud -Anmeldedaten einzurichten und die erforderlichen Abhängigkeiten zu installieren.
- Verwenden Sie den folgenden Code, um Ihr Konto mit der Google Cloud CLI zu authentifizieren.
gcloud auth login gcloud auth application-default login
- Legen Sie Ihr Google Cloud Projekt mit dem folgenden Code fest. Ersetzen Sie „project name“ durch Ihre tatsächliche Google Cloud Projekt-ID.
gcloud config set project
- Erstellen und aktivieren Sie mit dem folgenden Code eine virtuelle Python-Umgebung. Sie müssen eine virtuelle Umgebung verwenden, um Ihre Projektabhängigkeiten zu verwalten.
python3 -m venv venv source ./venv/bin/activate
- Installieren Sie die Abhängigkeiten. Suchen Sie in Ihrem Projektverzeichnis nach einer
requirements.txt-Datei mit den Abhängigkeiten des Devkits und installieren Sie sie mit dem folgenden Code.pip install -r requirements.txt
Schritt 2: Konto authentifizieren
Die Authentifizierungsmethoden für das Python-Devkit variieren je nach Umgebung.
Google Colaboratory
Wenn Sie das CX Insights-Devkit in einem Google Colaboratory-Notebook verwenden, können Sie sich authentifizieren, indem Sie den folgenden Code oben in Ihre nutzerverwalteten Notebooks einfügen:
project_id = '
' Dadurch wird ein interaktiver Prompt gestartet, in dem Sie sich in einem Browser mit Google Cloud authentifizieren können.
!gcloud auth application-default login --no-launch-browser
Durch die Authentifizierung wird Ihr aktives Projekt auf
project_idfestgelegt.!gcloud auth application-default set-quota-project $project_id
Cloud Run-Funktionen
Wenn Sie das CX Insights-Devkit mit Cloud Run-Funktionen verwenden, werden die Standardanmeldedaten der Umgebung, die von diesen Diensten verwendet werden, automatisch vom Devkit übernommen.
- Devkit der Datei „requirements.txt“ hinzufügen: Prüfen Sie, ob es in der Datei
requirements.txtdes Cloud Run Functions-Dienstes aufgeführt ist. - IAM-Rolle (Identity and Access Management): Prüfen Sie, ob dem Dienstkonto von Cloud Run Functions die entsprechende Dialogflow-IAM-Rolle zugewiesen ist.
Lokale Python-Umgebung
Ähnlich wie bei Cloud Run-Funktionen werden in diesem Devkit Ihre lokalen Anmeldedaten übernommen, wenn Sie die gcloud CLI verwenden.
- Installieren Sie die gcloud CLI. Installieren Sie das Google Cloud SDK, falls noch nicht geschehen. Sie enthält die gcloud CLI.
- Initialisieren Sie die gcloud CLI mit dem folgenden Code.
gcloud init
- Melden Sie sich mit dem folgenden Code in Google Cloud an.
gcloud auth login
- Bestätigen Sie ein aktives Konto mit dem folgenden Code. Mit diesem Befehl wird Ihr Google Cloud -Konto bei der gcloud CLI authentifiziert. Das CX Insights-Devkit kann dann die Anmeldedaten aus Ihrer Einrichtung abrufen.
gcloud auth list
Inhalt des Devkits
Das CX Insights-Devkit enthält die folgenden Ressourcen.
Core-Ordner
Der Kernordner entspricht den Kernressourcentypen, die in den meisten Klassen zu finden sind. Es enthält die grundlegenden Bausteine des Devkits und allgemeine Funktionen wie Authentifizierung und globale Konfigurationen. Diese Klassen und Methoden werden verwendet, um Methoden auf höherer Ebene oder benutzerdefinierte Tools und Anwendungen zu erstellen.
Allgemeiner Ordner
Der gemeinsame Ordner enthält Wrapper für die Methoden, die im Google Cloud SDK implementiert sind. Ziel ist es, bestehende Implementierungen zu vereinfachen. Sie haben folgende Möglichkeiten:
- Globale Konfigurationen über CX Insights bearbeiten
- Einzelne und mehrere Unterhaltungen mit Metadaten aufnehmen.
- Erstellen oder listen Sie Blobs in einem Cloud Storage-Bucket auf.
- Transkriptionen aus Audioinhalten mit STT V1 und V2 erstellen
- Monodateien mit STT V1 transkribieren
Ordner „Workflows“
Der Ordner „workflows“ enthält Klassen und Methoden, mit denen Aktionen ausgeführt werden können, die von CX Insights nicht unterstützt werden, z. B. die folgenden:
- Transkripte aus Genesys Cloud für CX Insights formatieren.
- Transkripte von AWS für Customer Experience Insights formatieren
- Rollen in einem Transkript mit Gemini erkennen
Audio-Unterhaltung annotieren
Das folgende Python-Skript transkribiert eine Audiodatei, weist Sprecherrollen zu und sendet die angereicherten Unterhaltungsdaten dann zur Analyse an CX Insights.
def audio_with_role_recognition():
# 1. Reset Insights Settings
reset_insights_settings()
# Verifies a clean state for CX Insights settings before starting the test.
# This function is assumed to be defined elsewhere and handles resetting global configurations.
# 2. Initialize Speech-to-Text V2 Client
sp = speech.V2(
project_id = _PROBER_PROJECT_ID
)
# Initializes a client for interacting with the Google Cloud Speech-to-Text API (V2).
# _PROBER_PROJECT_ID: The Google Cloud Project ID where the STT recognizer resides.
# 3. Create Transcription
transcript = sp.create_transcription(
audio_file_path = _MONO_SHORT_AUDIO_LOCATION,
recognizer_path = 'projects/<project_id>/locations/<region>/recognizers/<recognizer_id>'
)
# Sends an audio file for transcription using a specific STT V2 recognizer.
# audio_file_path: Local path to the mono audio file to be transcribed.
# recognizer_path: Full resource path to the STT V2 recognizer to be used for transcription.
# Example: 'projects/YOUR_PROJECT_NUMBER/locations/global/recognizers/YOUR_RECOGNIZER_ID'
# Verifies that the returned 'transcript' object is of the expected type from the Speech-to-Text V2 API.
# 4. Format Transcription
ft = format.Speech()
# Initializes a formatting utility for speech-related data.
transcript = ft.v2_recognizer_to_dict(transcript)
# Transforms the STT V2 `RecognizeResponse` object into a more manageable Python dictionary format,
# which is often easier to work with for subsequent processing steps like role recognition.
# 5. Initialize Google Cloud Storage Client
gcs = storage.Gcs(
project_name = _PROBER_PROJECT_ID,
bucket_name = _TMP_PROBER_BUCKET
)
# Initializes a Google Cloud Storage client.
# project_name: The Google Cloud Project ID.
# bucket_name: The name of the Google Cloud Storage bucket where the processed transcript will be temporarily stored.
# 6. Generate Unique File Name
file_name = f'{uuid.uuid4()}.json'
# Creates a unique file name for the JSON transcript using a UUID (Universally Unique Identifier).
# This prevents naming conflicts when uploading multiple transcripts to the same Google Cloud Storage bucket.
# 7. Perform Role Recognition
role_recognizer = rr.RoleRecognizer()
# Initializes the RoleRecognizer component, likely part of the Customer Experience Insights DevKit,
# responsible for identifying speaker roles (e.g., agent, customer) within a conversation.
roles = role_recognizer.predict_roles(conversation=transcript)
# Predicts the roles of speakers in the transcribed conversation.
# conversation: The transcribed conversation in a dictionary format.
transcript = role_recognizer.combine(transcript, roles)
# Integrates the recognized roles back into the original transcript data structure.
# This step enriches the transcript with speaker role metadata.
# 9. Upload Processed Transcript to Google Cloud Storage
gcs.upload_blob(
file_name = file_name,
data = transcript
)
# Uploads the enriched transcript (as JSON data) to the specified Google Cloud Storage bucket with the generated unique file name.
# This Google Cloud Storage path will be used as the source for Customer Experience Insights ingestion.
# 10. Construct Google Cloud Storage Path
gcs_path = f"gs://{_TMP_PROBER_BUCKET}/{file_name}"
# Forms the full Google Cloud Storage URI for the uploaded transcript, which is required by the Customer Experience Insights Ingestion API.
# 11. Initialize CX Insights Ingestion
ingestion = insights.Ingestion(
parent = _PARENT,
transcript_path = gcs_path
)
# Initializes an Ingestion client for CX Insights.
# parent: The parent resource path for CX Insights, typically in the format:
# 'projects/YOUR_PROJECT_NUMBER/locations/YOUR_LOCATION'
# transcript_path: The Google Cloud Storage URI where the conversation transcript is stored.
# 12. Ingest Single Conversation
operation = ingestion.single()
# Initiates the ingestion of the single conversation into CX Insights.
# This returns an operation object, which can be used to monitor the status of the ingestion.
Beiträge und Funktionsanfragen
So können Sie Beiträge leisten oder Funktionsanfragen stellen:
- Erstellen Sie eine Repository-Fork auf GitHub.
- Erstellen Sie Ihren Feature-Branch mit dem folgenden Code.
git checkout -b feature/AmazingFeature
- Übernehmen Sie Ihre Änderungen mit dem folgenden Code.
git commit -m 'Add some AmazingFeature'
- Übertragen Sie Änderungen per Push in den Branch mit dem folgenden Code.
git push origin feature/AmazingFeature
- Öffnen Sie eine Pull-Anfrage und senden Sie sie von Ihrem Feature-Branch an das Haupt-Repository.
Lizenz
Die Verteilung des CX Insights-Devkits erfolgt unter der Apache 2.0-Lizenz. Weitere Informationen finden Sie in der Datei LICENSE im Projekt-Repository.