เราเลิกใช้งานการดําเนินการแบบบทสนทนาไปเมื่อวันที่ 13 มิถุนายน 2023 โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการหยุดให้บริการการดําเนินการด้านการสนทนา

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

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

ในระหว่างการสนทนา ข้อมูลที่รวบรวมโดยใช้ประเภทจะได้รับการจัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชัน นอกจากนี้ คุณยังโต้ตอบกับข้อมูลในพื้นที่จัดเก็บเซสชันได้โดยใช้การเรียกเว็บฮุค สําหรับการเรียกใช้เว็บฮุค ระบบจะส่งสถานะพื้นที่เก็บข้อมูลเซสชันในคําขอ 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."
      }]
    }
  }]
}
    

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

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

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

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

session.params.exampleColor == "red"