Rasa Action Server 用于为 Rasa 机器人运行自定义操作。
1. 如何工作
当机器人预测自定义操作时,Rasa 服务器使用 JSON 有效负载向 Action Server 发送 POST 请求,包括预测动作的名称、对话ID、跟踪器的内容和域的内容。
当 Action Server 完成运行自定义操作时,会返回响应和事件的 JSON 有效负载。Rasa 服务器之后将响应返回给用户,并将事件添加到对话跟踪器。
2. 自定义操作的SDK
我们可以使用任何语言编写的 Action Server 来运行自定义操作,只要实现所需的 API。
2.1 基于Python的Rasa SDK
Rasa SDK 是一个用于运行自定义操作的 Python SDK,除了实现所需的 API 之外,它还提供了与对话跟踪器交互以及编写事件和响应的方法。如果我们还没有 Action Server,并且不需要 Python 之外的语言,那么使用 Rasa SDK 将是最简单的入门方法。
2.2 其他Action Server
如果有其他语言的遗留代码或者现有业务逻辑,那么我们有可能不想使用 Rasa SDK。这种情况下,我们可以用任何语言编写自己的 Action Server。对 Action Server 的唯一要求是提供一个/webhook
端点,该端点接收来自 Rasa 服务器的 HTTP POST 请求,并返回事件和响应的有效负载。