세션 저장소

대화 내에서 특정 사용자의 매개변수 값을 세션 스토리지로 이동합니다 그러면 작업이 나중에 프롬프트에서 저장된 값을 사용할 수 있습니다. 웹훅 코드는 세션 스토리지의 값에 액세스하여 대화를 나눌 수 있습니다

대화 중에 유형을 사용하여 수집된 모든 데이터는 세션에 저장됩니다. 사용할 수 있습니다 웹훅 호출을 사용하여 세션 저장소의 데이터와 상호작용할 수도 있습니다. 웹훅 호출의 경우 세션 저장소의 상태가 app.handle()에 전달됩니다. session 객체에 저장됩니다.

세션 저장소에 저장된 데이터는 대화가 끝나면 만료됩니다.

세션 저장소에 데이터 읽기 및 쓰기

세션 스토리지에서 새 값을 업데이트하거나 설정하려면 값을 웹훅 호출에서 session 객체의 params 필드입니다. 다음 예를 참고하세요. 는 'exampleColor'를 설정합니다. '빨간색'으로 변경 세션 스토리지에서:

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"