从 IBM Watson Assistant 获取我的聊天机器人中的选项列表

Posted

技术标签:

【中文标题】从 IBM Watson Assistant 获取我的聊天机器人中的选项列表【英文标题】:Getting list of options in my chatbot from IBM Watson Assistant 【发布时间】:2019-11-21 20:07:56 【问题描述】:

image of ibm watson and options (2nd image)

如何从 IBM Watson Assistant 获取聊天机器人中的选项列表?我正在使用 IBM Watson AI 平台。下面是聊天机器人代码,上面给出了选项的屏幕截图。如何在我的代码中获取这些选项?

final ConversationService myConversationService =
                new ConversationService(
                        "2017-05-26",
                        getString(R.string.username),
                        getString(R.string.password)
                );
    sendImg.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View view) 

            Toast.makeText(MainActivity.this, "working", Toast.LENGTH_SHORT).show();
            inputText = etTypingMsg.getText().toString();



    MessageRequest request = new MessageRequest.Builder()
                            .inputText(inputText)
                            .build();

    myConversationService.message(getString(R.string.workspace), request)
                            .enqueue(new ServiceCallback<MessageResponse>() 
                                @Override
                                public void onResponse(MessageResponse response) 

                                    outputText = "";
                                    int length=response.getText().size();
                                    Log.i("testing", "run: "+length);
                                    if(length>1) 
                                        for (int i = 0; i < length; i++) 
                                            outputText += '\n' + response.getText().get(i).trim();
                                        

                                    
                                    else
                                        outputText = response.getText().get(0);

                                    runOnUiThread(new Runnable() 
                                        @Override
                                        public void run() 
                                            btnInvisisble.setVisibility(View.GONE);
                                            String chatkey= databaseReference.push().getKey();
                                            chatModel=new ChatModel(inputText,outputText,chatkey);
                                            databaseReference.child(userid).child("MainChatting").child(chatkey).setValue(chatModel);

                                            if(outputText.toLowerCase().contains("You should meet with".toLowerCase()))
                                                btnInvisisble.setVisibility(View.VISIBLE);
                                                btnInvisisble.startAnimation(shake);
                                                 


                                        
                                    );
                                
                                @Override
                                public void onFailure(Exception e) 
                            );

            etTypingMsg.setText("");
            try 
                InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
             catch (Exception e) 
                // TODO: handle exception
            

【问题讨论】:

有任何错误或任何具体问题吗?什么不工作?你尝试了什么? 我不知道如何在我的聊天机器人中显示 ibm watson 帮助的这个选项(给定图片) 我不是 100% 确定你在问什么。我相信您在问如何在聊天机器人的 UI 中显示这些选项。 - 如果是这样的话,那么你有很多选择。您可以将这些选项显示为按钮,列表标签是按钮上显示的内容,以及选择按钮时结果的值。或者你可以这样一个列表,再次选择列表之一时,该值就是返回的值。我还必须注意,通常选择按钮/列表时的值是对话中显示的值,就像您输入了值一样。 是的。你说对了。我想在我的聊天机器人的 UI 中显示这些选项。你能告诉我任何与这个问题相关的演示代码吗?我不明白,我该怎么做? 【参考方案1】:

我确切地知道为什么这对你不起作用。您需要使用更新的“版本日期”。您的代码显示您正在使用“2017-05-26”。该日期是在“选项”功能添加到助手之前。尝试使用最近的日期,例如“2019-07-01”。然后就可以了。

【讨论】:

我将版本更改为“2019-07-01”。但它仍然无法正常工作。选项未显示在我的聊天机器人的 UI 中。它仅适用于 Watson 的“试用”。我在帖子中添加了另一张 ibm watson 的图片。 我想你问的是如何显示选项——而不是如何从助手中检索它们。我无法帮助您处理 UI 部分,但您现在应该可以取回选项值。他们将在output.generic[0].options

以上是关于从 IBM Watson Assistant 获取我的聊天机器人中的选项列表的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过 Axios (React Native) 访问 IBM Watson Assistant 消息时出现错误 500

将 IBM Db2 连接到 Watson Assistant

IBM Watson Assistant 响应来自机器人的延迟

如何在 IBM Watson Assistant 客户端中实现“客户端”类型的操作?

Watson Assistant 使用 Twilio 与电话集成

找不到Watson Assistant登录名