1
votes

RASA - Actions d'exécution de RASA - Problèmes d'hôte local

J'apprends Rasa en utilisant la chaîne YouTube de la masterclass RASA. https://www.youtube.com/channel/UCJ0V6493mLvqdiVwOKWBODQ

Tout a fonctionné jusqu'à ce qu'il en soit venu aux actions de chargement. Chaque fois que j'utilise des actions d'exécution rasa dans l'invite de commande (la première des deux actions), le programme se bloque et je dois le tuer manuellement. Lorsque j'utilise le shell rasa --endpoints endpoints.yml, le bot fonctionne cependant car je continue à le rencontrer lorsque j'ajoute une action personnalisée que le serveur renvoie ne peut pas se connecter à localhost comme dans l'exemple du bas. La question est de savoir comment résoudre ce problème.

* Veuillez demander des informations supplémentaires

:  entrez la description de l'image ici

mon actions.py ressemble à ce qui suit:

action_endpoint:
  url: "http://localhost:9000/webhook"

dans domain.yml, pour la section actions que j'ai;

actions:
- utter_greet
- utter_cheer_up
- utter_did_that_help
- utter_happy
- utter_goodbye
- utter_iamabot
- utter_ask_location
- action_facility_search

et dans endpoints.yml, la plupart est # 'd out mais le bit actif est:

from typing import Any, Text, Dict, List

from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.events import SlotSet



class ActionFacilitySearch(Action):

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

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

        facility = tracker.get_slot("facility_type")
        address = "300 Hyde St, San Francisco"
        dispatcher.utter_message("Here is the address of the {}:{}".format(facility, address))

        return []


0 commentaires

4 Réponses :


2
votes

Veuillez ne pas changer endpoints.yml avec un autre port pour action_endpoint

Veuillez vérifier avec le port 5055 qu'il fonctionnait parfaitement.

action_endpoint:
  url: "http://localhost:5055/webhook"

Votre serveur d'action fonctionnant sur 5055 Port. si vous voulez qu'il définisse 9000, changez-le de la demande de backend rasa core.


0 commentaires

4
votes

Réponse très simple à la fin. J'avais besoin d'exécuter deux fenêtres de commandes. La première pour:

rasa shell

Puis une deuxième fenêtre pour:

rasa x

ou

rasa run actions


0 commentaires

0
votes

il semble que votre serveur d'actions personnalisées n'a pas pu se connecter au serveur de point de terminaison mentionné dans endpoints.yml

Lors de l'exécution d'actions.py, indiquez le numéro de port sous la forme rasa run actions -p portnumber

Assurez-vous que le numéro de port que vous indiquez ici est mentionné dans endpoints.yml


0 commentaires

0
votes

Je résous en utilisant les commandes suivantes

rasa x

Puis une deuxième fenêtre pour l'un ou l'autre:

rasa run actions

cela a ensuite fonctionné comme il se doit.


0 commentaires