2017-08-24 66 views
0

ibm dialog flowwatson chatbot對話框流程不會觸及子節點

請看看圖像。 Java控制檯中沒有顯示我在IBM UI端獲得的響應。它是空的或空的,但意圖正確地被打。

我開發使用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); 

請看圖片我附上。此圖片.......

+0

這實際上取決於您如何構建對話流程。我從你根本不符合任何可用的條件,不具備具有總是如此條件的後備節點的消息預期。 – 5agado

+0

在沃森會話業務的UI顯示響應,如果我嘗試,但在Java代碼輸出爲空在那裏與上下文相關 – supriya

+0

使用punctiation標記肯定會幫 –

回答

0

這裏是工作的代碼,我得到了我的錯誤,我叫服務證書每次所以上下文獲得每個輸入消息初始化爲什麼我在對話中無法獲得單個對話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); 
0

我不是在Java中一個專家,但是,想幫你,檢查Java SDK examples沃森對話。你可以看看這個project從IBM開發人員,他們使用的會話服務和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"); 
+0

問題總是顯示「dialog_turn_counter」:1.0,它的不會增加 – supriya

+0

這是因爲您需要在每次發送時設置conversation_id。 –

+0

你能告訴我怎樣可以設置對話ID,在我的代碼,因爲在每一個沃森回答它在上下文中發送新的對話id – supriya

相關問題