rasa-alice

Rasa Connector for Yandex Dialogs.


Keywords
rasa, rasa-core, yandex-alice, yandex-dialogs
License
MIT
Install
pip install rasa-alice==0.1

Documentation

rasa-alice

Rasa Connector for Yandex Dialogs.

Installing

$ pip install rasa-alice

Usage

URL: /webhooks/alice/webhook

credentials.yml

rasa_alice.AliceInput:

domain.yml

templates:
  utter_text:
    - text: "Здравствуйте! Это мы, хороводоведы."

  utter_text_custom:
    - custom:
        text: "Здравствуйте! Это мы, хороводоведы."
        tts: "Здравствуйте! Это мы, хоров+одо в+еды."
        end_session: true # false by default

  utter_text_with_buttons:
    - text: 'Hello'
      buttons:
      - title: 'Надпись на кнопке'
        url: 'https://example.com/'
        hide: true

  utter_big_image:
    - custom:
        text: "Здравствуйте! Это мы, хороводоведы."
        card:
          type: "BigImage"
          image_id: "1027858/46r960da47f60207e924"
          title: "Заголовок для изображения"
          description: "Описание изображения."
          button:
            text: "Надпись на кнопке"
            url: "http://example.com/"

  utter_items_list:
    - custom:
        text: "Здравствуйте! Это мы, хороводоведы."
        card:
          type: "ItemsList"
          header:
            text: "Заголовок галереи изображений"
          items:
            - image_id: "<image_id>"
              title: "Заголовок для изображения."
              description: "Описание изображения."
              button:
                text: "Надпись на кнопке"
                url: "http://example.com/"

The original request is stored in metadata, you can use it in custom actions:

class ActionHelloWorld(Action):

  def name(self) -> Text:
      return "action_hello_world"

  def run(self, dispatcher: CollectingDispatcher,
          tracker: Tracker,
          domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

      events = tracker.current_state()['events']
      user_events = []
      for e in events:
          if e['event'] == 'user':
              user_events.append(e)
      original_request = user_events[-1]['metadata']

      payload = original_request['request']['payload']