#node.js #watson-conversation
#node.js #watson-разговор
Вопрос:
Я хочу получить доступ к контекстным переменным, сохраненным в watson conversation JSON, через приложение, используя node.js .
Я попытался сохранить весь журнал разговора в cloudant и извлек его оттуда.
Есть ли более простой способ доступа к контекстным переменным? Я подумываю отправить http-запрос на сервер для извлечения правильных переменных (я не знаю, к каким переменным обращаться).
Ответ №1:
В зависимости от ваших потребностей вы можете сохранить контекст в сеансе браузера. Это то, что делает приложение conversation-simple.. https://github.com/watson-developer-cloud/conversation-simple В этом случае контекстный объект JSON передается браузеру и снова передается обратно с последующими запросами. Альтернативой является сохранение этой информации в пользовательском хранилище, таком как Cloudant
Ответ №2:
Ответ, который вы получаете от службы Conversation, находится в формате JSON. Таким образом, вы можете извлечь любое значение контекста, доступное в параметре «context» этого ответа JSON. Ниже приведен простой ответ от службы Conversation.
{
"intents": [],
"entities": [],
"input": {
"text": ""
},
"output": {
"text": ["Hello MJ! How can I help you today?"],
"nodes_visited": ["Conversation Start"],
"log_messages": []
},
"context": {
"username": "MJ",
"conversation_id": "5835fa3b-6a1c-4ec5-92f9-22844684670e",
"system": {
"dialog_stack": [{
"dialog_node": "Conversation Start"
}],
"dialog_turn_counter": 1,
"dialog_request_counter": 1,
"_node_output_map": {
"Conversation Start": [0]
}
}
}
}
У вас будут все ваши контекстные переменные в контекстном ключе ответа. Если вы проверите параметр контекста этого ответа, вы увидите запись «username»: «MJ». Это пользовательское значение, которое я добавил в контекст службы. Вы можете отформатировать этот ответ и использовать его в своем приложении в соответствии с вашими потребностями.