Sesi mewakili percakapan antara agen Dialogflow dan pengguna akhir. Anda dapat membuat entitas khusus, yang disebut entitas sesi, selama sesi. Entitas sesi dapat memperluas atau menggantikan jenis entitas kustom dan hanya ada selama sesi yang dibuatnya. Semua data sesi, termasuk entity sesi, disimpan oleh Dialogflow selama 20 menit.
Misalnya, jika agen Anda memiliki jenis entitas @fruit
yang mencakup "pir" dan "anggur",
jenis entitas tersebut dapat diperbarui untuk menyertakan "apel" atau "jeruk",
bergantung pada informasi yang dikumpulkan agen Anda dari pengguna akhir.
Jenis entitas yang diperbarui akan memiliki entri entitas "apple" atau "orange"
untuk sesi lainnya.
Membuat entity sesi dengan pemenuhan
Anda dapat membuat entity sesi dengan
pemenuhan.
Jenis
WebhookResponse
berisi kolom bernama sessionEntityTypes
yang digunakan untuk menetapkan entity sesi.
Contoh berikut menunjukkan cara menetapkan entri entity jenis 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 Anda menggunakan library klien Actions on Google, Anda dapat menggunakan plugin Entitas Sesi.
Kode Anda akan terlihat mirip dengan 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 membuat, mengelola, dan memperbarui entitas sesi menggunakan jenis
SessionEntityTypes.