พื้นที่เก็บข้อมูลเซสชัน

คุณจะจัดเก็บค่าพารามิเตอร์สำหรับผู้ใช้ที่ต้องการภายในการสนทนาในพื้นที่เก็บข้อมูลเซสชันได้ จากนั้นการดำเนินการจะใช้ค่าที่เก็บไว้เหล่านั้นได้ภายหลังในพรอมต์และเงื่อนไข และโค้ดเว็บฮุคจะเข้าถึงค่าในพื้นที่เก็บข้อมูลเซสชันสำหรับการสนทนาได้เมื่อจำเป็น

ในระหว่างการสนทนา ระบบจะเก็บข้อมูลที่รวบรวมโดยใช้ประเภทไว้ในพื้นที่เก็บข้อมูลเซสชัน นอกจากนี้ คุณยังโต้ตอบกับข้อมูลในพื้นที่เก็บข้อมูลเซสชันได้โดยใช้การโทรเว็บฮุค สำหรับการเรียกเว็บฮุค ระบบจะส่งสถานะของพื้นที่เก็บข้อมูลเซสชันในคำขอ app.handle() และจัดเก็บไว้ในออบเจ็กต์ session

ข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชันจะหมดอายุเมื่อการสนทนาสิ้นสุดลง

อ่านและเขียนข้อมูลลงในพื้นที่เก็บข้อมูลเซสชัน

หากต้องการอัปเดตหรือกำหนดค่าใหม่ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดค่าลงในช่อง params ของออบเจ็กต์ session ในการเรียกใช้เว็บฮุค ตัวอย่างต่อไปนี้ตั้งค่า "exampleColor" เป็น "red" ในพื้นที่เก็บข้อมูลเซสชัน

Node.js

// Assign color to session storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.session.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {
        "exampleColor": "red"
      }
    },
    "prompt": {
      "override": false
    }
  }
}
    

หากต้องการเข้าถึงข้อมูลที่เก็บไว้ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดข้อมูลดังกล่าวให้กับตัวแปรในการเรียกใช้เว็บฮุค ตัวอย่างต่อไปนี้ดึงค่าจาก "exampleColor" ในพื้นที่เก็บข้อมูลเซสชัน

Node.js

// Retrieve color from session storage
app.handle('getStoredColor', conv => {
  let color = conv.session.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {
        "exampleColor": "red"
      }
    },
    "prompt": {
      "override": false
    }
  }
}
    

หากต้องการล้างค่าที่บันทึกไว้ก่อนหน้านี้ ให้ตั้งค่าเป็น null ในการเรียกใช้เว็บฮุค ตัวอย่างต่อไปนี้จะล้างค่า "exampleColor" ในพื้นที่เก็บข้อมูลเซสชัน

Node.js

// Clear color from session storage
app.handle('clearStoredColor', conv => {
  conv.session.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {}
    },
    "prompt": {
      "override": false
    }
  }
}
    

อ้างอิงค่าที่จัดเก็บไว้ภายในข้อความแจ้ง

คุณสามารถอ้างอิงค่าที่เก็บไว้ในพื้นที่เก็บข้อมูลเซสชันในข้อความแจ้ง หากต้องการอ้างอิงค่า ให้ใช้ไวยากรณ์ $session.params.PARAMETER_NAME โดยที่ PARAMETER_NAME คือชื่อที่ระบุในเว็บฮุคเมื่อมีการตั้งค่าพารามิเตอร์

เช่น ก่อนหน้านี้คุณเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลเซสชันเป็นพารามิเตอร์ exampleColor หากต้องการเข้าถึงค่านั้นในพรอมต์ ให้อ้างอิงค่านั้นโดยใช้ $session.params.exampleColor ดังนี้

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $session.params.exampleColor."
      }]
    }
  }]
}
    

อ้างอิงค่าที่จัดเก็บไว้ภายในเงื่อนไข

นอกจากนี้ คุณยังอ้างอิงค่าที่เก็บไว้ในพื้นที่เก็บข้อมูลเซสชันในconditionsได้ด้วย หากต้องการอ้างอิงค่า ให้ใช้ไวยากรณ์ session.params.PARAMETER_NAME โดยที่ PARAMETER_NAME เป็นชื่อที่ระบุในเว็บฮุคเมื่อมีการตั้งค่าพารามิเตอร์

เช่น ก่อนหน้านี้คุณจัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลเซสชันเป็นพารามิเตอร์ exampleColor และต้องการจับคู่กับค่า "red" ในเงื่อนไขหนึ่งๆ ในเงื่อนไขของคุณ คุณอ้างอิงค่าที่จัดเก็บไว้โดยใช้ session.params.exampleColor นิพจน์เงื่อนไขจะมีลักษณะดังนี้

ไวยากรณ์ของเงื่อนไข

session.params.exampleColor == "red"