tdnathmlenthusiast's picture
Update app.py
c90ecbf verified
raw
history blame contribute delete
No virus
2.97 kB
from transformers import pipeline
import gradio as gr
def generate_recommendations(party_on_weekends=None, flavor_preference=None, texture_dislike=None, price_range=None):
# Define the list of ingredients
ingredients = ["oranges", "apples", "pears", "grapes", "watermelon", "lemon", "lime"]
# Apply the rules based on user answers
allowed_fruits = ingredients.copy()
if party_on_weekends == "yes":
allowed_fruits = list(set(allowed_fruits) & set(["apples", "pears", "grapes", "watermelon"]))
if flavor_preference == "cider":
allowed_fruits = list(set(allowed_fruits) & set(["apples", "oranges", "lemon", "lime"]))
elif flavor_preference == "sweet":
allowed_fruits = list(set(allowed_fruits) & set(["watermelon", "oranges"]))
elif flavor_preference == "waterlike":
allowed_fruits = list(set(allowed_fruits) & set(["watermelon"]))
if "grapes" in allowed_fruits:
allowed_fruits.remove("watermelon")
if texture_dislike == "smooth":
if "pears" in allowed_fruits:
allowed_fruits.remove("pears")
elif texture_dislike == "slimy":
slimy_fruits = ["watermelon", "lime", "grapes"]
allowed_fruits = list(set(allowed_fruits) - set(slimy_fruits))
elif texture_dislike == "waterlike":
if "watermelon" in allowed_fruits:
allowed_fruits.remove("watermelon")
if price_range is not None:
if price_range < 3:
if "lime" in allowed_fruits:
allowed_fruits.remove("lime")
if "watermelon" in allowed_fruits:
allowed_fruits.remove("watermelon")
elif 4 < price_range < 7:
if "pears" in allowed_fruits:
allowed_fruits.remove("pears")
if "apples" in allowed_fruits:
allowed_fruits.remove("apples")
return allowed_fruits
def recommend_fruits(party_answer="", flavor_answer="", texture_answer="", price_answer=None):
# Combine the answers dynamically
combined_answers = {
"Do you go out to party on weekends? (yes or no)": party_answer,
"What flavors do you like? (cider, sweet, waterlike)": flavor_answer,
"What texture do you dislike? (smooth, slimy, waterlike)": texture_answer,
"What price range will you buy a drink for? ($1-$10)": price_answer
}
# Generate recommendations based on combined answers
recommendations = generate_recommendations(**combined_answers)
return "Recommended fruits: " + str(recommendations)
def clear_output():
# You can customize the behavior of clearing the output if needed
return ""
iface = gr.Interface(fn=recommend_fruits,
inputs=["text", "text", "text", "number"],
outputs="text",
live=True
) # Adjust the refresh rate here (in seconds)
# Add a clear button to reset the output
iface.launch(share=True, debug=True)