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.

Per-āa : Rzemieślnik: Ptah

https://szkolazpieklarodem.pl/

W wiosce Deir el Medina, w której mieszkali rzemieślnicy budujący Dolinę Królów, bóg stwórca Ptah był czczony jako bóstwo opiekuńcze rzemieślników. Robotnicy apelowali do Ptaha o dolegliwości związane z pracą – najczęstszą z nich była ślepota spowodowana ciemnymi, ciasnymi i zakurzonymi warunkami pracy. Wiele inskrypcji prosi go o zniesienie tej dolegliwości, która, jak wierzyli robotnicy, była spowodowana jakimś bluźnierczym aktem w ich imieniu, a nie środowiskiem pracy. Ptah jest przedstawiony w przebraniu mumii, nosząc obcisłą czapkę, przypominającą raczej  kapelusz do pływania. W swoich rękach trzyma trzy laski reprezentujące stabilność, moc i życie wieczne, którymi obdarzył swoich wyznawców. Do zewnętrznych ścian niektórych świątyń państwowych, w tym Karnaku, przylegała kaplica uszna, w której znajdowało się wiele stel poświęconych Ptahowi, ozdobione licznymi uszami. Ludzie szeptali swoje modlitwy do uszu, a modlitwy szły bezpośrednio do samego Ptaha. W niektórych świątyniach otwór dla kapłana za stelą pozwalał księdzu siedzieć i odpowiadać na modlitwy. Wyznawcy musieli wierzyć, że ten bezcielesny głos był głosem Ptaha.

Chatbot z Pytonem : Tworzenie aplikacji Rasa Chatbot API

https://szkolazpieklarodem.pl/

W tym kroku wykonamy kilka kroków i poleceń podobnych do tego, co właśnie zrobiliśmy, ale stworzymy nową aplikację, która będzie naszą główną aplikacją do zarządzania oknami dialogowymi. Więc zróbmy to. Najpierw wróć do głównego katalogu projektu (tj. do horoskop_bot), utwórz nazwę pliku (Procfile) i dodaj do niego następującą zawartość:

web: python -m spacy download en && python facebook.py

Per-āa : Wysublimowana krowa: Hathor

https://szkolazpieklarodem.pl/

Hathor była czczona w domu jako bogini miłości, małżeństwa i porodu. Miała spektakularne tytuły, takie jak „dama sromu” i „dama pijaństwa”. Była odpowiedzialna przede wszystkim za płodność, poczęcie i miłość seksualną. W specjalnych kapliczkach w pobliżu świątyń państwowych zwykli ludzie zostawiali Hathor wiele ofiar w postaci naszyjników, koralików i kamienia, gliny lub drewnianych fallusów, prosząc o płodność lub dziękując jej za zapewnienie dzieci. Hathor była również czczona jako

* Bogini zachodniej góry. W tej roli, reprezentowanej w grobowcach jako krowa wyłaniająca się z bagien, Hathor chroniła cmentarze położone na zachodnim brzegu Nilu.

* Pani jaworu. W tej roli pogrzebowej Hathor zapewniała pożywienie zmarłym w zaświatach w postaci fig jaworowych. Jest przedstawiana jako kobieta wyłaniająca się z drzewa lub jako kobieta z drzewem na czubku głowy.

Chatbot z Pytonem : Tworzenie i wdrażanie aplikacji serwera Rasa Actions na Heroku

https://szkolazpieklarodem.pl/

W tym kroku użyjemy naszej aplikacji Heroku do działania na serwerze naszej akcji Rasa. Musimy mieć dwie różne aplikacje, ponieważ nie możemy uruchomić dwóch aplikacji internetowych w jednej aplikacji Heroku. Przejdź do wiersza poleceń i wykonaj następujący zestaw poleceń z katalogu projektu zgodnie z zaleceniami.

  1. Utwórz nowy folder o nazwie action_app i wejdź do katalogu:

mkdir action_app

cd action_app

  1. Skopiuj plik action.py z głównego katalogu projektu do katalogu action_app
  2. Utwórz plik wymagania.txt o następującej zawartości. plik wymagania.txt poinformuje aplikację Heroku, aby zainstalowała pakiety wraz z ich wersjami.

rasa-core-sdk==0.11.0

requests==2.18.4

  1. Utwórz plik o nazwie Procfile z następującą zawartością. Procfile to plik, dla którego Heroku wie, co zrobić, aby uruchomić aplikacje.

web: python -m rasa_core_sdk.endpoint –actions actions

–port $PORT

  1. a) Run the below set of commands:

$ heroku login

$ git init

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

$ heroku buildpacks:set heroku/python

$ heroku config:set PORT=5055

$ git add .

$ git commit -am “deploy my bot”

$ git push heroku master

Po ostatnim poleceniu Heroku zainstaluje wszystkie potrzebne nam pakiety zgodnie z plikiem require.txt. Jeśli aplikacja została pomyślnie wdrożona, powinieneś otrzymać dzienniki podobne do następujących:

W tym kroku użyjemy naszej aplikacji Heroku do działania na serwerze naszej akcji Rasa. Musimy mieć dwie różne aplikacje, ponieważ nie możemy uruchomić dwóch aplikacji internetowych w jednej aplikacji Heroku. Przejdź do wiersza poleceń i wykonaj następujący zestaw poleceń z katalogu projektu zgodnie z zaleceniami.

  1. Utwórz nowy folder o nazwie action_app i wejdź do katalogu:

mkdir action_app

cd action_app

  1. Skopiuj plik action.py z głównego katalogu projektu do katalogu action_app
  2. Utwórz plik wymagania.txt o następującej zawartości. plik wymagania.txt poinformuje aplikację Heroku, aby zainstalowała pakiety wraz z ich wersjami.

rasa-core-sdk==0.11.0

requests==2.18.4

  1. Utwórz plik o nazwie Procfile z następującą zawartością. Procfile to plik, dla którego Heroku wie, co zrobić, aby uruchomić aplikacje.

web: python -m rasa_core_sdk.endpoint –actions actions

–port $PORT

  1. a) Run the below set of commands:

$ heroku login

$ git init

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

$ heroku buildpacks:set heroku/python

$ heroku config:set PORT=5055

$ git add .

$ git commit -am “deploy my bot”

$ git push heroku master

Po ostatnim poleceniu Heroku zainstaluje wszystkie potrzebne nam pakiety zgodnie z plikiem require.txt. Jeśli aplikacja została pomyślnie wdrożona, powinieneś otrzymać dzienniki podobne do następujących:

Per-āa : Oddawanie czci w domu: bogowie domowi

https://szkolazpieklarodem.pl/

Rytuał ważenia serca był używany głównie przez osoby nie-królewskie. W rzeczywistości zwykli Egipcjanie czcili wiele bóstw państwowych w domu, stosując te same metody, co w świątyniach – codzienne karmienie, mycie i namaszczenie posągów przechowywanych w domowych kapliczkach. Poniższe sekcje opisują niektóre z bardziej powszechnych bogów i związane z nimi rytuały dla zwykłych, codziennych Egipcjan.

Chatbot z Pytonem :Tworzenie i konfigurowanie aplikacji na Facebooku

https://szkolazpieklarodem.pl/

Aby móc wdrożyć naszego chatbota na Facebooku, najpierw musimy posiadać dane uwierzytelniające aplikacji Facebook. Aby uzyskać dane uwierzytelniające Facebooka, musimy skonfigurować aplikację Facebook i stronę, tak jak to zrobiliśmy w jednym z rozdziałów 3.

1. Wejdź na https://developers.facebook.com/ i utwórz aplikację, jeśli jeszcze jej nie masz. Stworzyliśmy jeden dla naszego OnlineEatsBota; teraz stworzymy taki dla HoroskopBota. Wprowadź szczegóły i kliknij Utwórz identyfikator aplikacji. Sprawdź Rysunek, aby zobaczyć, jak wprowadzić nazwę wyświetlaną bota i kontaktowy adres e-mail.

2. Po utworzeniu aplikacji przejdź do opcji Podstawowe w Ustawieniach i kliknij przycisk Pokaż w obszarze Sekret aplikacji. To jest Twój sekret FB. Zobacz rysunek  aby zobaczyć, gdzie dokładnie znajdziesz klucz fb_secret.

3. Przejdź do panelu aplikacji i przewiń w dół do „Dodaj produkt”. Kliknij Dodaj produkt, a następnie dodaj Messengera (kliknij Organizować coś). Sprawdź rysunek .

4. W ustawieniach Messengera, po przewinięciu w dół do sekcji Generowanie tokenu otrzymasz link umożliwiający utworzenie nowej strony dla Twojej aplikacji. Jeśli nie masz jeszcze strony, utwórz ją lub wybierz stronę z menu rozwijanego „Wybierz stronę”. „Token dostępu do strony” to tutaj Twój fb_access_token. Patrz rysunek .

5. Zaraz po sekcji Generowanie tokenu, w obszarze Webhook kliknij w sekcji „Konfiguracja webhooków”. Patrz rysunek .

6. Następnie wybierz token weryfikacyjny, którego będziemy musieli później użyć. Tokenem weryfikacyjnym może być dowolny losowy ciąg znaków. To będzie Twój fb_verify. Sprawdź rysunek , aby dowiedzieć się, gdzie dodać token weryfikacyjny w aplikacji Facebook. Teraz pozostaw pustą sekcję adresu URL wywołania zwrotnego. Nie zamykaj przeglądarki; po prostu to zostaw – jeszcze tu wrócimy.

  1. Miej pod ręką fb_verify, fb_secret i fb_access_token, aby połączyć swojego bota z Facebookiem.

Per-āa : Rywalizacja rodzeństwa: Rywalizacja Horusa i Setha

https://szkolazpieklarodem.pl/

Rywalizacja Horusa i Seta to starożytny egipski mit, który mówi o trybunale trwającym ponad 80 lat. Podczas procesu Seth próbował udowodnić swoje prawo do tronu nad Horusem. Horus był synem Ozyrysa, więc tron ​​powinien słusznie przejść na niego, o czym Seth był bardzo świadom. Nad trybunałem czuwało osiem bóstw, w tym Izyda i Re-Horachty, którzy wielokrotnie próbowali oddać tron ​​Horusowi. Ponieważ Seth nigdy nie zaakceptował ich decyzji, zaproponowali Horusowi i Sethowi rozstrzygnięcie sporu raz na zawsze serią śmiertelnych wyzwań. Zwycięzca z nich zostanie koronowany na króla. Seth najpierw zasugerował, aby on i Horus zamienili się w hipopotamy i zanurzyli się pod wodą na okres trzech miesięcy; ten, który przeżyje, wygrywa koronę. Izyda zakończyła to zadanie, wrzucając do wody miedziany harpun z obawy, że jej syn Horus umrze. Przebiła Horusa, a potem Setha, przez co obaj wynurzyli się nieco mniej niż trzy miesiące. Kiedy uwolniła ich obu ze swojej włóczni, Horus był wściekły, że uwolniła Setha i odcięła głowę Izydzie. Nieco ekstremalna reakcja – a już na pewno nie sposób leczyć mamy! Kiedy Re-Horachty dowiedział się o działaniu Horusa, zażądał ukarania Horusa. Seth wielkodusznie zaproponował, że to zrobi. Co za bohater! Seth znalazł Horusa śpiącego (odcinanie głowy to męcząca praca) pod drzewem i natychmiast wyrwał Horusowi oboje oczu i zakopał je. Oczy zamieniły się w dwie żarówki, które wyrosły na kwiaty lotosu i oświetliły ziemię. To jest mitologia – chodź ze mną w tym. Seth następnie wrócił do Re-Horakhty i powiedział mu, że nie był w stanie zlokalizować Horusa. Hathor jednak odkryła Horusa i wyleczyła jego oczy, dojąc gazelę w oczodoły. Następnie zgłosiła obrażenia Horusa Re-Horakhty’emu, który z kolei zażądał, aby Horus i Seth zaprzestali kłótni. Po wielu dalszych incydentach Horus zdecydował się przejąć przewagę i zaproponował rozstrzygnięcie sporu wyścigiem na kamiennych statkach; zwycięzca otrzymuje koronę. Tym razem jednak Horus planował oszukać. Zbudował łódź z sosny i pokrył ją gipsem, aby nadać jej wygląd kamienia. Widząc łódź Horusa unoszącą się na wodzie i wierząc, że jest to kamień, Seth odciął szczyt góry, aby stworzyć swój własny statek wyścigowy. Po rozpoczęciu wyścigu łódź Setha najwyraźniej zatonęła i uczyniła go przegranym. Niezadowolony z przegranej, przemienił się w hipopotama i zaatakował statek Horusa. Horus chciał rzucić w Seta miedzianym zadziorem, ale bogowie trybunału go powstrzymali. Horus z potarganymi piórami zebrał swoje harpuny i narzekał, że jest w trybunale od 80 lat, nieustannie wygrywając bitwy z Sethem, tylko po to, by zignorować decyzję trybunału. W końcu bóstwa doszły do ​​wniosku, że tron ​​egipski należy oddać Horusowi. Jednak chociaż Horus otrzymał koronę Górnego i Dolnego Egiptu, wiele zapisów próbuje zachować poczucie równowagi: Horus jest często przedstawiany jako rządzący Górnym Egiptem, a Seth rządzący Dolnym Egiptem. Więc każdy jest zwycięzcą!

Chatbot z Pytonem : Tworzenie aplikacji na Heroku

https://szkolazpieklarodem.pl/

Zacznijmy:

Zarejestruj się na Heroku, utwórz aplikację i nazwij ją akcjami, ponieważ będzie to nasza aplikacja serwera akcji. Spójrz na zrzut ekranu na rysunku , na którym możesz nadać unikalną nazwę swojemu serwerowi akcji, który powinien być dostępny na Heroku. Gdy ta nazwa będzie dostępna, możesz kliknąć przycisk Utwórz aplikację, aby utworzyć aplikację serwera akcji. Jeśli Twoje imię i nazwisko nie jest dostępne, możesz nadać mu dowolną nazwę, ale zawsze staraj się podawać nazwy znaczące.

Konfigurowanie Heroku w systemie lokalnym

Zainstaluj Heroku CLI w lokalnym systemie operacyjnym. Skorzystaj z tego linku: https://devcenter.heroku.com/articles/heroku-cli.

Jeśli korzystasz z systemu macOS, użyj następującego polecenia:

Konfigurowanie Heroku w systemie lokalnym

Zainstaluj Heroku CLI w lokalnym systemie operacyjnym. Skorzystaj z tego linku: https://devcenter.heroku.com/articles/heroku-cli.

Jeśli korzystasz z systemu macOS, użyj następującego polecenia:

brew install heroku/brew/heroku

Per-āa : Podtrzymując prawdę, sprawiedliwość i egipski sposób: Maat

https://szkolazpieklarodem.pl/

Uważano, że bogini Maat, zamiast pojawiać się we własnych mitach, jest obecna we wszystkim, co robili starożytni Egipcjanie. Reprezentowała koncepcję kosmicznej równowagi, sprawiedliwości i prawdy. Chociaż nie był czczony jako taki, Maat był główną częścią życia zarówno bogatych, jak i biednych. Maat jest zwykle przedstawiana w ludzkiej postaci ze strusim piórem na głowie – lub jest przedstawiana wyłącznie jako pióro, hieroglificzny znak prawdy. Dla starożytnych Egipcjan pojęcie Maata było obecne we wszystkim – szczególnie w sądach, nad którymi czuwali sędziowie zwani kapłanami Maata. Modlitwy były bez wątpienia odmawiane do Maata przed posiedzeniem sądu, a symbol bogini prawdopodobnie znajdował się na sali sądowej. Sędziowie prawdopodobnie zwracali się do Maata w sprawach, które były szczególnie trudne. Najważniejsza i najbardziej znana rola Maata była w Sali Sądu, gdzie zmarłe osoby (zwykle nie-królewskie) były osądzane na podstawie ich uczciwości i dobrych uczynków. Serce zmarłego zostało zważone z Maatem (przedstawionym jako pióro) na ogromnych kosmicznych skalach. Jeśli serce było cięższe od pióra, Ammit (pożeracz i przerażające stworzenie) zjadł serce i odmówił zmarłemu indywidualnego odrodzenia i życia wiecznego. Rytuał ważenia serca został przeprowadzony na oczach Ozyrysa, który miał ostatnie słowo, kto się odrodził, a kto nie. Thot, bóg skrybów z głową ibisa, zapisał wynik ważenia serca. Na szczęście w licznych zachowanych przedstawieniach tego rytuału nikomu nie udaje się nigdy.