Chatbot z Pytonem : Tworzenie samodzielnego skryptu dla Chatbota na Facebooku Messenger

https://szkolazpieklarodem.pl/

Utwórz plik o nazwie facebook.py w tym samym katalogu projektu. Zawartość pliku Pythona powinna być taka, jak podano tutaj:

from rasa_core.channels.facebook import FacebookInput

from rasa_core.agent import Agent

from rasa_core.interpreter import RasaNLUInterpreter

import os

from rasa_core.utils import EndpointConfig

# load your trained agent

interpreter = RasaNLUInterpreter(“models/nlu/default/horoscopebot/”)

MODEL_PATH = “models/dialog”

action_endpoint = EndpointConfig(url=”https://horoscopebot1212-actions.

herokuapp.com/webhook”)

agent = Agent.load(MODEL_PATH, interpreter=interpreter)

input_channel = FacebookInput(

fb_verify=”YOUR_FB_VERIFY_TOKEN”,

# you need tell facebook this token, to confirm your URL

fb_secret=”YOUR_FB_SECRET”, # your app secret

fb_access_token=”YOUR_FB_ACCESS_TOKEN”

# token for the page you subscribed to

)

# set serve_forever=False if you want to keep the server running

s = agent.handle_channels([input_channel], int(os.environ.get(‘PORT’,

5004)), serve_forever=True)

Pamiętaj, aby zastąpić wartości zmiennych fb_verify, fb_secret i fb_access_token w tym kodzie wartościami, które zachowaliśmy w kroku 3. Utwórz nowy plik require.txt i dodaj wszystkie pakiety i ich wersje potrzebne w tym projekcie. Mój plik wymagania.txt wygląda następująco; w przypadku Twojego projektu wymagania mogą się różnić, ale powinny być wystarczające, jeśli zastosujesz ten sam przykład bota w tym rozdziale.

rasa-core==0.11.1

rasa-core-sdk==0.11.0

rasa-nlu==0.13.2

gunicorn==19.9.0

requests==2.18.4

spacy==2.0.11

sklearn-crfsuite==0.3.6

aby zainstalować nasze pakiety na serwerze.

Teraz utwórzmy ponownie nową aplikację w Heroku, tak jak zrobiliśmy to wcześniej. Przejdź do panelu Heroku i utwórz nową aplikację, jak pokazano na rysunku

Po utworzeniu aplikacji możesz teraz przejść do katalogu głównego projektu i uruchomić następujący zestaw poleceń z wiersza poleceń w folderze projektu:

$ git init

$ heroku git:remote -a <your-heroku-app-name>

$ heroku buildpacks:set heroku/python

$ heroku config:set PORT=5004

$ git add .

$ git commit -am “deploy my bot”

$ git push heroku master

Jeśli po wdrożeniu pojawi się błąd wykonania, może to wyglądać tak jak poniżej. ValueError: Być może próbujesz odczytać za pomocą Pythona 3 bibliotekę zadań wygenerowaną za pomocą Pythona 2. Ta funkcja nie jest obsługiwana przez joblib. Dzieje się tak głównie w przypadku używania wersji Python 2.x. Heroku domyślnie używa wersji Pythona 3.x. Jeśli więc chcesz używać Pythona 2.x, musisz wykonać poniższe kroki, aby rozwiązać powyższy błąd. Zmień Pythona 3.6 na Python-2.7.15. aby to zrobić. Utwórz plik runtime.txt w katalogu głównym aplikacji swojego projektu. Otwórz środowisko wykonawcze. txt i dodaj następujący wiersz python-2.7.15, a następnie zapisz go. Heroku użyje wyżej wymienionej wersji Pythona tylko do zbudowania Twojego projektu. Po pomyślnym zakończeniu wdrożenia zobaczysz adres URL podany przez Heroku, informujący, że aplikacja została wdrożona w <url>.

remote: Compressing source files… done.

remote: Building source:

remote:

remote: —–> Python app detected

remote: —–> Installing requirements with pip

remote:

remote: —–> Discovering process types

remote: Procfile declares types -> web

remote:

remote: —–> Compressing…

remote: Done: 254M

remote: —–> Launching…

remote: Released v17

remote: https://horoscopebot1212.herokuapp.com/ deployed to Heroku

remote:

remote: Verifying deploy… done.

To https://git.heroku.com/horoscopebot1212.git

cd3eb1b..c0e081d master -> master

To rozmieszczenie zajmie trochę czasu, więc bądź cierpliwy, jak tylko możesz – zaraz zobaczysz magię. Jeśli nie otrzymałeś żadnych komunikatów o błędach, oznacza to, że pomyślnie wdrożyłeś chatbota w Heroku w chmurze, aby działał z Facebook Messenger. Sprawdźmy, czy to działa.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *