Jika tidak menggunakan integrasi, Anda harus menulis kode untuk berinteraksi dengan pengguna akhir. Untuk setiap giliran percakapan, kode Anda memanggil Dialogflow API untuk mengkueri agen Anda. Panduan ini menunjukkan cara berinteraksi dengan agen menggunakan REST API di command line dan menggunakan library klien.
Sebelum memulai
Jika tidak berencana menggunakan API, Anda dapat melewati panduan memulai ini.
Anda harus melakukan hal berikut sebelum membaca panduan ini:
- Memahami dasar-dasar Dialogflow.
- Lakukan langkah-langkah penyiapan.
- Lakukan langkah-langkah dalam panduan memulai Membangun agen.
Langkah-langkah di bawah ini melanjutkan pengerjaan agen yang Anda mulai dalam panduan tersebut.
Jika Anda tidak lagi memiliki agen tersebut, Anda dapat mendownload
build-agent-quickstart.zipdan mengimpor file.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk menyelesaikan tugas dalam panduan ini,
minta administrator untuk memberi Anda
peran IAM Dialogflow API Client (roles/dialogflow.client) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Sesi
Sesi mewakili percakapan antara agen Dialogflow dan pengguna akhir. Anda membuat sesi di awal percakapan dan menggunakannya untuk setiap giliran percakapan. Setelah percakapan berakhir, Anda berhenti menggunakan sesi tersebut.
Anda tidak boleh menggunakan sesi yang sama untuk percakapan serentak dengan pengguna akhir yang berbeda. Dialogflow mempertahankan konteks yang saat ini aktif untuk setiap sesi aktif. Data sesi disimpan oleh Dialogflow selama 20 menit.
Setiap sesi ditentukan unik oleh ID sesi yang dibuat oleh sistem Anda. Anda membuat sesi baru dengan memberikan ID sesi baru dalam permintaan deteksi intent. ID sesi adalah string dengan ukuran maksimal 36 byte. Sistem Anda bertanggung jawab untuk membuat ID sesi yang unik. ID ini dapat berupa angka acak, ID pengguna akhir yang di-hash, atau nilai lain yang mudah Anda buat.
Mendeteksi intent
Saat Anda menggunakan API untuk interaksi,
layanan Anda akan berinteraksi langsung dengan pengguna akhir.
Untuk setiap giliran percakapan,
layanan Anda mengirimkan ekspresi pengguna akhir ke Dialogflow dengan memanggil
metode detectIntent atau streamingDetectIntent dari
jenis
Sessions.
Dialogflow merespons dengan informasi tentang intent yang cocok,
tindakan, parameter, dan respons yang ditentukan untuk intent tersebut.
Layanan Anda melakukan tindakan sesuai kebutuhan
(misalnya, kueri database atau panggilan API eksternal)
dan mengirim pesan kepada pengguna akhir.
Proses ini berlanjut hingga percakapan berakhir.
Contoh berikut menunjukkan cara mendeteksi intent. Setiap contoh menerima subset input berikut:
- Project ID: Gunakan project ID untuk project yang Anda buat di langkah-langkah penyiapan.
- ID Sesi: Untuk tujuan pengujian agen, Anda dapat menggunakan apa saja. Misalnya, "123456789" sering digunakan oleh sampel.
- Teks atau teks: Ini adalah ekspresi pengguna akhir tunggal atau daftar ekspresi pengguna akhir. Jika beberapa ekspresi diberikan, kode contoh akan memanggil deteksi intent untuk setiap ekspresi. Coba gunakan "Saya bisa bahasa Prancis".
- Kode bahasa: Kode bahasa untuk ekspresi pengguna akhir. Gunakan "en-US" untuk contoh agen ini.
REST
Untuk mendeteksi intent, panggil metodedetectIntent pada resource Sessions.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- SESSION_ID: ID sesi
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
Meminta isi JSON:
{
"query_input": {
"text": {
"text": "I know french",
"language_code": "en-US"
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"responseId": "856510ca-f617-4e25-b0bb-a26c0a59e030-19db3199",
"queryResult": {
"queryText": "I know french",
"parameters": {
"language": "French",
"language-programming": ""
},
"allRequiredParamsPresent": true,
"fulfillmentText": "Wow! I didn't know you knew French. How long have you known French?",
"fulfillmentMessages": [
{
"text": {
"text": [
"Wow! I didn't know you knew French. How long have you known French?"
]
}
}
],
"outputContexts": [
{
"name": "projects/PROJECT_ID/agent/sessions/123456789/contexts/set-language-followup",
"lifespanCount": 2,
"parameters": {
"language": "French",
"language.original": "french",
"language-programming": "",
"language-programming.original": ""
}
}
],
"intent": {
"name": "projects/PROJECT_ID/agent/intents/fe45022f-e58a-484f-96e8-1cbd6628f648",
"displayName": "set-language"
},
"intentDetectionConfidence": 1,
"languageCode": "en"
}
}
Perhatikan hal-hal berikut terkait respons:
- Kolom
queryResult.intentberisi intent yang cocok. - Nilai kolom
queryResult.fulfillmentMessagesberisi respons intent. Ini adalah respons yang harus diteruskan sistem Anda kepada pengguna akhir. - Nilai kolom
queryResult.parametersberisi parameter yang diekstrak dari ekspresi pengguna akhir. - Kolom
queryResult.outputContextberisi konteks aktif.
Go
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti petunjuk penyiapan C# di halaman library klien, lalu buka dokumentasi referensi Dialogflow CX untuk .NET.
PHP: Ikuti petunjuk penyiapan PHP di halaman library klien, lalu lihat dokumentasi referensi Dialogflow CX untuk PHP.
Ruby: Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu lihat dokumentasi referensi Dialogflow CX untuk Ruby.
Produksionalisasi
Sebelum menjalankan agen dalam produksi, pastikan untuk menerapkan praktik terbaik produksi.