javascript node.js ibm-cloud ibm-watson watson-assistant

javascript - ¿Cómo agrego una acción a la respuesta de conversación de Watson?



node.js ibm-cloud (2)

Debe tener cuidado con las variables de contexto, ya que su próximo nodo de diálogo puede actualizarlas o no. Otra opción es agregar una variable personalizada en la salida. Esta es la solución utilizada en muestras de descubrimiento de conversación disponibles en GitHub.

"output": { "text": { "values": [ "Goodbye..." ], "selection_policy": "sequential" }, "action": "close" }

Tenga en cuenta que esto provocará una advertencia al cerrar el editor JSON.

He creado intención, entidad y diálogo sin ningún problema. Pero ahora estoy tratando de hacerlo para que cuando el usuario envíe "adiós", la aplicación se cierre. Según el documento, tendré que nombrar una acción que vaya junto con una intención. ¿Cómo puedo hacer eso? ¿Es a través del código o de la plataforma del espacio de trabajo de conversación?


Puede usar context variables o action variables para eso. ¿Cómo usar las variables de contexto? Agregue en su respuesta anticipada el "contexto" y los valores, consulte mi ejemplo.

He usado la conversación simple para eso.

En su Watson Developer Cloud - IBM Bluemix - Watson Conversation, agregue en la respuesta avanzada este ejemplo JSON, suponiendo que es en este nodo de conversación que su aplicación hará algo:

{ "context": { "verified": true; }, "output": { "text": { "values": [ "Please wait and I''ll verified your request." ], "selection_policy": "sequential" } } }

Ejemplo (app.js):

function updateMessage(input, data, req, res) { if (data.context.verified === true){ searchRequest(data, req, res); } else if (data.output && data.output.text) { return res.json(data); } return data; }

Puede usar los datos para enviar algo dentro del flujo de conversación.

function searchRequest(data, req, res){ // something to do and return value var sendRequest = "Thanks for wait, the request is" + valueRequest; data.output.text[0] = sendRequest; return data; }

EDITAR:

Puede agregar un objeto JSON como "acción", y su código reconocerá esta variable, con el mismo ejemplo que dijo @Mikko. Y puedes verificar esto con:

data.output.action === ''close''