watson chatbot对话框流不会击中子节点

时间:2017-08-24 09:11:16

标签: ibm-cloud watson-conversation

ibm dialog flow

请看一下图片。我在IBM UI端获得的响应未显示在Java控制台中。它为空或null,但意图被正确命中。

我正在使用java watson conversation api开发一个聊天机器人,但是在点击子节点时我遇到了错误。是上下文问题还是别的什么?我无法理解。我附上了代码。

请帮忙。

input_gui是用户输入

MessageRequest newMessage = new 
MessageRequest.Builder().inputText(input_gui).context(context).build();
MessageResponse response = conversationService.message(workspaceId, newMessage).execute();

    newMessage = new MessageRequest.Builder()
            .inputText(input_gui)
            .context(response.getContext()) // output context from the first message
            .build();
    System.out.println("watson response"+response);

请看我附加的图像。这张图片是.......

2 个答案:

答案 0 :(得分:1)

这是工作代码我得到了我的错误我每次都调用服务凭证,因此上下文初始化每个输入消息,为什么我现在无法在对话中获得单个会话ID现在正在工作

MessageRequest newMessage = new MessageRequest.Builder().inputText(input).context(context).build();

MessageResponse response = service.message(WORKSPACE_ID,newMessage).execute();

context = response.getContext();

System.out.println(response);

答案 1 :(得分:0)

我不是Java的专家,但是,试着帮助你,查看Java SDK examples的Watson Conversation。您可以从IBM开发人员查看此project,他们正在使用与Java的对话服务。

请参阅几个月前我为一次测试所做的代码:

MessageRequest.Builder messageRequestBuilder = new MessageRequest.Builder();
        messageRequestBuilder.inputText(input_gui);
        messageRequestBuilder.context(question.context); //this context comes from a previous step 


ServiceCall<MessageResponse> response = conversationService.message(workspaceId, messageRequestBuilder.build());
        MessageResponse mAnswer =  response.execute();

        Object textObject = mAnswer.getOutput().get("text");