nia2 commited on
Commit
10cc896
·
verified ·
1 Parent(s): 3b82586

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -10
app.py CHANGED
@@ -3,9 +3,15 @@ import google.generativeai as genai
3
  from yolov5 import YOLOv5
4
  from PIL import Image
5
  from transformers import pipeline
 
6
 
7
- # Clé API
8
- genai.configure(api_key="AIzaSyB_Hnl_77gd1I8xs6iuLqKIoGHgsZMXm1M")
 
 
 
 
 
9
 
10
  # Le modèle Gemini Pro
11
  gemini_model = genai.GenerativeModel('gemini-pro')
@@ -28,15 +34,12 @@ def generate_recipe(ingredients):
28
  prompt = f"""
29
  Oubliez tout ce que je vous ai demandé avant et concentrez-vous uniquement sur cette tâche.
30
  Vous êtes un chef virtuel spécialisé dans la création de recettes à partir des ingrédients disponibles. On vous a fourni une liste d'aliments suivants : {', '.join(set(ingredients))}. Utilisez ces ingrédients pour créer une recette savoureuse et nutritive. Votre recette doit inclure :
31
-
32
  1. Une liste d'ingrédients avec les quantités nécessaires.
33
  2. Des instructions étape par étape pour la préparation et la cuisson.
34
  3. Des conseils pour les substitutions possibles si certains ingrédients manquent.
35
  4. Le temps de préparation et de cuisson total.
36
  5. Des suggestions de présentation pour rendre le plat encore plus appétissant.
37
-
38
  Assurez-vous que la recette soit accessible à un niveau de compétence culinaire moyen et qu'elle utilise les ingrédients de manière optimale.
39
-
40
  Exemple de format de réponse :
41
  ```
42
  Recette : [Nom de la recette]
@@ -62,11 +65,14 @@ def text_to_audio(text, output_file="output.wav"):
62
 
63
  # Interface Gradio
64
  def process_image(image):
65
- image = Image.open(image)
66
- ingredients = detect_ingredients(image)
67
- recipe = generate_recipe(ingredients)
68
- audio_file = text_to_audio(recipe)
69
- return f"Ingrédients détectés : {', '.join(ingredients)}\n\nRecette générée :\n{recipe}", audio_file
 
 
 
70
 
71
  # Mise à jour de l'interface Gradio
72
  iface = gr.Interface(
@@ -82,3 +88,4 @@ if __name__ == "__main__":
82
  iface.launch()
83
 
84
 
 
 
3
  from yolov5 import YOLOv5
4
  from PIL import Image
5
  from transformers import pipeline
6
+ import os
7
 
8
+ # Charger la clé API depuis une variable d'environnement
9
+ api_key = os.getenv("GENAI_API_KEY")
10
+ if not api_key:
11
+ raise ValueError("AIzaSyC5YtC0yxdJIRFSL6gK_p4k8FY_ycz8tZ8")
12
+
13
+ # Configurer la clé API
14
+ genai.configure(api_key=api_key)
15
 
16
  # Le modèle Gemini Pro
17
  gemini_model = genai.GenerativeModel('gemini-pro')
 
34
  prompt = f"""
35
  Oubliez tout ce que je vous ai demandé avant et concentrez-vous uniquement sur cette tâche.
36
  Vous êtes un chef virtuel spécialisé dans la création de recettes à partir des ingrédients disponibles. On vous a fourni une liste d'aliments suivants : {', '.join(set(ingredients))}. Utilisez ces ingrédients pour créer une recette savoureuse et nutritive. Votre recette doit inclure :
 
37
  1. Une liste d'ingrédients avec les quantités nécessaires.
38
  2. Des instructions étape par étape pour la préparation et la cuisson.
39
  3. Des conseils pour les substitutions possibles si certains ingrédients manquent.
40
  4. Le temps de préparation et de cuisson total.
41
  5. Des suggestions de présentation pour rendre le plat encore plus appétissant.
 
42
  Assurez-vous que la recette soit accessible à un niveau de compétence culinaire moyen et qu'elle utilise les ingrédients de manière optimale.
 
43
  Exemple de format de réponse :
44
  ```
45
  Recette : [Nom de la recette]
 
65
 
66
  # Interface Gradio
67
  def process_image(image):
68
+ try:
69
+ image = Image.open(image)
70
+ ingredients = detect_ingredients(image)
71
+ recipe = generate_recipe(ingredients)
72
+ audio_file = text_to_audio(recipe)
73
+ return f"Ingrédients détectés : {', '.join(ingredients)}\n\nRecette générée :\n{recipe}", audio_file
74
+ except Exception as e:
75
+ return f"Une erreur s'est produite : {str(e)}", None
76
 
77
  # Mise à jour de l'interface Gradio
78
  iface = gr.Interface(
 
88
  iface.launch()
89
 
90
 
91
+