尽管米奇的回答是正确的,但这里有一个进行个性化回答的示例。
1. 设置您的conversation_start
节点文本为“Hello <? context.username ?>
".
2. 在你的代码中你会做这样的事情(Python)。
import json
from watson_developer_cloud import ConversationV1
conversation = ConversationV1(
username='SERVICE_USERNAME',
password='SERVICE_PASSWORD',
version='2016-07-11')
workspace_id = 'WORKSPACE_ID_CONVERSATION'
response = conversation.message(workspace_id=workspace_id, context= {'username':'Simon'})
print json.dumps(response)
3. 当您运行它时,它应该输出以下内容,其中“文本”部分是用户看到的内容。
{
"entities":[],
"intents":[],
"output":{
"log_messages":[],
"nodes_visited":["node_1_1472298724972],
"text":["Hello Simon"]
},
"context":{
"username":"Simon",
"conversation_id":"9dc1501b-ac53-4b51-a299-37f5314ebf89",
"system":{
"dialog_turn_counter":1,
"dialog_stack":["root"],
"dialog_request_counter":1
}
},
"input":{}
}
需要注意的一件事是,上下文对象用于维护会话的状态。因此,如果您打算仅使用 REST API,那么您需要在发送之前将上下文变量合并到前面的上下文对象中。您只需要在您确实知道对话需要该上下文的时候执行此操作。