Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import google.generativeai as genai
3
+ from yolov5 import YOLOv5
4
+ from PIL import Image
5
+
6
+ # Configurez votre clé API
7
+ genai.configure(api_key="AIzaSyB_Hnl_77gd1I8xs6iuLqKIoGHgsZMXm1M")
8
+
9
+ # Chargez le modèle Gemini Pro
10
+ gemini_model = genai.GenerativeModel('gemini-pro')
11
+
12
+ # Charger le modèle de détection YOLOv5
13
+ yolo_model_path = "yolov5s.pt"
14
+ yolo_model = YOLOv5(yolo_model_path, device="cpu")
15
+
16
+ # Fonction de détection d'ingrédients
17
+ def detect_ingredients(image):
18
+ results = yolo_model.predict(image)
19
+ ingredients = results.pandas().xyxy[0]['name'].tolist()
20
+ return ingredients
21
+
22
+ # Fonction de génération de recettes
23
+ def generate_recipe(ingredients):
24
+ # Ajoutez une indication dans le prompt pour générer la réponse en français
25
+ prompt = f"Créer une recette en français en utilisant les ingrédients suivants : {', '.join(ingredients)}. La recette doit être claire et détaillée, en mentionnant les étapes de préparation et les ingrédients nécessaires. Si des ingrédients supplémentaires sont nécessaires, précisez qu'ils ne sont pas présents sur la photo. La réponse doit contenir uniquement la recette, sans autres informations."
26
+ response = gemini_model.generate_content(prompt)
27
+ return response.text
28
+
29
+ # Interface Gradio
30
+ def process_image(image):
31
+ # Ouvrir l'image depuis le chemin fourni
32
+ image = Image.open(image)
33
+ ingredients = detect_ingredients(image)
34
+ recipe = generate_recipe(ingredients)
35
+ return f"Ingrédients détectés : {', '.join(ingredients)}\n\nRecette générée :\n{recipe}"
36
+
37
+ # Mise à jour de l'interface Gradio
38
+ iface = gr.Interface(
39
+ fn=process_image,
40
+ inputs=gr.Image(type="filepath"), # Permet le téléchargement d'image depuis la galerie
41
+ outputs="text",
42
+ title="Générateur de Recettes par Ingrédients",
43
+ description="Téléchargez une image d'ingrédients pour générer une recette.",
44
+ )
45
+
46
+ # Lancer l'application
47
+ if __name__ == "__main__":
48
+ iface.launch()