我需要在 Conversation 服务的 Message Request 中提供什么来回答对话的第一步?

What do I need to provide in MessageRequest of the Converstation service to answer the first step in the conversation?

我在 Java 中有一个对话服务客户端(使用 SDK)

ConversationService conversationService = new ConversationService(ConversationService.VERSION_DATE_2016_07_11, userName, password);
MessageRequest.Builder messageRequestBuilder = new MessageRequest.Builder();
messageRequestBuilder.inputText(question);
ServiceCall<MessageResponse> response = conversationService.message(workspaceId, messageRequestBuilder.build());
MessageResponse answer =  response.execute();

无论我提供什么文本,我总是收到问候消息。 为了解决这个问题,我执行了第二次调用,其中包括来自答案的整个上下文,就像这样

messageRequestBuilder = new MessageRequest.Builder();
messageRequestBuilder.context(answer.getContext());
messageRequestBuilder.inputText(question);
response = conversationService.message(workspaceId, messsageRequestBuilder.build());
answer =  response.execute();

现在我确实通过了最初的问候语。

我的问题是:在对话的每个步骤中我至少需要提供什么?

Watson Conversation 服务是无状态的,这意味着对话状态在 JSON 消息请求和响应的 context 部分中发送。因此,您需要做的是从 Watson Conversation 服务的 JSON 响应中获取 context 部分,并在下一个请求中将其发送回该服务,并将其包含在消息请求中。

context中有最后处理哪个节点的信息以及下一轮评估将从哪里开始。