我试图在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,但我想要更简单直接的东西..提前感谢!
答案 0 :(得分:2)
对于像Watson这样的发送消息,使用存储库conversation-simple,您可以简单地添加到您的前端:
Api
您可以在api.js(路径为public / js / api.js)中看到Javascript代码使用getResponsePayload()
和setResponsePayload
以及output
函数来发送类似Watson的消息。但是,在索引中,您必须添加文件以供使用,例如line。
您可以在我的setResponsePayload中看到我使用text
和purrr::map_dbl
发送消息,如有效负载显示,如果Watson发送消息。
答案 1 :(得分:0)
无需浪费时间维护上下文只需在ibm watson对话中删除conversation_start对话框(第一个对话框节点),然后输入输入就可以得到确切的输出
答案 2 :(得分:-1)
您可以尝试将此作为起点:https://github.com/snrubnomis/burgerbot
它的目的是尽可能简单。 &#34; sendMessage&#34; function(在burgerbot.js中)进行调用,然后存储返回的上下文,以便在后续调用中使用。