Во многих ситуациях может оказаться полезным передать известную информацию (например, имя пользователя для персонализированного приветствия) в новую беседу Watson Dialog, чтобы не задавать пользователю лишних или ненужных вопросов. Глядя на документацию API, я не вижу способа сделать это. Существует ли передовой метод передачи переменных в диалог Watson Dialog?
Передача переменных в Watson Dialog
Ответы (2)
В сервисе Dialog переменная является частью профиля, который вы создаете для хранения информации, предоставляемой пользователями во время разговоров.
В следующем коде показан пример переменной профиля, которая сохраняет имя пользователя.
<variables>
<var_folder name="username">
<var name="username" type="TEXT" description="The user's name."></var>
</var_folder>
</variables>
В вашем сценарии вы установите эту переменную, вызвав:
PUT /v1/dialogs/{dialog_id}/profile
с:
{
"client_id": 4435,
"name_values": [
{
"name": "username",
"value": "Bruce Wayne"
}
]
}
Не забудьте заменить {dialog_id}
и {client_id}
.
У нас есть обозреватель API, который позволяет вам опробовать API: Dialog API Explorer.
Вы также можете узнать больше об этом в этом руководство.
Следует также отметить, что если вы пропустите client_id, то он будет выделен для вас. Затем вы можете передать это в вызов начала разговора, чтобы убедиться, что профиль выбран. Я нашел это полезным, когда у меня есть приветственные сообщения, в которые я хочу встроить переменные профиля, например. "Привет "