如何创建一个聊天机器人响应选项在flutter?

wz3gfoph  于 2023-08-07  发布在  Flutter
关注(0)|答案(4)|浏览(130)

请参见下图:

的数据
我如何使用DialogFlow或Flutter中的任何其他聊天机器人框架实现自动响应。
我只是想知道获得红色区域突出显示的所需结果的方法。

0aydgbwb

0aydgbwb1#

**编辑:**使用dialogflow_v2,您似乎可以执行以下操作来获取自定义建议:

在Dialogflow控制台中,您可以向消息添加自定义有效负载,如下所示:

{"suggestions": ["Reply 1", "Reply 2"]}

字符串
创建一个BotSuggestions类:

class BotSuggestions {
  List<String> suggestions = [];

  BotSuggestions(List<dynamic> messages) {
    messages.forEach((message) {
      if (message['payload'] != null) {
        List<dynamic> suggestionList = message['payload']['suggestions'];
        suggestionList.forEach((suggestion) => suggestions.add(suggestion));
      }
    });
  }
}


然后,你可以像这样使用它:

var botSuggestions = BotSuggestions(response.getListMessage());
print(botSuggestions.suggestions);


下面是如何使用它的完整示例:

var userMessage = "Hi!!!";
print('User: $userMessage');
response = await dialogflow.detectIntent(userMessage);
var botSuggestions = BotSuggestions(response.getListMessage());
print('Bot: ${response.getMessage()}');
print('Suggestions: ${botSuggestions.suggestions}');

userMessage = botSuggestions.suggestions.first;
print('User: $userMessage');
response = await dialogflow.detectIntent(userMessage);
botSuggestions = BotSuggestions(response.getListMessage());
print('Bot: ${response.getMessage()}');
print('Suggestions: ${botSuggestions.suggestions}');


这将是输出:
I/扑动(5917):用户:Hi!
I/扑动(5917):嗨!你好吗?
I/扑动(5917):建议:[回复1,回复2]
I/扑动(5917):用户:回复1
I/扑动(5917):对不起,那是什么?
I/扑动(5917):建议:[]
我在包库中询问了这一点,看看是否有其他方法可以做到这一点,在这里你可以按照线程:How to get suggestions in v2?的数据。

h9a6wy2h

h9a6wy2h2#

我可以推荐你这个指南

1.在这里,您将学习如何在应用程序中使用dialogflow
https://medium.com/flutterpub/flutter-and-bots-dialogflow-d490fc7e5aaf
1.在这里,您将学习如何在flutter中使用Chip widget
https://api.flutter.dev/flutter/material/Chip-class.html
1.示例代码
how to create horizontal and vertical scrollable widgets in flutter
我希望这一切将帮助你。

r1zhe5dt

r1zhe5dt3#

您可以使用dialogflow为bot生成响应,然后添加chip widegt来表示可操作的按钮,如下所示:

Chip
(avatar: CircleAvatar(
backgroundColor: Colors.grey.shade800,
child: Text('AB'),
),
label: Text('Aaron Burr'),)

字符串
此外,您可以使用Dialogflow构建聊天机器人,并向用户提供选项按钮。
有很多方法可以添加选项按钮,如自定义有效载荷,谷歌助手等。使用自定义有效负载,您可以添加自定义的富消息类型。
要构建带有选项按钮的聊天机器人并将其添加到flutter应用程序中,您可以使用Kommunicate等平台,该平台允许您将机器人部署到移动的应用程序中。
要将此聊天机器人集成到您的flutter应用程序中,您可以查看此参考documentation

eh57zj3b

eh57zj3b4#

可以使用LangChain.dart。它提供了必要的构建块来创建LLM驱动的聊天机器人应用程序(LLM Package 器,会话内存,与矢量数据库的集成等)。

  • 免责声明:我是软件包的维护者之一。*

相关问题