【问题标题】:Maintain Context维护上下文
【发布时间】:2017-05-04 15:58:27
【问题描述】:

我正在尝试在 Watson Conversation 中保留上下文,但它不起作用。我已经尝试过 answer,但它没有起作用。我正在尝试将机器人集成到 html 中。

我在对话配置中试过这个:

var payload = {
workspace_id: workspace,
context: {}}; 
if (req.body) {
 if (req.body.input) {
  payload.input = req.body.input;
}
 if(req.body.context) {
  payload.context = req.body.context;
}}

这在 html/javascript 的代码中:

var payload = {};
var context = {}; 

function callWatson(){
alert("watson");
$.ajax({
type: 'POST',
dataType: 'JSON',
contentType: "application/json",
url: '/api/message',
data: JSON.stringify(payload)
}).done(function (json) {
if (json.output.text[0]) {
  context = payload.context;
$'<div class="message">+ json.output.text[0]+</div>').appendTo($('.container'));

function insertMessage() {
msg = $('.message-input').val();
$'<div class="message">+ msg+</div>').appendTo($('.container'));

我是编码初学者,我尝试过处理对话简单的 js,但我想要更简单直接的东西。提前谢谢!

【问题讨论】:

    标签: javascript node.js ibm-watson watson-conversation


    【解决方案1】:

    对于像 Watson 一样发送消息,使用存储库 conversation-simple,您可以在前端简单地添加:

    var latestResponse = Api.getResponsePayload();
    var context = latestResponse.context;
    Api.setResponsePayload('{"output": {"text": ["Hi $name!"]},"context" : ' + JSON.stringify(context) +'}');
    

    您可以看到 Javascript 代码使用 api.js(路径 public/js/api.js)中的 ApigetResponsePayload()setResponsePayload 函数来发送类似 Watson 的消息。但是,在您的索引中,您必须添加文件以便像这样使用line

    您可以在我的 setResponsePayload 中看到我使用 outputtext 发送消息,就像 Watson 发送消息时显示的有效负载一样。

    【讨论】:

    • 我正在尝试使用 ajax,但我想我会使用对话简单.. tks 很多!
    • 是的,我的例子是 Conversation-simple :)
    【解决方案2】:

    无需浪费时间维护上下文,只需在 ibm watson 对话中删除对话开始对话(第一个对话节点),然后提供输入,您将获得准确的输出

    【讨论】:

      【解决方案3】:

      您可以尝试以此为起点:https://github.com/snrubnomis/burgerbot

      它旨在尽可能简单。 “sendMessage”函数(在 burgerbot.js 中)进行调用,然后存储返回的上下文以供后续调用使用。

      【讨论】:

      • 帮助很大!但我有一个问题请......个性化
        我需要更改 displayMessage 内容吗?
      • displayMessage 构造包含消息(来自用户和 watson)的新 DOM 元素。如果要更改为每条消息显示的内容,则可以在此函数中执行此操作。如果您只是想改变外观,那么您可以在 CSS 中进行。
      猜你喜欢
      相关资源
      最近更新 更多
      热门标签