คุณสามารถจัดเก็บค่าพารามิเตอร์สำหรับผู้ใช้ที่ระบุภายในการสนทนาได้ใน พื้นที่เก็บข้อมูลเซสชัน จากนั้นการดำเนินการของคุณจะใช้ค่าที่จัดเก็บไว้เหล่านั้นภายหลังในข้อความแจ้ง และโค้ดเว็บฮุคจะเข้าถึงค่าในพื้นที่เก็บข้อมูลของเซสชันได้ การสนทนาเมื่อจำเป็น
ระหว่างการสนทนา ระบบจะจัดเก็บข้อมูลที่เก็บรวบรวมโดยใช้ประเภทไว้ในเซสชัน
พื้นที่เก็บข้อมูล คุณยังโต้ตอบกับข้อมูลในพื้นที่เก็บข้อมูลเซสชันโดยใช้การเรียกเว็บฮุคได้ด้วย
สำหรับการเรียกเว็บฮุค ระบบจะส่งสถานะของพื้นที่เก็บข้อมูลเซสชันใน app.handle()
และจัดเก็บไว้ในออบเจ็กต์ session
ข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลของเซสชันจะหมดอายุเมื่อการสนทนาสิ้นสุดลง
อ่านและเขียนข้อมูลไปยังพื้นที่เก็บข้อมูลของเซสชัน
หากต้องการอัปเดตหรือตั้งค่าใหม่ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดค่าให้กับ
ฟิลด์ params
ของออบเจ็กต์ session
ในการเรียกเว็บฮุค ตัวอย่างต่อไปนี้
ตั้งค่า "exampleColor" เป็น "สีแดง" ในพื้นที่เก็บข้อมูลเซสชัน:
// Assign color to session storage
app.handle('storeColor', conv => {
let color = 'red';
conv.session.params.exampleColor = color;
});
{
"responseJson": {
"session": {
"id": "12345678901234567890",
"params": {
"exampleColor": "red"
}
},
"prompt": {
"override": false
}
}
}
หากต้องการเข้าถึงข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดข้อมูลดังกล่าวให้กับตัวแปรในเว็บฮุค การโทร ตัวอย่างต่อไปนี้ดึงค่าจาก "exampleColor" ในเซสชัน พื้นที่เก็บข้อมูล:
// Retrieve color from session storage
app.handle('getStoredColor', conv => {
let color = conv.session.params.exampleColor;
});
{
"responseJson": {
"session": {
"id": "12345678901234567890",
"params": {
"exampleColor": "red"
}
},
"prompt": {
"override": false
}
}
}
หากต้องการล้างค่าที่บันทึกไว้ก่อนหน้านี้ ให้ตั้งค่าเป็น null
ในการเรียกใช้เว็บฮุค
ตัวอย่างต่อไปนี้จะล้างค่าของ "exampleColor" ในพื้นที่เก็บข้อมูลเซสชัน:
// Clear color from session storage
app.handle('clearStoredColor', conv => {
conv.session.params.exampleColor = null;
});
{
"responseJson": {
"session": {
"id": "12345678901234567890",
"params": {}
},
"prompt": {
"override": false
}
}
}
อ้างอิงค่าที่จัดเก็บไว้ภายในพรอมต์
คุณจะอ้างอิงค่าที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชันได้ในข้อความแจ้ง หากต้องการอ้างอิง
ให้ใช้ไวยากรณ์ $session.params.PARAMETER_NAME
โดยที่
PARAMETER_NAME
คือชื่อที่ระบุในเว็บฮุคเมื่อพารามิเตอร์
ได้รับการตั้งค่าแล้ว
ตัวอย่างเช่น ก่อนหน้านี้คุณได้จัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลเซสชันเป็น
พารามิเตอร์ exampleColor
หากต้องการเข้าถึงค่าดังกล่าวในพรอมต์ คุณต้องอ้างอิงว่า
ที่ใช้ $session.params.exampleColor
:
{
"candidates": [{
"first_simple": {
"variants": [{
"speech": "Your favorite color is $session.params.exampleColor."
}]
}
}]
}
อ้างอิงค่าที่จัดเก็บไว้ภายในเงื่อนไข
นอกจากนี้ คุณยังอ้างอิงค่าที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชันในเงื่อนไขได้ด้วย ถึง
อ้างอิงค่าโดยใช้ session.params.PARAMETER_NAME
โดย PARAMETER_NAME
คือชื่อที่ให้ไว้ในเว็บฮุคเมื่อ
ตั้งค่าพารามิเตอร์แล้ว
ตัวอย่างเช่น ก่อนหน้านี้คุณได้จัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลเซสชันเป็น
พารามิเตอร์ exampleColor
และคุณต้องการจับคู่กับค่า "สีแดง" ใน
ในเงื่อนไขของคุณ ให้อ้างอิงค่าที่จัดเก็บไว้โดยใช้
session.params.exampleColor
นิพจน์เงื่อนไขของคุณจะมีลักษณะดังนี้
session.params.exampleColor == "red"