rasa如何支持富文本

问题描述

对于FAQs机器人针对问题的答案可能需要很长的篇幅进行描述,那么在实现过程中,一般会先提供简单的回复描述,在附带上详细描述的链接,通过点击详细链接,给出答案的详细描述。该详细描述可以是之前通过富文本编辑的形式存储于数据库中的内容。

问题解决

rasa-sdk/CollectingDispatcher/executor.py中可以看到,message的格式如下:

1
2
3
4
5
6
7
8
9
{
    "text": text,
    "buttons": buttons,
    "elements": elements,
    "custom": json_message,
    "template": template,
    "image": image,
    "attachment": attachment,
}

支持在返回消息中,添加text,添加button,添加elements,针对定义的模板来返回消息,添加image,添加附件。

那么关于富文本的接口调用方式可以以json_mseeage的形式提供,

如:

1
2
3
4
5
6
{
  "custom": {
    "rich_text_api": ip:port/webhook/api/,
    "parameters": param
  }
}

然后在前端对消息进行组装。