【发布时间】:2018-03-02 22:23:04
【问题描述】:
我是 Java 和 Watson 对话的新手。这是否可以将图像添加到 Watson Conversation 响应?我想向 Watson Conversation 添加图像我在 Watson Conversation 上创建了一个聊天机器人,并将其与 Facebook 集成为 Java Web 应用程序。我想在 Watson 响应中添加图像。
public class TestConversation {
public static void main(String[] args) {
BufferedReader br = null;
MessageResponse response = null;
Map context = new HashMap();
try {
br = new BufferedReader(new InputStreamReader(System.in));
String userName = br.readLine();
// Add userName to context to be used by Conversation.
context.put("userName", userName);
while (true) {
String input = br.readLine();
response = conversationAPI(input, context);
System.out.println("Watson Response: " + response.getText().get(0));
context = response.getContext();
System.out.println("———–");
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static MessageResponse conversationAPI(String input, Map context) {
ConversationService service = new ConversationService(ConversationService.VERSION_DATE_2016_07_11);
// Credentials of Workspace of Conversation
service.setUsernameAndPassword("******************", "****************");
MessageRequest newMessage = new MessageRequest.Builder().inputText(input).context(context).build();
// Workspace ID of Conversation current workspace
String workspaceId = "******************";
MessageResponse response = service.message(workspaceId, newMessage).execute();
return response;
}
}
【问题讨论】:
-
您的问题与最初的问题不同。
-
问题是一样的,但我认为,我无法很好地解释我的错误。让我解释一下,我在 Watson Conversation 上创建了一个聊天机器人,并创建了一个 Java Web 应用程序来调用 API 并在 Java 应用程序中调用 Conversation 工作区(如您在上面的代码中所见),并将其与 Facebook Messenger 集成。现在我希望 Watson 对 Facebook Messenger 做出图像响应。如何做呢?请给出正确的解决方案,正如我之前提到的,我是 java 和 Watson Conversation 的新手。
-
Java SDK 不是我的强项,但唯一突出的是您每次都在
conversationAPI()方法中重置您的对话。连接对话后,您需要传回相同的上下文,而不是每次都创建新的对话对象/会话。尝试查看示例:github.com/watson-developer-cloud/java-sdk/tree/develop/… -
请您针对您指出的问题更正我的代码吗?我真的很感激
-
@SimonO'Doherty 你能否更具体一点,我在哪里重置 ConversationAPI () 方法中的对话?请指出这条线