File size: 6,315 Bytes
d922512
1e1ad73
910a44f
 
 
 
 
33933ea
910a44f
 
 
 
33933ea
910a44f
 
 
 
33933ea
910a44f
 
 
 
 
 
aa772c5
910a44f
 
 
 
 
 
 
 
 
aa772c5
910a44f
 
 
 
 
 
 
 
 
 
 
 
 
 
c788310
910a44f
 
 
 
c788310
910a44f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c788310
910a44f
 
 
 
 
 
c788310
910a44f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import gradio as gr

# Function that handles the user input and provides responses
def chatbot(input_text, state):
    # Initializing state if None
    if state is None:
        state = {"step": 1}

    # Step 1: Ask what the user wants to customize
    if state["step"] == 1:
        state["step"] = 2
        return "Hey, what would you like to customize?", state

    # Step 2: Ask if the user wants veg or nonveg
    if state["step"] == 2:
        state["step"] = 3
        return "Would you like to customize a veg or nonveg dish?", state

    # Step 3: Ask for nutritional selection (based on veg or nonveg)
    if state["step"] == 3:
        if input_text.lower() in ["veg", "nonveg"]:
            state["step"] = 4
            return f"Great! You've selected {input_text}. Now, what are your nutritional preferences?", state
        return "Please select either 'veg' or 'nonveg'.", state

    # Step 4: Show ingredients based on veg or nonveg
    if state["step"] == 4:
        if input_text.lower() == "veg":
            state["step"] = 5
            return "Please choose an ingredient: Paneer, Gobi, Babycorn, Spinach, Mushroom, Tofu, Corn, Peas, Broccoli, Cauliflower", state
        elif input_text.lower() == "nonveg":
            state["step"] = 6
            return "Please choose an ingredient: Fish, Chicken, Mutton, Prawns, Duck, Turkey, Crab, Lobster, Shrimp, Squid", state
        return "Please select either 'veg' or 'nonveg'.", state

    # Step 5: Show dish items based on ingredient selection for veg
    if state["step"] == 5:
        veg_items = {
            "paneer": ["Paneer Tikka", "Paneer Butter Masala", "Paneer Lababdar", "Paneer Makhani", "Palak Paneer", "Paneer Pakora", "Paneer Bhurji", "Shahi Paneer", "Kadai Paneer", "Paneer Kofta"],
            "gobi": ["Gobi Manchurian", "Aloo Gobi", "Gobi Paratha", "Gobi Fry", "Gobi Masala", "Gobi Do Pyaza", "Gobi Curry", "Gobi Pulao", "Gobi Pakora", "Gobi Stir Fry"],
            "babycorn": ["Babycorn Fry", "Babycorn Manchurian", "Babycorn Pakora", "Babycorn Masala", "Babycorn Pulao", "Babycorn Stir Fry", "Babycorn Biryani", "Babycorn Curry", "Babycorn Tikka", "Babycorn Chutney"],
            "spinach": ["Palak Paneer", "Spinach Soup", "Spinach Paratha", "Palak Chaat", "Spinach Curry", "Spinach Pulao", "Spinach Biryani", "Spinach and Cheese Toast", "Spinach Frittata", "Spinach Pakora"],
            "mushroom": ["Mushroom Masala", "Mushroom Soup", "Mushroom Biryani", "Mushroom Curry", "Mushroom Stir Fry", "Mushroom Tikka", "Mushroom Paratha", "Mushroom Pulao", "Mushroom Manchurian", "Mushroom Pakora"],
            "tofu": ["Tofu Stir Fry", "Tofu Curry", "Tofu Tikka", "Tofu Soup", "Tofu Salad", "Tofu Stir Fried Rice", "Tofu Pulao", "Tofu Pakora", "Tofu Biryani", "Tofu Wrap"],
            "corn": ["Sweet Corn Soup", "Corn Pakora", "Corn Stir Fry", "Corn Tikki", "Corn Pulao", "Corn Biryani", "Corn Masala", "Corn Fritters", "Corn Salad", "Corn and Peas Curry"],
            "peas": ["Matar Paneer", "Matar Masala", "Matar Pulao", "Matar Tikki", "Matar Paratha", "Matar Pakora", "Matar Chaat", "Matar Biryani", "Matar Curry", "Matar Stir Fry"],
            "broccoli": ["Broccoli Stir Fry", "Broccoli Soup", "Broccoli Salad", "Broccoli Pakora", "Broccoli Tikki", "Broccoli Curry", "Broccoli Pulao", "Broccoli Frittata", "Broccoli Manchurian", "Broccoli Cheese Bake"],
            "cauliflower": ["Gobi Manchurian", "Aloo Gobi", "Gobi Pakora", "Gobi Tikka", "Gobi Masala", "Gobi Pulao", "Aloo Gobi Paratha", "Gobi Curry", "Gobi Stir Fry", "Gobi Cheese Bake"]
        }
        
        ingredient = input_text.lower()
        if ingredient in veg_items:
            return f"Here are some {ingredient} dishes: {', '.join(veg_items[ingredient])}", state
        return "Please select a valid ingredient from the list.", state

    # Step 6: Show dish items based on ingredient selection for nonveg
    if state["step"] == 6:
        nonveg_items = {
            "fish": ["Fish Curry", "Grilled Fish", "Fish Fry", "Fish Tikka", "Fish Biryani", "Fish Korma", "Fish Masala", "Fish Soup", "Fish and Chips", "Fish Amritsari"],
            "chicken": ["Chicken Curry", "Chicken Biryani", "Grilled Chicken", "Chicken Tikka", "Chicken Pakora", "Chicken Fry", "Chicken Korma", "Chicken Masala", "Chicken Shawarma", "Chicken Pulao"],
            "mutton": ["Mutton Rogan Josh", "Mutton Biryani", "Mutton Curry", "Mutton Korma", "Mutton Fry", "Mutton Seekh Kebab", "Mutton Nihari", "Mutton Do Pyaza", "Mutton Masala", "Mutton Kofta"],
            "prawns": ["Prawn Curry", "Prawn Masala", "Prawn Biryani", "Prawn Fry", "Prawn Tikka", "Prawn Soup", "Prawn Pulao", "Prawn Korma", "Prawn Grill", "Prawn Prawn Pakora"],
            "duck": ["Duck Curry", "Duck Roast", "Duck Biryani", "Duck Korma", "Duck Fry", "Duck Soup", "Duck Stir Fry", "Duck Tikka", "Duck Pulao", "Duck Shawarma"],
            "turkey": ["Turkey Roast", "Turkey Biryani", "Turkey Soup", "Turkey Masala", "Turkey Korma", "Turkey Stir Fry", "Turkey Tikka", "Turkey Grill", "Turkey Pulao", "Turkey Tacos"],
            "crab": ["Crab Curry", "Crab Fry", "Crab Soup", "Crab Masala", "Crab Biryani", "Crab Pulao", "Crab Cakes", "Crab Tikka", "Crab Stir Fry", "Crab Roast"],
            "lobster": ["Lobster Curry", "Lobster Grilled", "Lobster Soup", "Lobster Biryani", "Lobster Masala", "Lobster Tikka", "Lobster Stir Fry", "Lobster Pulao", "Lobster Shawarma", "Lobster Pakora"],
            "shrimp": ["Shrimp Biryani", "Shrimp Curry", "Shrimp Tikka", "Shrimp Masala", "Shrimp Fry", "Shrimp Pulao", "Shrimp Soup", "Shrimp Grill", "Shrimp Korma", "Shrimp Pakora"],
            "squid": ["Squid Curry", "Squid Masala", "Grilled Squid", "Squid Soup", "Squid Stir Fry", "Squid Biryani", "Squid Tikka", "Squid Pakora", "Squid Pulao", "Squid Korma"]
        }
        
        ingredient = input_text.lower()
        if ingredient in nonveg_items:
            return f"Here are some {ingredient} dishes: {', '.join(nonveg_items[ingredient])}", state
        return "Please select a valid ingredient from the list.", state

# Set up the Gradio interface
iface = gr.Interface(fn=chatbot,
                     inputs=["text", "state"],
                     outputs=["text", "state"],
                     live=True,
                     allow_flagging="never")

iface.launch()