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
1 changed files with 16 additions and 4 deletions

View File

@ -150,10 +150,17 @@ class DP():
# zaoferuj cale menu
elif self.state['user_action'][-1] == 'ack':
system_action = 'bye'
self.state['terminated'] = True
# potwierdz i zakoncz, podsumuj zamowienie
address = self.state["belief_state"]["address"]
payment_method = self.state["belief_state"]["payment_method"]
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':
system_action = 'welcomemsg'
# zachowaj sie jak na poczatku rozmowy
@ -214,6 +221,11 @@ if __name__ == "__main__":
response = model("uniwersytetu poznanskiego 4 61-614 poznan")
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
# response = model("karta")
# response = model("Poproszę blikiem z góry")
@ -230,7 +242,7 @@ if __name__ == "__main__":
response = model("Dobrze, nie mogę się już doczekać.")
assert response == "bye"
print("----Testowanie restartu-------")
print("----Konwersacja z restartem-------")
model = Model()
response = model("Siema, w czym możesz mi pomóc?")