Compare commits
3 Commits
cec4f7da50
...
a8bf975f12
Author | SHA1 | Date | |
---|---|---|---|
a8bf975f12 | |||
abe4577dd6 | |||
44a4e51443 |
@ -4,22 +4,43 @@
|
||||
"true",
|
||||
"false"
|
||||
],
|
||||
"dough": [],
|
||||
"dough": ["thick"],
|
||||
"drink": ["pepsi", "cola", "water"],
|
||||
"food": ["pizza"],
|
||||
"meat": ["chicken", "ham", "tuna"],
|
||||
"sauce": ["garlic", "1000w"],
|
||||
"ingredient": {
|
||||
"chicken": {},
|
||||
"tuna": {},
|
||||
"pineapple": {},
|
||||
"onion": {},
|
||||
"chess": {},
|
||||
"cheese": {},
|
||||
"tomato": {},
|
||||
"ham": {}
|
||||
"ham": {},
|
||||
"pepper": {},
|
||||
},
|
||||
"menu": ["capri", "margarita", "hawajska", "barcelona", "tuna"],
|
||||
"pizza": {
|
||||
"capri": {},
|
||||
"margarita": {},
|
||||
"hawajska": {},
|
||||
"barcelona": {
|
||||
"ingredient": ["tomato", "onion", "ham"],
|
||||
"price": 45
|
||||
"capri": {
|
||||
"ingredient": ["tomato", "ham", "mushrooms", "cheese"],
|
||||
"price": 25
|
||||
},
|
||||
"tuna": {}
|
||||
"margarita": {
|
||||
"ingredient": ["tomato", "cheese"],
|
||||
"price": 20
|
||||
},
|
||||
"hawajska": {
|
||||
"ingredient": ["tomato", "pineapple", "chicken", "cheese"],
|
||||
"price": 30
|
||||
},
|
||||
"barcelona": {
|
||||
"ingredient": ["tomato", "onion", "ham", "pepper", "cheese"],
|
||||
"price": 40
|
||||
},
|
||||
"tuna": {
|
||||
"ingredient": ["tomato", "tuna", "onion", "cheese"],
|
||||
"price": 40
|
||||
}
|
||||
},
|
||||
"size": {
|
||||
"m": {
|
||||
|
@ -1,21 +1,21 @@
|
||||
kto treść
|
||||
user Jakim systemem jesteś, co oferujesz?
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', jak mogę pomóc?
|
||||
user Chcialbym zamowic pizze peperoni
|
||||
system Niestety w naszym menu nie oferujemy pizzy z pepperoni, dostępne opcje to:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna
|
||||
user A jest cos z salami?
|
||||
system Niestety, do wyboru mamy szynkę, kurczaka lub tuńczyka.
|
||||
user To poprosze margharite, czy jest mozliwosc podmiany sosu pomidorowego na smietanowy?
|
||||
system Niestety nie.
|
||||
user To poprosze margharite zwykla
|
||||
system Oferujemy 3 rozmiary: M, L, XL. Czy interesuję Cie rozmiar M (31cm?)
|
||||
user Tak
|
||||
system Koszt to 25zł, koszt dostawy 5zł. Czy coś jeszcze chce Pan zamówić?
|
||||
user Czy istnieje darmowa dostawa?
|
||||
system Niestety nie.
|
||||
user To prosze o realizacje zamowienia
|
||||
system Jaki adres dostawy?
|
||||
user 1312-123, test, test
|
||||
system Bardzo urokliwa okolica. Sumaryczny koszt to 30zł. Kurier dotrze do Pana w ciągu godziny, dziękuję i zapraszamy ponownie!
|
||||
user Prosze aby kurier zadzwonil na moj numer jak przyjedzie: nr: 31312312312312313
|
||||
system Kurier zostanie poinformowany.
|
||||
kto treść akt
|
||||
user Jakim systemem jesteś, co oferujesz? welcomemsg()
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', jak mogę pomóc? welcomemsg()
|
||||
user Chcialbym zamowic pizze peperoni request(pizza=peperoni)
|
||||
system Niestety w naszym menu nie oferujemy pizzy z pepperoni, dostępne opcje to:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna canthelp(pizza=pepperoni)&select(menu)
|
||||
user A jest cos z salami? request(ingredient=salami)
|
||||
system Niestety, do wyboru mamy szynkę, kurczaka lub tuńczyka. canthelp(ingredient=salami)&select(meat)
|
||||
user To poprosze margharite, czy jest mozliwosc podmiany sosu pomidorowego na smietanowy? request(pizza=margarita)&request(sauce=creamy)
|
||||
system Niestety nie. canthelp(sauce=creamy)
|
||||
user To poprosze margharite zwykla request(pizza=margarita)
|
||||
system Oferujemy 3 rozmiary: M, L, XL. Czy interesuję Cie rozmiar M (31cm?) offer(size=m)
|
||||
user Tak affirm(size=m)
|
||||
system Koszt to 25zł, koszt dostawy 5zł. Czy coś jeszcze chce Pan zamówić? inform(price=30)&reqmore()
|
||||
user Czy istnieje darmowa dostawa? request(deliveryprice=free)
|
||||
system Niestety nie. canthelp(deliveryprice=free)
|
||||
user To prosze o realizacje zamowienia affirm(order)
|
||||
system Jaki adres dostawy? request(address)
|
||||
user 1312-123, test, test inform(address=1312-123 test test)
|
||||
system Bardzo urokliwa okolica. Sumaryczny koszt to 30zł. Kurier dotrze do Pana w ciągu godziny, dziękuję i zapraszamy ponownie! inform(time=1,price=30)
|
||||
user Prosze aby kurier zadzwonil na moj numer jak przyjedzie: nr: 31312312312312313 request(phone=31312312312312313)
|
||||
system Kurier zostanie poinformowany. affirm(phone)&bye()
|
||||
|
|
@ -1,28 +1,28 @@
|
||||
kto treść
|
||||
user Jestem głodny chciałbym zamówić kebaba
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', niestety w naszej ofercie nie ma kebaba. W naszej ofercie znajduję się tylko pizza.
|
||||
user a jakie rodzaje pizzy? jakie kompozycje składników?
|
||||
system W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL. Najpopularniejszym wyborem jest 'margharita' - ciasto, sos, ser.
|
||||
user jak duża jest pizza L?\nchciałbym taką z ananasem pizze\nczy jest?
|
||||
system Pizza L ma 41cm średnicy. Mogę zaproponować Panu pizzę 'hawajska' - ciasto, sos, szynka, ser, ananas.
|
||||
user a czy można bez szynki?
|
||||
system Tak.
|
||||
user Jaka cena?
|
||||
system 27zł za pizzę L hawajska bez szynki.
|
||||
user a jaka cena dowozu?
|
||||
system 5zł.
|
||||
user za kilometr?
|
||||
system Zamówienia na terenie miasta, koszt to 5zł.
|
||||
user okej to poproszę, czy są dostępne jakieś sosy?
|
||||
system Tak, sos czosnkowy lub tysiąca wysp.
|
||||
user czy sos dodatkowo kosztuje?
|
||||
system Nie, jest w cenie.
|
||||
user a są do tego jakieś napoje?
|
||||
system Pepsi, Cola, Woda mineralna.
|
||||
user jaka cena coli?
|
||||
system 5zł.
|
||||
user to poprosze\nPotwierdzam zamowienie
|
||||
system Bardzo proszę, pizza L hawajska bez szynki, cola. Koszt 37zł, płatność przy odbiorze. Na jaki adres?
|
||||
user 62-200 Gniezno, osiedle Grunwaldzkie 21/3117\njaki czas oczekiwania?
|
||||
system Kurier dotrze do Pana w przeciągu godziny. Dziękuję i zapraszamy ponownie!
|
||||
user Dziekuje
|
||||
kto treść akt
|
||||
user Jestem głodny chciałbym zamówić kebaba welcomemsg()&request(food=kebab)
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', niestety w naszej ofercie nie ma kebaba. W naszej ofercie znajduję się tylko pizza. welcomemsg()&canthelp(food=kebab)&inform(food=pizza)
|
||||
user a jakie rodzaje pizzy? jakie kompozycje składników? request(menu,ingridient)
|
||||
system W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL. Najpopularniejszym wyborem jest 'margharita' - ciasto, sos, ser. select(menu,ingridient)
|
||||
user jak duża jest pizza L?\nchciałbym taką z ananasem pizze\nczy jest? request(size=L,ingridient=pineapple)
|
||||
system Pizza L ma 41cm średnicy. Mogę zaproponować Panu pizzę 'hawajska' - ciasto, sos, szynka, ser, ananas. impl-conf(size=L)&offer(pizza=hawajska)
|
||||
user a czy można bez szynki? request(ingridient!=ham)
|
||||
system Tak. expl-conf(ingridient!=ham)
|
||||
user Jaka cena? request(price)
|
||||
system 27zł za pizzę L hawajska bez szynki. expl-conf(price=27,size=L,ingridient!=ham,pizza=hawajska)
|
||||
user a jaka cena dowozu? request(deliveryprice)
|
||||
system 5zł. inform(deliveryprice=5)
|
||||
user za kilometr? impl-conf(deliveryprice=5)
|
||||
system Zamówienia na terenie miasta, koszt to 5zł. expl-conf(deliveryprice=5)
|
||||
user okej to poproszę, czy są dostępne jakieś sosy? request(sauce)
|
||||
system Tak, sos czosnkowy lub tysiąca wysp. select(sauce)
|
||||
user czy sos dodatkowo kosztuje? request(sauce,price)
|
||||
system Nie, jest w cenie. affirm(sauce,price=0)
|
||||
user a są do tego jakieś napoje? request(drink)
|
||||
system Pepsi, Cola, Woda mineralna. select(drink)
|
||||
user jaka cena coli? request(drink=cola,price)
|
||||
system 5zł. inform(drink=cola,price=5)
|
||||
user to poprosze\nPotwierdzam zamowienie affirm(order)
|
||||
system Bardzo proszę, pizza L hawajska bez szynki, cola. Koszt 37zł, płatność przy odbiorze. Na jaki adres? inform(order,price=37)&request(address)
|
||||
user 62-200 Gniezno, osiedle Grunwaldzkie 21/3117\njaki czas oczekiwania? inform(address=62-200 Gniezno osiedle Grunwaldzkie 21/3117)&request(time)
|
||||
system Kurier dotrze do Pana w przeciągu godziny. Dziękuję i zapraszamy ponownie! inform(time=1)&bye()
|
||||
user Dziekuje bye()
|
||||
|
|
@ -1,11 +1,11 @@
|
||||
kto treść
|
||||
user Dzień dobry, chciałbym zamówić pizzę
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria'. W menu oferujemy:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna
|
||||
user W jakich rozmiarach są pizze?
|
||||
system Pizze są w rozmiarach M (31cm), L (41cm), XL (52cm).
|
||||
user Poprosiłbym Tuna XL
|
||||
system Bardzo proszę, koszt Tuna XL to 45zł. Czy coś jeszcze chce Pan zamówić?
|
||||
user Nie, to wszystko
|
||||
system Bardzo proszę, jaki adres dostawy?
|
||||
user Głogowska 0/4\nKiedy mogę się spodziewać dostawy?
|
||||
system Kurier dotrze do Pana w przeciągu godziny, dziękuję i zapraszamy ponownie!\nlike 1
|
||||
kto treść akt
|
||||
user Dzień dobry, chciałbym zamówić pizzę welcomemsg()
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria'. W menu oferujemy:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna welcomemsg()&select(menu)
|
||||
user W jakich rozmiarach są pizze? request(size)
|
||||
system Pizze są w rozmiarach M (31cm), L (41cm), XL (52cm). select(size)
|
||||
user Poprosiłbym Tuna XL request(pizza=tuna,size=xl)
|
||||
system Bardzo proszę, koszt Tuna XL to 45zł. Czy coś jeszcze chce Pan zamówić? affirm()&inform(pizza=tuna,size=xl,price=45)&reqmore()
|
||||
user Nie, to wszystko affirm(order)
|
||||
system Bardzo proszę, jaki adres dostawy? request(address)
|
||||
user Głogowska 0/4\nKiedy mogę się spodziewać dostawy? inform(address=Głogowska 0/4)&request(time)
|
||||
system Kurier dotrze do Pana w przeciągu godziny, dziękuję i zapraszamy ponownie!\nlike 1 inform(time=1)&goodbye()
|
||||
|
|
@ -1,14 +1,14 @@
|
||||
kto treść
|
||||
user Dzień dobry
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', jak mogę pomóc?
|
||||
user Chciałbym zamówić pizzę
|
||||
system W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL. Najpopularniejszym wyborem jest 'margharita', składniki to: ciasto, sos, ser.
|
||||
user Chciałbym pizzę z mięsem
|
||||
system Niestety w naszym menu nie oferujemy pizzy z mięsem, dostępne opcje to:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna
|
||||
user w takim razie poproszę pizzę barcelona w rozmiarze XL
|
||||
system Proszę uprzejmie, jedna pizza barcelona XL (40zł) wraz z dostawą (5zł), to 45zł. Czy coś jeszcze chce Pan zamówić?
|
||||
user Napój typu pepsi cola w puszczce, ale żeby była zimna i bez cukru
|
||||
system Bardzo proszę, informację przekaże kurierowi, koszt to 50zł przy odbiorze. Proszę podać adres dostawy.
|
||||
user ulica niebieska 230/2
|
||||
system Kurier dotrze do Pana w przeciągu godziny. Zapraszamy ponownie!
|
||||
user dziękuję
|
||||
kto treść akt
|
||||
user Dzień dobry welcomemsg()
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', jak mogę pomóc? welcomemsg()
|
||||
user Chciałbym zamówić pizzę request(pizza)
|
||||
system W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL. Najpopularniejszym wyborem jest 'margharita', składniki to: ciasto, sos, ser. select(dough,size)&offer(pizza=margarita,ingridient)
|
||||
user Chciałbym pizzę z mięsem request(ingridient=meat)
|
||||
system Niestety w naszym menu nie oferujemy pizzy z mięsem, dostępne opcje to:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna negate(ingridient=meat)&select(menu)
|
||||
user w takim razie poproszę pizzę barcelona w rozmiarze XL request(pizza=barcelona,size=xl)
|
||||
system Proszę uprzejmie, jedna pizza barcelona XL (40zł) wraz z dostawą (5zł), to 45zł. Czy coś jeszcze chce Pan zamówić? expl-conf(pizza=barcelona,price=45)
|
||||
user Napój typu pepsi cola w puszczce, ale żeby była zimna i bez cukru request(drink=pepsi,temperature=cold,sugar=0)
|
||||
system Bardzo proszę, informację przekaże kurierowi, koszt to 50zł przy odbiorze. Proszę podać adres dostawy. implf-conf(drink=pepsi)&inform(price=50)&request(address)
|
||||
user ulica niebieska 230/2 inform(address=ulica niebieska 230/2)
|
||||
system Kurier dotrze do Pana w przeciągu godziny. Zapraszamy ponownie! inform(time=1)&bye()
|
||||
user dziękuję bye()
|
||||
|
|
@ -1,14 +1,14 @@
|
||||
kto treść
|
||||
user Cześć, jakim systemem jesteś?
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', jak mogę pomóc?
|
||||
user Chciałbym zamówić pizzę
|
||||
system Jaką pizzę sobie życzysz? W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL.
|
||||
user Czy jest możliwość zamówienia pizzy pół na pół?
|
||||
system W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL.
|
||||
user jakie pizze są w menu?
|
||||
system W ofercie na ten moment mamy:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna
|
||||
user w takim razie poproszę 4x margarite XL
|
||||
system Proszę uprzejmie, koszt zamówienia to 120zł, płatność na miejscu. Na jaki adres?
|
||||
user Lipinki Łużyckie, Łączna 46
|
||||
system Kurier dotrze do Pana z zamówieniem w przeciągu godziny - nr zamówienia to 009871. Zapraszamy ponownie!
|
||||
user Dzięki!
|
||||
kto treść akt
|
||||
user Cześć, jakim systemem jesteś? welcomemsg()
|
||||
system Dzień dobry, witamy w restauracji 'pizzeria', jak mogę pomóc? welcomemsg()
|
||||
user Chciałbym zamówić pizzę request(pizza)
|
||||
system Jaką pizzę sobie życzysz? W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL. select(dough,size)
|
||||
user Czy jest możliwość zamówienia pizzy pół na pół? request(pizza=mix)
|
||||
system W ofercie mamy pizzę na grubym cieście, w 3 dostępnych rozmiarach, M, L, XL. canthelp(pizza=mix)&select(dough,size)
|
||||
user jakie pizze są w menu? request(menu)
|
||||
system W ofercie na ten moment mamy:\n- margharita\n- capri\n- hawajska\n- barcelona\n- tuna inform(menu)
|
||||
user w takim razie poproszę 4x margarite XL request(pizza=margarita,size=xl,quantity=4)
|
||||
system Proszę uprzejmie, koszt zamówienia to 120zł, płatność na miejscu. Na jaki adres? inform(price=120,payment=cash)&request(address)
|
||||
user Lipinki Łużyckie, Łączna 46 inform(address=Lipinki Łużyckie Łączna 46)
|
||||
system Kurier dotrze do Pana z zamówieniem w przeciągu godziny - nr zamówienia to 009871. Zapraszamy ponownie! inform(order=009871,time=1)&bye()
|
||||
user Dzięki! bye()
|
||||
|
|
@ -1,4 +1,6 @@
|
||||
from slot import Slot
|
||||
|
||||
class Frame:
|
||||
def __init__(self, source: str, text: str):
|
||||
self.source = source
|
||||
self.text = text
|
||||
def __init__(self, act: str, slots: list[Slot]):
|
||||
self.slots = slots
|
||||
self.act = act
|
||||
|
4
src/model/slot.py
Normal file
4
src/model/slot.py
Normal file
@ -0,0 +1,4 @@
|
||||
class Slot:
|
||||
def __init__(self, name, value=None):
|
||||
self.name = name
|
||||
self.value = value
|
12
src/service/dialog_policy.py
Normal file
12
src/service/dialog_policy.py
Normal file
@ -0,0 +1,12 @@
|
||||
from model.frame import Frame
|
||||
from model.dialogue_act import DialogueAct
|
||||
|
||||
class DialogPolicy:
|
||||
def __init__(self, frames: list[Frame]) -> None:
|
||||
self.frames = frames
|
||||
|
||||
def next_dialogue_act(self) -> Frame:
|
||||
if self.frames[-1].act == "welcomemsg":
|
||||
return Frame("welcomemsg", [])
|
||||
else:
|
||||
return Frame("canthelp", [])
|
Loading…
Reference in New Issue
Block a user