Rasa自定义操作服务器所需端点

本文档详细描述了Rasa自定义动作服务器的API接口,包括POST请求用于执行特定自定义动作,以及响应格式,如事件和回复的处理。通过此API,Rasa能够与本地开发的动作服务器交互,执行对话管理中的复杂任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openapi: "3.0.2"
info:
  title: "Rasa Custom Action Server Required Endpoint"
  description: >-
    API of the action server which is used by Rasa
    to execute custom actions.
servers:
  - url: "/webhook"
    description: "Local development action server"
paths:
  /:
    post:
      summary: Request to execute a custom action
      description: >-
        Rasa dialogue management sends a request to the action server to execute a
        certain custom action. As a response to the action call from Rasa,
        you can modify the tracker, e.g. by setting slots and send responses
        back to the user.
      operationId: call_action
      requestBody:
        description: >-
          Describes the action to be called and provides information on the
          current state of the conversation.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                next_action:
                  description: The name of the action which should be executed.
                  type: string
                sender_id:
                  description: >-
                    Unique id of the user who is having the
                    current conversation.
                  type: string
                tracker:
                  $ref: "./rasa.yml#/components/schemas/Tracker"
                domain:
                  $ref: "./rasa.yml#/components/schemas/Domain"
      responses:
        200:
          description: Action was executed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    description: Events returned by the action.
                    type: array
                    items:
                      $ref: "./rasa.yml#/components/schemas/Event"
                  responses:
                    description: >-
                      List of responses which should be sent to the user
                    type: array
                    items:
                      $ref: "#/components/schemas/Response"
        400:
          description: >-
            Action execution was rejected. This is the same as returning
            an `ActionExecutionRejected` event.
          content:
            application/json:
              schema:
                type: object
                properties:
                  action_name:
                    type: string
                    description: >-
                      Name of the action which rejected its execution.
                  error:
                    type: string
                    description: The error message.
        500:
          description: >-
            The action server encountered an exception while running the action.
components:
  schemas:
    Response:
      allOf:
        - $ref: '#/components/schemas/TextResponse'
        - $ref: '#/components/schemas/ButtonResponse'
        - $ref: '#/components/schemas/ElementResponse'
        - $ref: '#/components/schemas/CustomResponse'
        - $ref: '#/components/schemas/ImageResponse'
        - $ref: '#/components/schemas/AttachmentResponse'
        - $ref: '#/components/schemas/TemplateResponse'
        - $ref: '#/components/schemas/ResponseResponse'

    TextResponse:
      description: Text which the bot should utter.
      type: object
      properties:
        text:
          description: The text which should be uttered.
          type: string
      required: ["text"]
    TemplateResponse:
      description: Response template the bot should utter.
      type: object
      properties:
        template:
          description: Name of the template
          type: string
      additionalProperties:
        description: Keyword argument to fill the template
        type: string
    ResponseResponse:
      description: Response the bot should utter.
      type: object
      properties:
        response:
          description: Name of the response
          type: string
      additionalProperties:
        description: Keyword argument to fill the response
        type: string
      required: ["response"]
    ButtonResponse:
      description: Buttons which should be sent to the user.
      type: object
      properties:
        buttons:
          type: array
          items:
            $ref: '#/components/schemas/Button'
    ElementResponse:
      description: Custom elements which should be sent to the user.
      type: object
      properties:
        elements:
          type: array
    CustomResponse:
      description: Custom elements which should be sent to the user.
      type: object
      properties:
        custom:
          type: object
    ImageResponse:
      description: Image URL to send to the user
      type: object
      properties:
        image:
          type: string
    AttachmentResponse:
      description: Attachment URL to send to the user
      type: object
      properties:
        attachment:
          type: string
    Button:
      description: >-
        A button which can be clicked by the user in the conversation.
      type: object
      properties:
        title:
          type: string
          description: The text on the button
        payload:
          type: string
          description: Payload which is sent if the button is pressed.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

great-wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值