Kit pengembangan Customer Experience Insights

CX Insights devkit adalah API tingkat tinggi yang dirancang untuk memperluas klien Python Google untuk CX Insights. Sebagai developer atau seseorang yang memelihara kode, Anda dapat menggunakan devkit CX Insights untuk menskalakan berbagai tugas.

Kasus penggunaan

Tindakan yang dapat Anda lakukan meliputi:

  • Menyerap percakapan tunggal dengan metadata.
  • Menyerap banyak percakapan secara massal dengan metadata.
  • Mentranskripsikan file audio mono menggunakan Speech-to-Text (STT) V1.
  • Buat pengenal menggunakan STT V2.
  • Siapkan BigQuery Export.
  • Mengubah setelan global CX Insights.
  • Mengubah format data transkrip dari Genesys Cloud ke CX Insights.
  • Mengubah format data transkrip dari AWS ke CX Insights.

Mulai

Untuk mulai menggunakan devkit, ikuti langkah-langkah berikut untuk penyiapan lingkungan dan autentikasi.

Langkah 1: Siapkan lingkungan virtual

Sebelum menggunakan devkit, ikuti langkah-langkah berikut untuk menyiapkan kredensial Google Cloud dan menginstal dependensi yang diperlukan.

  1. Gunakan kode berikut untuk mengautentikasi akun Anda dengan Google Cloud CLI.
    gcloud auth login
    gcloud auth application-default login
    
  2. Tetapkan project Google Cloud Anda dengan kode berikut. Ganti nama project dengan Google Cloud project ID Anda yang sebenarnya.
    gcloud config set project 
    
  3. Buat dan aktifkan lingkungan virtual Python dengan kode berikut. Anda harus menggunakan lingkungan virtual untuk mengelola dependensi project.
    python3 -m venv venv
    source ./venv/bin/activate
    
  4. Instal dependensi Anda. Di direktori project Anda, periksa file requirements.txt yang berisi dependensi devkit, lalu instal dengan menjalankan kode berikut.
    pip install -r requirements.txt
    

Langkah 2: Autentikasi akun

Metode autentikasi untuk devkit Python bervariasi, bergantung pada lingkungan Anda.

Google Colaboratory

  • Jika Anda menggunakan devkit CX Insights di notebook Google Colaboratory, Anda dapat melakukan autentikasi dengan menambahkan kode berikut di bagian atas notebook yang dikelola pengguna:

    project_id = ''
    

  • Tindakan ini akan meluncurkan perintah interaktif yang memungkinkan Anda melakukan autentikasi dengan Google Cloud di browser.

    !gcloud auth application-default login --no-launch-browser
    

  • Autentikasi menetapkan project aktif Anda ke project_id.

    !gcloud auth application-default set-quota-project $project_id
    

Cloud Run Functions

Saat menggunakan devkit CX Insights dengan Cloud Run Functions, devkit akan otomatis mengambil kredensial lingkungan default yang digunakan oleh layanan ini.

  • Tambahkan devkit ke file TXT persyaratan: Pastikan devkit tercantum dalam file requirements.txt layanan fungsi Cloud Run Anda.
  • Peran Identity and Access Management: Pastikan akun layanan fungsi Cloud Run telah diberi peran IAM Dialogflow yang sesuai.

Lingkungan Python lokal

Mirip dengan fungsi Cloud Run, devkit ini mengambil kredensial autentikasi lokal Anda jika Anda menggunakan gcloud CLI.

  1. Instal gcloud CLI. Jika Anda belum melakukannya, instal Google Cloud SDK. Alat ini mencakup gcloud CLI.
  2. Lakukan inisialisasi gcloud CLI dengan kode berikut.
    gcloud init
    
  3. Login ke Google Cloud dengan kode berikut.
    gcloud auth login
    
  4. Verifikasi akun aktif dengan kode berikut. Perintah ini mengautentikasi akun utama Google Cloud Anda dengan gcloud CLI. CX Insights devkit kemudian dapat mengambil kredensial dari penyiapan Anda.
    gcloud auth list
    

Isi devkit

Devkit CX Insights berisi resource berikut.

Folder inti

Folder inti identik dengan jenis resource inti yang ditemukan di sebagian besar class. SDK ini memiliki blok penyusun tingkat tinggi devkit dan fungsi umum seperti autentikasi dan konfigurasi global. Class dan metode ini digunakan untuk membangun metode tingkat yang lebih tinggi atau alat dan aplikasi kustom.

Folder umum

Folder umum berisi wrapper yang dibangun di sekitar metode yang diterapkan di Google Cloud SDK. Tujuannya adalah menambahkan tingkat kesederhanaan baru pada penerapan yang ada. Anda dapat melakukan tindakan berikut dengan folder Umum.

  • Memanipulasi konfigurasi global dari CX Insights.
  • Menyerap percakapan (tunggal dan massal) dengan metadata.
  • Membuat atau mencantumkan blob dalam bucket Cloud Storage.
  • Buat transkripsi dari audio menggunakan STT V1 dan V2.
  • Mentranskripsikan file audio mono dengan STT V1.

Folder alur kerja

Folder alur kerja berisi class dan metode yang dirancang untuk melakukan tindakan yang tidak didukung CX Insights, seperti berikut.

  • Memformat transkrip dari Genesys Cloud ke CX Insights.
  • Memformat transkrip dari AWS ke Customer Experience Insights.
  • Mengenali peran dalam transkrip menggunakan Gemini.

Memberi anotasi pada percakapan audio

Skrip Python berikut mentranskripsikan file audio, menetapkan peran pembicara, lalu mengirimkan data percakapan yang telah di-enrich ke CX Insights untuk dianalisis.

    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.

Kontribusi dan permintaan fitur

Untuk memberikan kontribusi atau permintaan fitur, ikuti langkah-langkah berikut:

  1. Buat fork repositori di GitHub.
  2. Buat cabang fitur Anda dengan kode berikut.
    git checkout -b feature/AmazingFeature
  3. Lakukan commit perubahan Anda dengan kode berikut.
    git commit -m 'Add some AmazingFeature'
  4. Kirim perubahan ke cabang dengan kode berikut.
    git push origin feature/AmazingFeature
  5. Buka permintaan pull dan kirimkan dari cabang fitur Anda ke repositori utama.

Lisensi

Distribusi devkit CX Insights berada di bawah Lisensi Apache 2.0. Untuk mengetahui detailnya, lihat file LICENSE di repositori project.