天真问题的道歉。
在DialogFlow v2 API中,有2个相似的RichResponse选项。基本卡和卡。从对象定义来看,它几乎相似。
有人知道何时使用一个与另一个吗? 什么时候应该使用基本卡,什么时候应该使用卡?
答案 0 :(得分:0)
大多数Protobuf消息中定义了大多数Google Cloud服务的接口,这些消息在Github上的googleapis回购中发布。因此,您可以直接在Dialogflow的内部进行窥视,在其中可以找到Card
和BasicCard
的两个定义:
// The card response message.
message Card {
// Optional. Contains information about a button.
message Button {
// Optional. The text to show on the button.
string text = 1;
// Optional. The text to send back to the Dialogflow API or a URI to
// open.
string postback = 2;
}
// Optional. The title of the card.
string title = 1;
// Optional. The subtitle of the card.
string subtitle = 2;
// Optional. The public URI to an image file for the card.
string image_uri = 3;
// Optional. The collection of card buttons.
repeated Button buttons = 4;
}
// The basic card message. Useful for displaying information.
message BasicCard {
// The button object that appears at the bottom of a card.
message Button {
// Opens the given URI.
message OpenUriAction {
// Required. The HTTP or HTTPS scheme URI.
string uri = 1;
}
// Required. The title of the button.
string title = 1;
// Required. Action to take when a user taps on the button.
OpenUriAction open_uri_action = 2;
}
// Optional. The title of the card.
string title = 1;
// Optional. The subtitle of the card.
string subtitle = 2;
// Required, unless image is present. The body text of the card.
string formatted_text = 3;
// Optional. The image for the card.
Image image = 4;
// Optional. The collection of card buttons.
repeated Button buttons = 5;
}
唯一的区别似乎是:
accessibility_text
,某些没有屏幕的设备(例如屏幕阅读器)会使用Card
。 protobufs中没有明显的重要区别,但是Dialogflow文档中的区别是BasicCard
是通用的Rich Message,可以在Google的Actions和其他集成中使用,例如Facebook Messenger ,Twitter,Slack等。Card
是特定于Google的操作类型,不适用于任何其他平台。
除非您确实需要格式化的文本,否则最好建议使用更通用的df_sorted = df.sort_values(by=['timestamp'])
,因为当您决定将代理与其他平台集成时,它不会中断。请记住,尽管每个平台对于Rich Messages都有其自身的局限性,所以与平台无关的卡的真正取决于您所填充的数据。