Spaces:
Build error
Build error
Update app.py
Browse files
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 |
-
#
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
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 |
+
|