Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -7,6 +7,7 @@ from dotenv import load_dotenv
|
|
7 |
from openai import OpenAI
|
8 |
from PIL import Image, ImageOps
|
9 |
import tempfile
|
|
|
10 |
|
11 |
load_dotenv()
|
12 |
# Accéder à la clé API à partir des secrets
|
@@ -223,17 +224,32 @@ if uploaded_file is not None:
|
|
223 |
col1.write("") # Espace dans la première colonne
|
224 |
col3.write("") # Espace dans la troisième colonne
|
225 |
|
226 |
-
|
227 |
if st.button("Analyse l'Image"):
|
228 |
if 'filename' in st.session_state and os.path.exists(st.session_state['filename']):
|
229 |
with st.spinner("Analyse en cours... Veuillez patienter."):
|
|
|
230 |
st.session_state['result'] = call_groq_model_for_analysis(
|
231 |
st.session_state['filename'],
|
232 |
st.session_state['clinical_info']
|
233 |
)
|
|
|
234 |
st.success("Analyse terminée avec succès !")
|
235 |
-
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
# ELI5 Explanation
|
239 |
# Explication simplifiée
|
|
|
7 |
from openai import OpenAI
|
8 |
from PIL import Image, ImageOps
|
9 |
import tempfile
|
10 |
+
import time
|
11 |
|
12 |
load_dotenv()
|
13 |
# Accéder à la clé API à partir des secrets
|
|
|
224 |
col1.write("") # Espace dans la première colonne
|
225 |
col3.write("") # Espace dans la troisième colonne
|
226 |
|
227 |
+
# Bouton pour analyser l'image
|
228 |
if st.button("Analyse l'Image"):
|
229 |
if 'filename' in st.session_state and os.path.exists(st.session_state['filename']):
|
230 |
with st.spinner("Analyse en cours... Veuillez patienter."):
|
231 |
+
# Appel au modèle Groq pour l'analyse
|
232 |
st.session_state['result'] = call_groq_model_for_analysis(
|
233 |
st.session_state['filename'],
|
234 |
st.session_state['clinical_info']
|
235 |
)
|
236 |
+
|
237 |
st.success("Analyse terminée avec succès !")
|
238 |
+
|
239 |
+
# Effet de streaming pour afficher le résultat
|
240 |
+
result_text = st.session_state['result']
|
241 |
+
streamed_text = ""
|
242 |
+
|
243 |
+
# Utiliser un conteneur pour l'affichage progressif
|
244 |
+
with st.empty() as container:
|
245 |
+
for char in result_text: # Parcourir caractère par caractère
|
246 |
+
streamed_text += char
|
247 |
+
time.sleep(0.05) # Simuler le délai
|
248 |
+
container.markdown(streamed_text, unsafe_allow_html=True)
|
249 |
+
|
250 |
+
# Supprimer le fichier temporaire après le traitement
|
251 |
+
os.unlink(st.session_state['filename'])
|
252 |
+
|
253 |
|
254 |
# ELI5 Explanation
|
255 |
# Explication simplifiée
|