From dfc964d63a060dffb5c84cb2b9c82e6a2c426d71 Mon Sep 17 00:00:00 2001 From: Adrian Klessa <50918271+AdrianKlessa@users.noreply.github.com> Date: Sun, 26 May 2024 19:58:57 +0200 Subject: [PATCH] Restart act --- dialog_model.py | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/dialog_model.py b/dialog_model.py index 887b5e3..0d5b6f1 100644 --- a/dialog_model.py +++ b/dialog_model.py @@ -117,7 +117,12 @@ class DST(dst.DST): elif act == 'request': pass - + elif act == 'restart': + self.state["belief_state"] = default_state()["belief_state"] + self.state["booked"] = {} + self.state["request_state"] = [] + self.state["terminated"] = False + self.state["history"] = [] return self.state @@ -149,6 +154,9 @@ class DP(): self.state['terminated'] = True # potwierdz i zakoncz, podsumuj zamowienie + elif self.state['user_action'][-1] == 'restart': + system_action = 'welcomemsg' + # zachowaj sie jak na poczatku rozmowy else: system_action = 'inform' # poinformuj o wybranych slotach z "request_state" @@ -222,4 +230,26 @@ if __name__ == "__main__": response = model("Dobrze, nie mogę się już doczekać.") assert response == "bye" - print() + print("----Testowanie restartu-------") + + model = Model() + response = model("Siema, w czym możesz mi pomóc?") + assert response == "welcomemsg" + response = model("Interesują mnie dania kuchni włoskiej oraz meksykanskiej.") + assert response == "offer" + response = model("Chciałbym zjesc tatara") + assert response == "inform" + response = model("uniwersytetu poznanskiego 4 61-614 poznan") + assert response == "inform" + response = model("od nowa") + assert response == "welcomemsg" + response = model("Interesują mnie dania kuchni włoskiej oraz meksykanskiej.") + assert response == "offer" + response = model("Chciałbym zjesc tatara") + assert response == "inform" + response = model("uniwersytetu poznanskiego 4 61-614 poznan") + assert response == "inform" + response = model("Zapłacę kartą przy odbiorze") + assert response == "inform" + response = model("Dobrze, nie mogę się już doczekać.") + assert response == "bye" \ No newline at end of file