Verify all required slots are filled before ending conv

This commit is contained in:
Adrian Klessa 2024-05-26 21:23:41 +02:00
parent dfc964d63a
commit d47fd92d3b

View File

@ -150,10 +150,17 @@ class DP():
# zaoferuj cale menu # zaoferuj cale menu
elif self.state['user_action'][-1] == 'ack': elif self.state['user_action'][-1] == 'ack':
system_action = 'bye' address = self.state["belief_state"]["address"]
self.state['terminated'] = True payment_method = self.state["belief_state"]["payment_method"]
# potwierdz i zakoncz, podsumuj zamowienie dish = self.state["belief_state"]["dish"]
# W przypadku braku szczegolnej informacji o czasie zamówienia zamawiamy natychmiast
if address and payment_method and dish:
system_action = 'bye'
self.state['terminated'] = True
# potwierdz i zakoncz, podsumuj zamowienie
else:
system_action = 'canthelp.missing_slot_value'
elif self.state['user_action'][-1] == 'restart': elif self.state['user_action'][-1] == 'restart':
system_action = 'welcomemsg' system_action = 'welcomemsg'
# zachowaj sie jak na poczatku rozmowy # zachowaj sie jak na poczatku rozmowy
@ -214,6 +221,11 @@ if __name__ == "__main__":
response = model("uniwersytetu poznanskiego 4 61-614 poznan") response = model("uniwersytetu poznanskiego 4 61-614 poznan")
assert response == "inform" assert response == "inform"
# 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"
# jezeli wybierze rodzaj platnosci to zapisz wybor i poinformuj o nim # jezeli wybierze rodzaj platnosci to zapisz wybor i poinformuj o nim
# response = model("karta") # response = model("karta")
# response = model("Poproszę blikiem z góry") # response = model("Poproszę blikiem z góry")
@ -230,7 +242,7 @@ if __name__ == "__main__":
response = model("Dobrze, nie mogę się już doczekać.") response = model("Dobrze, nie mogę się już doczekać.")
assert response == "bye" assert response == "bye"
print("----Testowanie restartu-------") print("----Konwersacja z restartem-------")
model = Model() model = Model()
response = model("Siema, w czym możesz mi pomóc?") response = model("Siema, w czym możesz mi pomóc?")