test: nlg working

This commit is contained in:
filnow 2024-06-03 16:03:34 +02:00
parent 60a298fa49
commit 5922f0e074

View File

@ -12,6 +12,10 @@ from transformers import (
pipeline,
)
from transformers.utils import logging
logging.set_verbosity_error()
def default_state():
return dict(
@ -199,14 +203,11 @@ class NLG():
if slots == []:
return "Przepraszam nie rozumiem. Podaj więcej informacji."
else:
text = []
for i in slots:
if i[1] != None:
text.append(f"{i[0]}[{i[1]}]")
text = [f"{slot[0]}[{slot[1]}]" for slot in slots if slot[1] is not None]
return self.nlg_pipeline(f'generate text: {", ".join(text)}')[0]['summary_text']
elif act == "canthelp.missing_slot_value":
return "Przepraszam, ale nie mogę zrealizować zamówienia. Brakuje mi niektórych informacji. Czy mogę pomóc w czymś innym?"
return "Cieszę się, że mogłem pomóc. Czy mogę zrobić coś jeszcze?"
elif act == "bye":
return "Dziękujemy za zamówienie! Smacznego!"
@ -222,74 +223,60 @@ if __name__ == "__main__":
# response = model("Hej, jakim botem jesteś?")
# response = model("Hej, czym się zajmujesz?")
# response = model("Hej, w czym mi możesz pomóc?")
response = model("Siema, w czym możesz mi pomóc?")
assert response == "welcomemsg"
print()
response = model("Siema, w czym możesz mi pomóc?")
print()
# jezeli prosi o pomoc lub po prostu o menu to zaoferuj cale menu
# response = model("Pokaz menu")
# response = model("A co do picia proponujesz?")
# response = model("Jakie inne desery oferujesz?")
response = model("Interesują mnie dania kuchni włoskiej oraz meksykanskiej.")
assert response == "offer"
print()
# jezeli wybierze danie to zapisz wybor i poinformuj o nim
# response = model("Wezmę rybe")
# response = model("Poproszę tatara")
response = model("Chciałbym zjesc tatara")
assert response == "inform"
print()
# jezeli poda adres to zapisze wybor i poinformuj o nim
# response = model('Poproszę na poznańską 2')
response = model("uniwersytetu poznanskiego 4 61-614 poznan")
assert response == "inform"
print()
# jezeli sprobuje dokonac zamowienia bez podania potrzebnych informacji prosimy o nie
#response = model("Dobrze, nie mogę się już doczekać.")
response = model("Super, to zatem wszystko!")
assert response == "canthelp.missing_slot_value"
print()
# jezeli wybierze rodzaj platnosci to zapisz wybor i poinformuj o nim
# response = model("karta")
#response = model("Poproszę blikiem z góry")
response = model("Zapłacę kartą przy odbiorze")
assert response == "inform"
print()
# jezeli potwiedzi zamowienie to zakoncz zamawianie sukcesem i wypisz calosc
# response = model("Potwierdzam!")
# response = model("Tak!")
# response = model("Tak to wszystko!")
# response = model("Super, to zatem wszystko!")
response = model("Dobrze, nie mogę się już doczekać.")
assert response == "bye"
print()
print("----Konwersacja z restartem-------")
model = Model()
response = model("Siema, w czym możesz mi pomóc?")
assert response == "welcomemsg"
print()
response = model("Interesują mnie dania kuchni włoskiej oraz meksykanskiej.")
assert response == "offer"
print()
response = model("Chciałbym zjesc tatara")
assert response == "inform"
print()
response = model("uniwersytetu poznanskiego 4 61-614 poznan")
assert response == "inform"
print()
response = model("od nowa")
assert response == "welcomemsg"
print()
response = model("Interesują mnie dania kuchni włoskiej oraz meksykanskiej.")
assert response == "offer"
print()
response = model("Chciałbym zjesc tatara")
assert response == "inform"
print()
response = model("uniwersytetu poznanskiego 4 61-614 poznan")
assert response == "inform"
print()
response = model("Zapłacę kartą przy odbiorze")
assert response == "inform"
print()
response = model("Dobrze, nie mogę się już doczekać.")
assert response == "bye"
print()