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 CX Insights devkit untuk menskalakan berbagai tugas.

Kasus penggunaan

Tindakan yang dapat Anda lakukan mencakup hal berikut:

  • Menyerap percakapan tunggal dengan metadata.
  • Menyerap banyak percakapan secara massal dengan metadata.
  • Mentranskripsikan file audio mono menggunakan Speech-to-Text (STT) V1.
  • Membuat pengenal menggunakan STT V2.
  • Menyiapkan ekspor BigQuery.
  • 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 memulai devkit, ikuti langkah-langkah berikut untuk penyiapan lingkungan dan autentikasi.

Langkah 1: Menyiapkan lingkungan virtual

Sebelum menggunakan devkit, ikuti langkah-langkah berikut untuk menyiapkan kredensial Anda 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 Anda dengan kode berikut. Google Cloud Ganti project name dengan project ID Anda yang sebenarnya Google Cloud .
    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 menggunakan CX Insights devkit di notebook Google Colaboratory, Anda dapat melakukan autentikasi dengan menambahkan kode berikut ke bagian atas notebook yang dikelola pengguna:

    project_id = ''
    

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

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

  • Autentikasi akan menetapkan project aktif Anda ke project_id.

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

Cloud Run Functions

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

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

Lingkungan Python lokal

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

  1. Instal gcloud CLI. Jika Anda belum melakukannya, instal Google Cloud SDK. SDK 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
    

Konten devkit

CX Insights devkit berisi resource berikut.

Folder inti

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

Folder umum

Folder umum berisi wrapper yang dibuat di sekitar metode yang diterapkan di Google Cloud SDK. Tujuannya adalah untuk menambahkan tingkat kesederhanaan baru ke implementasi 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 di bucket Cloud Storage.
  • Membuat 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 oleh 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 mengirim data percakapan yang diperkaya 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. 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 kirim dari cabang fitur Anda ke repositori utama.

Lisensi

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