Доступ к контекстным переменным, хранящимся в разговоре Watson, с помощью node.js

#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». Это пользовательское значение, которое я добавил в контекст службы. Вы можете отформатировать этот ответ и использовать его в своем приложении в соответствии с вашими потребностями.