Spaces:
Sleeping
Sleeping
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
|