Recipe-Suggestion-App / exp-app.py
pratikshahp's picture
Rename app.py to exp-app.py
12cf813 verified
raw
history blame
1.62 kB
import gradio as gr
from transformers import pipeline
# Load a model from Hugging Face for recipe generation
model = pipeline("text-generation", model="flax-community/t5-recipe-generation")
# Recipe generation function
def suggest_recipes(ingredients):
prompt = (
f"You are an expert in cooking. Please suggest 3 recipes using the following "
f"ingredients: {ingredients}. Provide a title for each recipe, include "
f"preparation time, and list step-by-step directions."
)
response = model(prompt)
# , max_length=512, num_return_sequences=1)
# Parse the generated text to create structured recipes
generated_text = response[0]['generated_text']
recipes = generated_text.split("Recipe ")
structured_recipes = []
for i, recipe in enumerate(recipes):
if recipe.strip(): # Ensure non-empty recipe
structured_recipes.append(f"Recipe {i+1}:\n{recipe.strip()}")
return "\n\n".join(structured_recipes)
# Gradio interface
with gr.Blocks() as app:
gr.Markdown("# Recipe Suggestion App")
gr.Markdown("Provide the ingredients you have, and this app will suggest recipes along with preparation times!")
with gr.Row():
ingredients_input = gr.Textbox(label="Enter Ingredients (comma-separated):", placeholder="e.g., eggs, milk, flour")
recipe_output = gr.Textbox(label="Suggested Recipes:", lines=15, interactive=False)
generate_button = gr.Button("Get Recipes")
generate_button.click(suggest_recipes, inputs=ingredients_input, outputs=recipe_output)
# Launch the app
app.launch()