goldrode commited on
Commit
e3af4f4
·
verified ·
1 Parent(s): e8541ba

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -16
app.py CHANGED
@@ -89,27 +89,35 @@ def upload_reference(file):
89
 
90
  # Analyser un PDF d'analyse de sang
91
  def analyze_blood_test(file):
92
- file_content = file.read()
93
- test_results = extract_text_from_pdf(file_content)
 
 
 
 
 
94
 
95
- if not test_results:
96
- return "Aucun texte valide extrait du fichier d'analyse."
97
 
98
- # Combine tous les résultats d'analyse dans un seul texte
99
- query = "\n".join(test_results)
100
 
101
- # Recherche dans l'index FAISS
102
- relevant_docs = search_faiss(query, k=5)
103
- context = "\n".join(relevant_docs)
104
 
105
- # Enrichir le prompt avec les informations pertinentes
106
- enriched_prompt = f"Voici les résultats d'analyse :\n{query}\n\nContexte pertinent :\n{context}"
107
- gemini_response = call_gemini_api(enriched_prompt)
 
 
 
 
 
 
 
108
 
109
- return {
110
- "Réponse générée": gemini_response,
111
- "Documents pertinents": relevant_docs
112
- }
113
 
114
  # Interface Gradio
115
  def gradio_upload_reference(file):
 
89
 
90
  # Analyser un PDF d'analyse de sang
91
  def analyze_blood_test(file):
92
+ try:
93
+ # Ouvrir le fichier en mode binaire
94
+ with open(file.name, "rb") as f:
95
+ file_content = f.read()
96
+
97
+ # Extraire le texte des résultats d'analyse
98
+ test_results = extract_text_from_pdf(file_content)
99
 
100
+ if not test_results:
101
+ return "Aucun texte valide extrait du fichier d'analyse."
102
 
103
+ # Combine tous les résultats d'analyse dans un seul texte
104
+ query = "\n".join(test_results)
105
 
106
+ # Recherche dans l'index FAISS
107
+ relevant_docs = search_faiss(query, k=5)
108
+ context = "\n".join(relevant_docs)
109
 
110
+ # Enrichir le prompt avec les informations pertinentes
111
+ enriched_prompt = f"Voici les résultats d'analyse :\n{query}\n\nContexte pertinent :\n{context}"
112
+ gemini_response = call_gemini_api(enriched_prompt)
113
+
114
+ return {
115
+ "Réponse générée": gemini_response,
116
+ "Documents pertinents": relevant_docs
117
+ }
118
+ except Exception as e:
119
+ return f"Erreur : {str(e)}"
120
 
 
 
 
 
121
 
122
  # Interface Gradio
123
  def gradio_upload_reference(file):