Panduan ini memberikan praktik terbaik untuk menggunakan layanan Dialogflow. Pedoman ini dirancang untuk meningkatkan efisiensi dan akurasi serta waktu respons yang optimal dari layanan.
Anda juga harus melihat panduan desain agen umum untuk semua jenis agen, dan panduan desain agen suara khusus untuk mendesain agen suara.
Productionization
Sebelum menjalankan agen di produksi, pastikan untuk menerapkan praktik terbaik berikut:
- Menggunakan versi agen
- Menggunakan kembali klien sesi
- Menerapkan penanganan error dengan percobaan ulang
Versi agen
Anda harus selalu menggunakan versi agen untuk traffic produksi. Lihat Versi dan lingkungan untuk mengetahui detailnya.
Membuat cadangan agen
Simpan cadangan agen yang diekspor dan terbaru. Hal ini akan memungkinkan Anda memulihkan dengan cepat jika Anda atau anggota tim Anda tidak sengaja menghapus agen atau project.
Penggunaan ulang klien
Anda dapat meningkatkan performa aplikasi
dengan menggunakan kembali instance library klien *Client
selama durasi masa aktif eksekusi aplikasi.
Yang terpenting,
Anda dapat meningkatkan performa panggilan API intent deteksi
dengan menggunakan kembali instance library klien SessionsClient
.
Pilih protokol dan versi untuk referensi Sesi:
Protokol | V3 | V3beta1 |
---|---|---|
REST | Resource sesi | Resource sesi |
RPC | Antarmuka sesi | Antarmuka sesi |
C++ | SessionsClient | Tidak tersedia |
C# | SessionsClient | Tidak tersedia |
Go | SessionsClient | Tidak tersedia |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Tidak tersedia | Tidak tersedia |
Python | SessionsClient | SessionsClient |
Ruby | Tidak tersedia | Tidak tersedia |
Untuk informasi selengkapnya tentang hal ini, lihat panduan Praktik Terbaik dengan Library Klien.
Percobaan ulang error API
Saat memanggil metode API, Anda mungkin menerima respons error. Ada beberapa error yang harus dicoba ulang, karena sering kali disebabkan oleh masalah sementara. Ada dua jenis error:
- Error Cloud API.
- Error yang dikirim dari layanan webhook Anda.
Selain itu, Anda harus mengimplementasikan backoff eksponensial untuk percobaan ulang. Hal ini memungkinkan sistem Anda menemukan kecepatan yang dapat diterima saat layanan API mengalami beban berat.
Error Cloud API
Jika Anda menggunakan library klien yang disediakan Google, percobaan ulang error Cloud API dengan backoff eksponensial akan diterapkan untuk Anda.
Jika telah menerapkan library klien Anda sendiri menggunakan REST atau gRPC, Anda harus menerapkan percobaan ulang untuk klien Anda. Untuk informasi tentang error yang harus atau tidak boleh Anda coba ulang, lihat Proposal Peningkatan API: Konfigurasi percobaan ulang otomatis.
Error webhook
Jika panggilan API memicu panggilan webhook,
webhook Anda mungkin menampilkan error.
Meskipun Anda menggunakan library klien yang disediakan Google,
error webhook tidak akan dicoba lagi secara otomatis.
Kode Anda harus mencoba lagi error 503 Service Unavailable
yang diterima dari webhook Anda.
Lihat dokumentasi layanan webhook untuk mengetahui informasi tentang jenis error webhook dan cara memeriksanya.
Pengujian beban
Praktik terbaiknya adalah menjalankan pengujian beban untuk sistem Anda sebelum merilis kode ke produksi. Pertimbangkan poin-poin berikut sebelum menerapkan pengujian beban:
Ringkasan | Detail |
---|---|
Tingkatkan beban. | Pengujian beban Anda harus meningkatkan beban yang diterapkan ke layanan Dialogflow. Layanan ini tidak dirancang untuk menangani lonjakan beban yang tiba-tiba, yang jarang terjadi dengan traffic sebenarnya. Perlu waktu bagi layanan untuk menyesuaikan dengan permintaan beban, jadi tingkatkan kapasitas permintaan secara perlahan, hingga pengujian Anda mencapai beban yang diinginkan. |
Panggilan API dikenai biaya. | Anda akan dikenai biaya untuk panggilan API selama pengujian, dan panggilan akan dibatasi oleh kuota project. |
Gunakan duplikat pengujian. | Anda mungkin tidak perlu memanggil API selama pengujian beban. Jika tujuan pengujian beban Anda adalah untuk menentukan cara sistem Anda menangani beban, sebaiknya gunakan test double sebagai pengganti panggilan sebenarnya ke API. Pengujian ganda Anda dapat menyimulasikan perilaku API saat dimuat. |
Gunakan percobaan ulang. | Pengujian beban Anda harus melakukan percobaan ulang dengan backoff. |
Memanggil Dialogflow dengan aman dari perangkat pengguna akhir
Anda tidak boleh menyimpan kunci pribadi yang digunakan untuk mengakses Dialogflow API di perangkat pengguna akhir. Hal ini berlaku untuk menyimpan kunci di perangkat secara langsung dan untuk hard coding kunci dalam aplikasi. Saat aplikasi klien Anda perlu memanggil Dialogflow API, aplikasi tersebut harus mengirim permintaan ke layanan proxy milik developer di platform yang aman. Layanan proxy dapat melakukan panggilan Dialogflow yang sebenarnya dan diautentikasi.
Misalnya, Anda tidak boleh membuat aplikasi seluler yang memanggil Dialogflow secara langsung. Untuk melakukannya, Anda harus menyimpan kunci pribadi di perangkat pengguna akhir. Sebagai gantinya, aplikasi seluler Anda harus meneruskan permintaan melalui layanan proxy yang aman.