Spaces:
Runtime error
Runtime error
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) | |