Membuat bantuan AI generatif Anda sendiri memungkinkan Anda membuat generator teks dan mengintegrasikannya dengan Agent Assist. Generator teks menggunakan model bahasa besar (LLM) lanjutan, seperti Text Bison dan Gemini, untuk menghasilkan saran. Anda dapat menggunakan saran ini untuk membantu peserta di kedua ujung percakapan layanan pelanggan, seperti agen manusia dan pengguna manusia. Generator dapat menggunakan panggilan LLM bawaan dari Agent Assist yang dapat dikonfigurasi untuk sebagian besar tugas LLM. Untuk memahami generator di Agent Assist lebih lanjut, lihat dokumentasi Vertex AI.
Input generator
Generator teks memerlukan input berikut:
Petunjuk: Teks untuk menjelaskan tugas yang ingin Anda minta generator teks untuk lakukan. Di Vertex AI, petunjuk ini disebut perintah.
Opsi Model: Pilihan dan setelan model yang diperlukan untuk performa model yang optimal, seperti suhu, batas token output, TopK, dan TopP. Output generator dibatasi oleh setelan ini. Anda dapat memilih model dan menetapkan opsi model saat membuat generator dengan mengklik Model Options, atau Anda dapat menggunakan setelan default. Di Vertex AI, opsi model disebut parameter value.
Peristiwa Pemicu: Salah satu peristiwa berikut yang menunjukkan kapan harus memulai generator:
END_OF_UTTERANCE
: Memicu generator setelah setiap ucapan dimasukkan.MANUAL_CALL
: Memicu generator hanya jika Anda secara eksplisit melakukan panggilan API untuk memanggilnya.CUSTOMER_MESSAGE
: Memicu generator hanya setelah setiap pesan pelanggan.AGENT_MESSAGE
: Memicu generator hanya setelah setiap pesan agen.
Output generator
Setelah Anda memberikan input ke generator teks, alat Buat generator bantuan GenAI Anda sendiri akan memberikan saran seperti link artikel, respons yang sesuai, atau informasi backend tentang penawaran promosi. Saran ini diberikan dalam format teks dan relevan dalam konteks percakapan layanan pelanggan pada saat saran dibuat.
Kasus penggunaan
Bagian ini menyajikan tiga kasus penggunaan sebagai contoh cara membuat generator bantuan GenAI Anda sendiri dapat diterapkan. Model Anda mungkin menghasilkan respons output yang berbeda dari contoh berikut.
Penulisan ulang profesional
Anda dapat menginstruksikan generator untuk menyusun ulang ucapan agen manusia dengan cara yang profesional, sopan, dan berempati sebelum merespons pelanggan, sebagai berikut.
- Nama generator: Penulisan ulang profesional
- Peristiwa pemicu: Pesan agen
Instruksi:
# TASK DESCRIPTION: Output the agent's response under ## LAST UTTERANCE rewritten in a professional, polite and empathetic way in EXAMPLE 4. - DO NOT miss any information mentioned by the original text. - Only output rewritten response. - You're provided with EXAMPLE 1-3. Follow the format. # EXAMPLE 1 ## CONVERSATION: AGENT: Yo what's up it's Akshay. This is Amazon customer service. What do you want? ## LAST UTTERANCE: Yo what's up it's Akshay. This is Amazon customer service. What do you want? ## OUTPUT: Hi I'm Akshay. Thank you for choosing Amazon customer service. How can I assist you today? # EXAMPLE 2 ## CONVERSATION: CUSTOMER: Hi, I'm having some trouble with my Apple Music subscription. AGENT: Hey, I'm [name]. I can help, I guess. What's your name and account number? CUSTOMER: Sure, my name is [name] and my account number is [number]. AGENT: Alright. Checked that out. You are on Apple Music Individual plan, right? ## LAST UTTERANCE: Alright. Checked that out. You are on Apple Music Individual plan, right? ## OUTPUT: Thank you. I see that you're currently subscribed to the Apple Music Individual plan. Is that correct? # EXAMPLE 3 ## CONVERSATION: AGENT: What is your order number? CUSTOMER: 12345 AGENT: Hang on a sec. Looking. CUSTOMER: I'll wait. AGENT: Alright, it appears your order is not registered. Did you even submit the order? CUSTOMER: Let me double check. Shoot, someone canceled it. Must be the kids. AGENT: Yeah, watch your kids will you? CUSTOMER: I'm so sorry. AGENT: All good. Have a good one. ## LAST UTTERANCE: All good. Have a good one. ## OUTPUT: No problem. I'm glad I can help. Please have a good day! # EXAMPLE 4 ## CONVERSATION: ${parameter:transcript} ## LAST UTTERANCE: ${parameter:transcript_last_utterance} ## OUTPUT:
Retensi pelanggan
Anda juga dapat meminta generator untuk menyarankan respons agen untuk retensi pelanggan, seperti memberikan diskon produk, melakukan upselling atau cross-selling produk, dan menyelesaikan masalah, seperti dalam contoh berikut. Generator mengakses informasi yang Anda berikan tentang diskon dan penawaran sebagai referensi konteks dengan IngestContextReferences
API.
- Nama generator: Churn dan retensi pelanggan
- Peristiwa pemicu: Pesan pelanggan
- Referensi konteks: penawaran
- Satu: Diskon 11%
- Nest: Diskon 5%
- Diskon pelanggan baru: 10%
Instruksi:
# TASK DESCRIPTION: You are an Agent who is helping a customer resolve an issue with complete understanding of the same. - Make sure you wait to understand the concern or query before making any suggestions. - If the customer informs about the issue, you need to ask the exact reason. If the reason is valid, you can give appropriate credit from the OFFERS section. - If the customer is about to cancel an order or subscription, make sure you offer something from the OFFERS section and try to retain the customer. - If a customer is inquiring about a new product, offer some combo for upselling another product. Below are two examples for detecting churn and generating suggestions for mitigation. The output should be a single message suggested to the agent according to the context of the conversation. # EXAMPLE 1 Customer: Hello Agent: Welcome to Google. How may I help you? Customer: I want to cancel order. Agent: Sure Let me have an order ID. Customer: Its 123321 Agent: I could see that you placed an order for Google Nest. May I know the reason for cancellation? Customer: It's available at cheaper rate now. Agent: Ohh.! I see. Let me check the current price and adjust the order price. Is it okay ? Customer: Sure..! I can purchase the product as long as I can get it at the discounted price. I'd definitely go with it Agent: Google Nest costs $200 at present. I can see that you paid $230. Customer: Yeah. Can you request to refund $30. I can buy it at $200. Agent : Sure. I have updated. You will get $30 refund once your order is delivered. Customer: Thanks. Agent : Welcome # EXAMPLE 2 Customer: Hello Agent: Welcome to Google. How may I help you? Customer: I am having Google One Subscription. I think I may need some more space in future. Agent: Okay. May I have your customer Id: Customer: Its 123321 Agent: I could see that you have 100GB Plan at present. How much are you expecting to need in future? Customer: I think I may need 100GB or more. Agent: I could check that you are a loyal customer who had subscriptions since last 6 months. I can provide you 10% discount. Customer: Sure..! That would be great. Agent: 200GB Subscription costs $180 per annum which I can offer you at $162. Customer: That's cool. Thank you. Agent: Is there anything else I can help you with? Customer: No thanks. ## CONTEXT ${parameter:transcript} ## OFFERS ${parameter:offers}
Membuat generator
Contoh berikut menunjukkan cara membuat generator teks bantuan GenAI Buat sendiri.
Konsol
Untuk membuat generator menggunakan Konsol Agent Assist, lakukan hal berikut:
Di konsol, buka halaman Build-your-own-assist.
Klik Buat.
Masukkan nama generator.
Pilih peristiwa pemicu dari daftar.
Masukkan petunjuk untuk menentukan tugas.
Klik Model Options, lalu pilih model dari daftar.
Tetapkan parameter atau gunakan setelan default.
Klik Simpan, lalu klik Simpan lagi untuk menyimpan generator.
REST
Untuk membuat generator menggunakan API, lakukan hal berikut:
- Panggil metode
CreateGenerator
dari resource Generator. - Masukkan nama generator di kolom
description
. - Masukkan peristiwa pemicu.
- Masukkan petunjuk untuk menentukan tugas di FreeFormContext.text.
- Masukkan nama model di kolom
published_model
, atau biarkan kosong untuk menggunakan model default. - Tentukan parameter model di kolom
inference_parameter
, atau biarkan kosong untuk menggunakan nilai default.
Parameter
Anda dapat membuat petunjuk kontekstual dengan menandai kata sebagai parameter menggunakan format ${parameter:<parameter_name>}
. Anda juga dapat menggunakan Data Ingestion API untuk mengimpor nilai sebenarnya dari parameter dengan memanggil metode IngestContextReferences dalam percakapan. Dengan metode ini, parameter dalam petunjuk akan diganti dengan nilainya selama runtime.
Berikut adalah contoh JSON tentang cara mengimpor nilai parameter dengan memanggil IngestContextReferences:
{ "contextReferences": { "glossary": { "contextContents": [ { "content": "east one", "contentFormat": "PLAIN_TEXT" } ] } } }
Ada juga beberapa parameter generator yang tidak perlu diserap. Parameter bawaan ini adalah sebagai berikut:
${parameter:transcript}
: Percakapan antara agen dan pengguna, termasuk ucapan pengguna yang terakhir.${parameter:transcript_last_utterance}
: Ucapan terakhir dalam percakapan.
Setidaknya satu parameter bawaan harus digunakan dalam petunjuk apa pun.
Baik bawaan maupun yang diserap, parameter generator berbeda dengan opsi model yang ditetapkan saat generator dibuat. Nilai parameter generator ini berasal dari transkrip percakapan atau data yang diserap. Di sisi lain, Anda menetapkan nilai opsi model untuk generator secara keseluruhan.
Menguji generator
Dalam konsol bantuan Build your own GenAI, Anda dapat menguji generator di bagian Test generator.
Untuk menguji generator di konsol Build your own GenAI assist, lakukan hal berikut:
Konsol
- Tambahkan transkrip percakapan. Anda dapat memasukkan ucapan secara manual atau mengupload transkrip dalam format JSON dengan mengklik upload.
- Untuk menambahkan data lainnya yang perlu diserap, klik more_vert dan note_add Tambahkan data yang dimasukkan.
Konsol bantuan Build your own GenAI menampilkan respons yang dihasilkan yang dianotasi dengan nama generator.
REST
Untuk menguji generator menggunakan API, lakukan hal berikut:
- Masukkan nama generator di kolom
generatorName
. - Berikan percakapan di kolom
conversationContext
. - Berikan nilai parameter, jika ada, di kolom
contextReferences
. - Masukkan pemicu untuk membuat saran di kolom
triggerEvents
. Saran yang dihasilkan tersedia di kolomgeneratorSuggestion
.
Profil percakapan
Profil percakapan menentukan serangkaian parameter yang mengontrol saran yang dibuat selama percakapan. Langkah-langkah berikut akan membuat resource conversationProfile
dengan objek HumanAgentAssistantConfig
.
Konsol
- Di Konsol Agent Assist, buka halaman Profil percakapan.
- Klik + Create.
- Masukkan nama tampilan.
- Pilih jenis saran check_box Build-your-own-assist.
- Masukkan nama generator atau pilih nama generator dari daftar.
REST
- Panggil metode
create
dari resource profil percakapan. - Berikan nama untuk profil percakapan baru.
- Masukkan kode bahasa.
- Masukkan nama generator di human_agent_suggestion_config.
Berikut adalah contoh JSON profil percakapan.
{ "displayName": "build-your-own-assist-test", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/global/generators/GENERATOR_ID" } } }
Memverifikasi dengan simulator
Anda dapat memverifikasi profil percakapan di simulator Bantuan Agen. Simulator menampilkan respons yang dihasilkan yang dianotasi dengan nama generator.
Menguji perintah
Dalam konsol Build your own GenAI assist, Anda dapat menguji perintah dengan simulator dengan cara yang sama seperti memverifikasi profil percakapan.
Output yang dihasilkan dan ditampilkan pada gambar berikut mengilustrasikan seberapa baik generator freeform-tool-test1
mengikuti contoh perintah.
Percakapan saat runtime
Percakapan didefinisikan sebagai interaksi antara agen, termasuk agen manusia dan agen virtual, serta pelanggan dukungan atau pengguna akhir. Saat runtime, saat dialog dimulai antara pengguna akhir dan agen manusia, Anda akan membuat percakapan. Untuk melihat saran, Anda harus membuat peserta pengguna akhir dan peserta agen manusia, lalu menambahkannya ke percakapan.
Membuat percakapan
Untuk membuat percakapan, lakukan hal berikut:
- Panggil metode
create
dariconversation resource
. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- CONVERSATION_PROFILE_ID: ID profil percakapan Anda
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations
Meminta isi JSON:
{ "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
Dalam respons JSON, segmen jalur setelah conversations
berisi ID percakapan baru Anda. Respons JSON akan terlihat seperti berikut:
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2023-11-05T21:05:45.622Z" }
Membuat peserta pengguna akhir
Untuk membuat peserta pengguna akhir, lakukan hal berikut:
- Panggil metode
create
dari resourceparticipants
. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- CONVERSATION_ID: ID percakapan Anda
Berikan ID percakapan dan "END_USER" untuk kolom peran sebagai berikut.
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants
Meminta isi JSON:
{ "role": "END_USER", }
Dalam respons JSON, segmen jalur setelah participants
berisi ID peserta pengguna akhir baru Anda. Respons JSON akan terlihat seperti berikut:
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/USER_PARTICIPANT_ID", "role": "END_USER" }
Membuat peserta agen manusia
Untuk membuat peserta agen manusia, lakukan hal berikut:
- Panggil metode
create
dari resourceparticipants
. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- CONVERSATION_ID: ID percakapan Anda
Berikan ID percakapan dan peran HUMAN_AGENT
untuk kolom tersebut sebagai berikut.
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants
Meminta isi JSON:
{ "role": "HUMAN_AGENT", }
Dalam respons JSON, segmen jalur setelah participants
berisi ID peserta agen manusia baru Anda. Responsnya akan terlihat seperti berikut:
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/AGENT_PARTICIPANT_ID", "role": "HUMAN_AGENT" }
Menganalisis pesan
Generator juga dapat menganalisis pesan dalam percakapan. Selama percakapan, Anda dapat menambahkan pesan dan generator dapat menganalisis pesan agen manusia dan pengguna akhir dengan metode analyzeContent
dari resource participants
.
Untuk menambahkan dan menganalisis pesan agen manusia, ikuti langkah-langkah berikut.
- Panggil metode
analyzeContent
. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- CONVERSATION_ID: ID percakapan Anda
- PARTICIPANT_ID: ID peserta agen manusia Anda
Berikan ID percakapan dan ID peserta agen manusia. Permintaan Anda harus menyertakan sesuatu yang mirip dengan berikut ini:
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Meminta isi JSON:
{ "textInput": { "text": "Bonjour, ici le service client d'ABC fishing, comment puis-je vous aider aujourd'hui ?", "languageCode": "en-US" } }
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "Bonjour, ici le service client d'ABC fishing, comment puis-je vous aider aujourd'hui ?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "HUMAN_AGENT", "createTime": "2023-02-13T00:01:30.683Z" }, "humanAgentSuggestionResults": [{ "generateSuggestionsResponse": { "generatorSuggestionAnswers": [{ "generatorSuggestion": { "freeFormSuggestion": { "response": "Hello, this is ABC fishing customer service, how can I help you today?" } }, "sourceGenerator": "projects/PROJECT_ID/locations/global/generators/GENERATOR_ID", "answerRecord": "projects/PROJECT_ID/locations/global/answerRecords/ANSWER_RECORD_ID" }], "latestMessage": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID/messages/MESSAGE_ID" } }] }
Untuk menambahkan dan menganalisis pesan pengguna akhir
- Panggil metode
analyzeContent
. Jangan membuat panggilan duplikat ke metode jika metode tersebut telah dipanggil untuk fitur Agent Assist lainnya. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- CONVERSATION_ID: ID percakapan Anda
- PARTICIPANT_ID: ID peserta agen manusia Anda
Berikan ID percakapan dan ID peserta agen manusia. Permintaan Anda harus menyertakan sesuatu yang mirip dengan berikut ini:
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Meminta isi JSON:
{ "textInput": { "text": "Hi", "languageCode": "en-US" } }
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "Hi", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "END_USER", "createTime": "2020-02-13T00:07:35.925Z" }, "humanAgentSuggestionResults": [{ "generateSuggestionsResponse": { "generatorSuggestionAnswers": [{ "generatorSuggestion": { "freeFormSuggestion": { "response": "Salut" } }, "sourceGenerator": "projects/PROJECT_ID/locations/global/generators/GENERATOR_ID", "answerRecord": "projects/PROJECT_ID/locations/global/answerRecords/ANSWER_RECORD_ID" }], "latestMessage": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID/messages/MESSAGE_ID" } }] }
Saat percakapan selesai dan analyzeContent
tidak digunakan, Anda dapat menggunakan metode batchCreate
dari resource messages untuk mengimpor dan menganalisis pesan historis percakapan.
Mendapatkan saran
Generator juga memberikan saran sebagai respons terhadap pesan kapan saja dalam percakapan. Secara default, saran ditujukan untuk pesan terbaru dari salah satu peserta. Anda juga dapat menentukan pesan yang ingin Anda dapatkan sarannya. Dapatkan saran secara default atau dengan menggunakan salah satu referensi berikut.
Menggunakan saran yang disertakan
Respons analyzeContent
dilengkapi dengan saran. Generator yang dipicu menghasilkan saran ini. Permintaan JSON Anda harus menyertakan sesuatu yang mirip dengan berikut ini:
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Meminta isi JSON:
{ "textInput": { "text": "I want to reserve a room.", "languageCode": "en-US" } }
Menggunakan resource suggestions
Pendekatan lain untuk mendapatkan saran adalah dengan mengikuti langkah-langkah berikut.
- Panggil metode
generate
dari resourcesuggestions
. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- CONVERSATION_ID: ID percakapan Anda
- PARTICIPANT_ID: ID peserta agen manusia Anda
Berikan ID percakapan, ID pesan terbaru dari salah satu peserta, dan peristiwa pemicu. Jika kolom ID pesan tidak ditetapkan, saran akan didasarkan pada pesan terbaru dari salah satu peserta secara default. Generator yang terkait dengan peristiwa pemicu kemudian akan dimulai. Permintaan JSON Anda harus menyertakan sesuatu yang mirip dengan berikut ini:
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_IDsuggestions:generate
Meminta isi JSON:
{ "latestMessage": "projects/PROJECT_ID/conversations/CONVERSATION_IDmessages/Message_ID", "triggerEvents": [ "END_OF_UTTERANCE" ] }
Menggunakan resource statelessSuggestion
Pendekatan terakhir untuk mendapatkan saran adalah dengan mengikuti langkah-langkah berikut.
- Panggil metode
generate
dari resourcestatelessSuggestion
. - Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
- PROJECT_ID: project ID Anda
- LOCATION_ID: ID lokasi Anda
Berikan generator, pesan percakapan, dan referensi konteks yang berisi data yang diserap. Data yang diserap akan menggantikan parameter dalam petunjuk generator. Permintaan JSON Anda akan terlihat seperti berikut:
Metode HTTP dan URL:
https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate
Meminta isi JSON:
{ "generator": { "description": "Translation", "triggerEvent": "END_OF_UTTERANCE", "freeFormContext": { "text": "Read the conversation between agent and customer, and the last utterance. Output the last utterance from customer by following these instructions: - If the last utterance from AGENT, output the utterance by translating it to English. - If the last utterance from CUSTOMER, output the utterance by translating it to French. - Specific brand names and technical terms specified under 'GLOSSARY' section, such as 'Google Home,' should remain unchanged as per the glossary guidelines. # GLOSSARY ${parameter:glossary} # CONVERSATION: ${parameter:transcript} # LAST UTTERANCE: ${parameter:transcript_last_utterance} # OUTPUT: " } }, "contextReferences": { "glossary": { "contextContents": { "content": "east one", "contentFormat": "PLAIN_TEXT" } } }, "conversationContext": { "messageEntries": [ { "text": "hi", "languageCode": "en-US", "role": "END_USER", "createTime": { "seconds": "1400000000", "nanos": "10000000" } }, { "text": "Bonjour, comment puis-je vous aider aujourd\\'hui ?", "languageCode": "en-US", "role": "HUMAN_AGENT", "createTime": { "seconds": "1400000010", "nanos": "10000000" } } ] }, "triggerEvents": [ "END_OF_UTTERANCE" ] }
Batas kuota
Anda dapat melihat kuota dan batas untuk Agent Assist di halaman kuota Dialogflow. Membuat asisten GenAI Anda sendiri mencakup batas kuota berikut:
Nama | Deskripsi | Batas |
---|---|---|
Operasi pengelola generator per menit (per region) | Batas jumlah operasi pengelola generator yang dapat dilakukan setiap menit, seperti membuat, mencantumkan, atau menghapus generator. | 300 |
Generator (per region) | Batas jumlah maksimum generator yang dapat Anda buat dalam satu project. | 200 |
Operasi saran generator per menit per jenis model (per region) | Batas jumlah permintaan operasi saran generator yang dapat Anda terima setiap menit untuk setiap jenis model. | 10 |