Docfile commited on
Commit
c30d2a4
·
verified ·
1 Parent(s): 367e465

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -10
app.py CHANGED
@@ -1,4 +1,7 @@
1
  import streamlit as st
 
 
 
2
 
3
  # Configuration de la page
4
  st.set_page_config(
@@ -59,6 +62,10 @@ st.markdown(
59
  unsafe_allow_html=True
60
  )
61
 
 
 
 
 
62
  # Titre et introduction avec effet d'animation
63
  st.markdown(
64
  """
@@ -114,16 +121,38 @@ with col2:
114
  if st.button("🚀 Soumettre", key="submit"):
115
  if uploaded_files:
116
  st.write("Type d'analyse sélectionné :", analysis_type)
117
- progress_bar = st.progress(0)
118
- for percent_complete in range(101):
119
- # Insérez ici le code pour effectuer l'analyse d'image
120
- # en fonction du type d'analyse choisi.
121
- # Simule un traitement pour l'exemple
122
- import time
123
- time.sleep(0.05)
124
- progress_bar.progress(percent_complete)
125
- if percent_complete == 100:
126
- st.success("✅ Analyse terminée !")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
  else:
129
  st.warning("⚠️ Veuillez télécharger au moins une image.")
 
1
  import streamlit as st
2
+ import PIL.Image
3
+ import os
4
+ import google.generativeai as genai
5
 
6
  # Configuration de la page
7
  st.set_page_config(
 
62
  unsafe_allow_html=True
63
  )
64
 
65
+ # Configuration de l'API Google Generative AI
66
+ GOOGLE_API_KEY = st.secrets["GOOGLE_API_KEY"] # Définir le chemin d'accès dans les secrets de l'application
67
+ genai.configure(api_key=GOOGLE_API_KEY)
68
+
69
  # Titre et introduction avec effet d'animation
70
  st.markdown(
71
  """
 
121
  if st.button("🚀 Soumettre", key="submit"):
122
  if uploaded_files:
123
  st.write("Type d'analyse sélectionné :", analysis_type)
124
+
125
+ # Préparation des images pour l'API
126
+ image_parts = []
127
+ for uploaded_file in uploaded_files:
128
+ try:
129
+ image = PIL.Image.open(uploaded_file)
130
+ image_parts.append(image)
131
+ except Exception as e:
132
+ st.error(f"Erreur lors du chargement de l'image : {e}")
133
+ st.stop()
134
+
135
+ # Définir le prompt en fonction du type d'analyse
136
+ if analysis_type == "🔍 Type 1: Analyse de base":
137
+ prompt = "Décris les objets présents dans ces images."
138
+ else:
139
+ prompt = "Effectue une analyse détaillée de ces images, en te concentrant sur les détails et les relations entre les différents éléments."
140
+
141
+ # Appel de l'API Google Generative AI
142
+ try:
143
+ model = genai.GenerativeModel(model_name="gemini-1.5-pro")
144
+ with st.spinner("Analyse en cours..."):
145
+ progress_bar = st.progress(0)
146
+ response = model.generate_content([prompt] + image_parts, stream=True)
147
+ response.resolve()
148
+ progress_bar.progress(100)
149
+
150
+ # Affichage de la réponse
151
+ st.subheader("📝 Résultat de l'analyse :")
152
+ st.write(response.text)
153
+
154
+ except Exception as e:
155
+ st.error(f"Erreur lors de l'analyse : {e}")
156
 
157
  else:
158
  st.warning("⚠️ Veuillez télécharger au moins une image.")