Transkripsi CCAI memungkinkan Anda mengonversi data audio streaming menjadi teks yang ditranskripsikan secara real time. Agent Assist memberikan saran berdasarkan teks, sehingga data audio harus dikonversi sebelum dapat digunakan. Anda juga dapat menggunakan audio streaming yang ditranskripsikan dengan CCAI Insights untuk mengumpulkan data real-time tentang percakapan agen (misalnya, Pemodelan Topik).
Ada dua cara untuk mentranskripsikan audio streaming untuk digunakan dengan CCAI: Dengan menggunakan fitur SIPREC, atau dengan melakukan panggilan gRPC dengan data audio sebagai payload. Halaman ini menjelaskan proses mentranskripsikan data audio streaming menggunakan panggilan gRPC.
Transkripsi CCAI berfungsi menggunakan pengenalan ucapan streaming Speech-to-Text. Speech-to-Text menawarkan beberapa model pengenalan, standar dan ditingkatkan. Transkripsi CCAI didukung di tingkat GA hanya jika digunakan dengan model panggilan telepon yang ditingkatkan.
Prasyarat
- Buat project di Google Cloud.
- Aktifkan Dialogflow API.
- Hubungi perwakilan Google Anda untuk memastikan bahwa akun Anda memiliki akses ke model Speech-to-Text yang ditingkatkan.
Membuat profil percakapan
Untuk membuat profil percakapan, gunakan
konsol Agent Assist atau panggil metode create
di
resource ConversationProfile
secara langsung.
Untuk transkripsi CCAI, sebaiknya konfigurasikan ConversationProfile.stt_config
sebagai InputAudioConfig
default saat mengirim data audio dalam percakapan.
Mendapatkan transkripsi saat runtime percakapan
Untuk mendapatkan transkripsi saat runtime percakapan, Anda perlu membuat peserta untuk percakapan, dan mengirim data audio untuk setiap peserta.
Membuat peserta
Ada tiga jenis
peserta.
Lihat dokumentasi
referensi
untuk mengetahui detail selengkapnya tentang peran mereka. Panggil metode create
pada
participant
dan tentukan role
. Hanya peserta END_USER
atau HUMAN_AGENT
yang dapat memanggil StreamingAnalyzeContent
, yang diperlukan untuk mendapatkan
transkripsi.
Mengirim data audio dan mendapatkan transkrip
Anda dapat menggunakan
StreamingAnalyzeContent
untuk mengirim audio peserta ke Google dan mendapatkan transkripsi, dengan
parameter berikut:
Permintaan pertama dalam aliran harus berupa
InputAudioConfig
. (Kolom yang dikonfigurasi di sini menggantikan setelan yang sesuai diConversationProfile.stt_config
.) Jangan mengirimkan input audio hingga permintaan kedua.audioEncoding
harus ditetapkan keAUDIO_ENCODING_LINEAR_16
atauAUDIO_ENCODING_MULAW
.model
: Ini adalah model Speech-to-Text yang ingin Anda gunakan untuk mentranskripsikan audio. Tetapkan kolom ini ketelephony
. Varian tidak memengaruhi kualitas transkripsi, jadi Anda dapat membiarkan Varian model ucapan tidak ditentukan atau memilih Gunakan yang terbaik yang tersedia.singleUtterance
harus ditetapkan kefalse
untuk kualitas transkripsi terbaik. Anda tidak boleh mengharapkanEND_OF_SINGLE_UTTERANCE
jikasingleUtterance
adalahfalse
, tetapi Anda dapat mengandalkanisFinal==true
di dalamStreamingAnalyzeContentResponse.recognition_result
untuk menutup aliran sebagian.- Parameter tambahan opsional: Parameter berikut bersifat opsional. Untuk mendapatkan akses ke parameter ini, hubungi perwakilan Google Anda.
languageCode
:language_code
audio. Nilai defaultnya adalahen-US
.alternativeLanguageCodes
: Bahasa tambahan yang mungkin terdeteksi dalam audio. Agent Assist menggunakan kolomlanguage_code
untuk mendeteksi bahasa secara otomatis di awal audio dan tetap menggunakannya di semua giliran percakapan berikutnya. KolomalternativeLanguageCodes
memungkinkan Anda menentukan lebih banyak opsi yang dapat dipilih oleh Agent Assist.phraseSets
: Nama resourcephraseSet
adaptasi model Speech-to-Text. Untuk menggunakan adaptasi model dengan Transkripsi CCAI, Anda harus membuatphraseSet
terlebih dahulu menggunakan Speech-to-Text API dan menentukan nama resource di sini.
Setelah mengirim permintaan kedua dengan payload audio, Anda akan mulai menerima beberapa
StreamingAnalyzeContentResponses
dari streaming.- Anda dapat menutup setengah streaming (atau berhenti mengirim dalam beberapa bahasa seperti
Python) saat melihat
is_final
disetel ketrue
diStreamingAnalyzeContentResponse.recognition_result
. - Setelah Anda menutup sebagian streaming, server akan mengirimkan kembali respons yang berisi transkrip akhir, beserta potensi saran Dialogflow atau saran Agent Assist.
- Anda dapat menutup setengah streaming (atau berhenti mengirim dalam beberapa bahasa seperti
Python) saat melihat
Anda dapat menemukan transkripsi akhir di lokasi berikut:
StreamingAnalyzeContentResponse.message.content
.- Jika mengaktifkan notifikasi Pub/Sub, Anda juga dapat melihat transkripsi di Pub/Sub.
Mulai streaming baru setelah streaming sebelumnya ditutup.
- Pengiriman ulang audio: Data audio yang dihasilkan setelah
speech_end_offset
terakhir dari respons denganis_final=true
ke waktu mulai streaming baru perlu dikirim ulang keStreamingAnalyzeContent
untuk kualitas transkripsi terbaik.
- Pengiriman ulang audio: Data audio yang dihasilkan setelah
Berikut diagram yang menggambarkan cara kerja streaming.
Contoh kode permintaan pengenalan streaming
Contoh kode berikut mengilustrasikan cara mengirim permintaan transkripsi streaming:
Python
Untuk melakukan autentikasi ke Agent Assist, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.