Sesi mewakili percakapan antara agen Dialogflow dan pengguna akhir. Anda dapat membuat entitas khusus, yang disebut entitas sesi, selama sesi. Entity sesi dapat memperluas atau mengganti jenis entity kustom dan hanya ada selama sesi tempat entity tersebut dibuat. Semua data sesi, termasuk entitas sesi, disimpan oleh Dialogflow selama 20 menit.
Misalnya, jika agen Anda memiliki jenis entity @fruit
yang menyertakan "pear" dan "grape",
jenis entity tersebut dapat diperbarui untuk menyertakan "apel" atau "oranye",
bergantung pada informasi yang dikumpulkan agen Anda dari pengguna akhir.
Jenis entitas yang diperbarui akan memiliki entri entity "apel" atau "oranye" selama sisa sesi.
Membuat entity sesi dengan fulfillment
Anda dapat membuat entity sesi dengan
fulfillment.
Jenis
WebhookResponse
berisi kolom bernama sessionEntityTypes
yang digunakan untuk menetapkan entity sesi.
Contoh berikut menunjukkan cara menetapkan entri entitas
jenis entitas fruit
ke apple
dan orange
untuk sesi saat ini.
Contoh WebhookResponse:
{ "fulfillmentMessages": [ { "text": { "text": [ "Choose apple or orange" ] } } ], "sessionEntityTypes":[ { "name":"projects/project-id/agent/sessions/session-id/entityTypes/fruit", "entities":[ { "value":"APPLE_KEY", "synonyms":[ "apple", "green apple", "crabapple" ] }, { "value":"ORANGE_KEY", "synonyms":[ "orange" ] } ], "entityOverrideMode":"ENTITY_OVERRIDE_MODE_OVERRIDE" } ] }
Contoh penggunaan library klien Actions on Google:
Jika menggunakan library klien Actions on Google, Anda dapat menggunakan plugin Entitas Sesi.
Kode Anda akan terlihat seperti berikut:
const { sessionEntitiesHelper } = require('actions-on-google-dialogflow-session-entities-plugin') const app = dialogflow() .use(sessionEntitiesHelper()) app.intent('input.welcome', (conv) => { conv.ask('make your choice: apple or orange?'); // Set the fruit session entity values to 'apple' and 'orange'. conv.sessionEntities.add({ name: 'fruit', entities: [{ value: 'APPLE_KEY', synonyms: [ 'apple', 'green apple', 'crabapple' ] }, { value: 'ORANGE_KEY', synonyms: ['orange'] }] }); conv.sessionEntities.send(); });
Membuat entity sesi dengan API
Anda dapat membuat, mengelola, dan memperbarui entity sesi menggunakan
jenis
SessionEntityTypes
.