Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -80,7 +80,7 @@ def submit_query(session_id, query):
|
|
80 |
raise
|
81 |
|
82 |
|
83 |
-
def extract_json_from_answer(answer):
|
84 |
"""Extract and clean JSON from the LLM response"""
|
85 |
try:
|
86 |
# First try to parse the answer directly
|
@@ -91,10 +91,10 @@ def extract_json_from_answer(answer):
|
|
91 |
try:
|
92 |
# If that fails, try to find JSON content and parse it
|
93 |
start_idx = answer.find('{')
|
94 |
-
end_idx = answer.rfind('}')
|
95 |
if start_idx != -1 and end_idx != 0:
|
96 |
json_str = answer[start_idx:end_idx]
|
97 |
-
|
98 |
return json.loads(json_str)
|
99 |
except (json.JSONDecodeError, ValueError):
|
100 |
logger.error("Failed to parse JSON from response")
|
@@ -179,7 +179,7 @@ def gradio_interface(patient_info, image):
|
|
179 |
"status": "error"
|
180 |
}, indent=2)
|
181 |
|
182 |
-
classes = ["Alzheimer's", "
|
183 |
# Process image if provided
|
184 |
image_analysis = None
|
185 |
if image is not None:
|
@@ -208,7 +208,7 @@ def gradio_interface(patient_info, image):
|
|
208 |
raise ValueError("Invalid response structure from LLM")
|
209 |
|
210 |
# Extract and clean JSON from the response
|
211 |
-
json_data = extract_json_from_answer(llm_response['data']['answer'])
|
212 |
logger.info(f"llm_response: {llm_response}")
|
213 |
logger.info(f"llm_response[data]: {llm_response['data']}")
|
214 |
logger.info(f"llm_response[data][answer]: {llm_response['data']['answer']}")
|
|
|
80 |
raise
|
81 |
|
82 |
|
83 |
+
def extract_json_from_answer(answer, image_analysis):
|
84 |
"""Extract and clean JSON from the LLM response"""
|
85 |
try:
|
86 |
# First try to parse the answer directly
|
|
|
91 |
try:
|
92 |
# If that fails, try to find JSON content and parse it
|
93 |
start_idx = answer.find('{')
|
94 |
+
end_idx = answer.rfind('}')
|
95 |
if start_idx != -1 and end_idx != 0:
|
96 |
json_str = answer[start_idx:end_idx]
|
97 |
+
json_str += f"image_analysis: ['prediction': {image_analysis['prediction']}, 'confidence': {image_analysis['confidence']}%.]
|
98 |
return json.loads(json_str)
|
99 |
except (json.JSONDecodeError, ValueError):
|
100 |
logger.error("Failed to parse JSON from response")
|
|
|
179 |
"status": "error"
|
180 |
}, indent=2)
|
181 |
|
182 |
+
classes = ["Alzheimer's", "Normal", "Stroke", "Tumor"]
|
183 |
# Process image if provided
|
184 |
image_analysis = None
|
185 |
if image is not None:
|
|
|
208 |
raise ValueError("Invalid response structure from LLM")
|
209 |
|
210 |
# Extract and clean JSON from the response
|
211 |
+
json_data = extract_json_from_answer(llm_response['data']['answer'], image_analysis)
|
212 |
logger.info(f"llm_response: {llm_response}")
|
213 |
logger.info(f"llm_response[data]: {llm_response['data']}")
|
214 |
logger.info(f"llm_response[data][answer]: {llm_response['data']['answer']}")
|