Added one more fix for image issue
Browse files- Gradio_UI.py +8 -8
Gradio_UI.py
CHANGED
@@ -61,6 +61,10 @@ def pull_messages_from_step(
|
|
61 |
else:
|
62 |
content = str(args).strip()
|
63 |
|
|
|
|
|
|
|
|
|
64 |
if used_code:
|
65 |
# Clean up the content by removing any end code tags
|
66 |
content = re.sub(r"```.*?\n", "", content) # Remove existing code blocks
|
@@ -143,27 +147,23 @@ def stream_to_gradio(
|
|
143 |
final_answer_step = step_log
|
144 |
continue # Don't display the final answer step itself, process it at the end
|
145 |
|
146 |
-
# FIX: Check if token counts exist before trying to use them
|
147 |
-
if hasattr(agent.model, "last_input_token_count") and agent.model.last_input_token_count is not None:
|
148 |
-
if isinstance(step_log, ActionStep):
|
149 |
-
step_log.input_token_count = agent.model.last_input_token_count
|
150 |
-
step_log.output_token_count = agent.model.last_output_token_count
|
151 |
-
|
152 |
for message in pull_messages_from_step(
|
153 |
step_log,
|
154 |
):
|
155 |
yield message
|
156 |
|
157 |
-
# Process the final answer correctly after the loop
|
158 |
if final_answer_step:
|
159 |
# Extract the actual value from the FinalAnswerStep object
|
160 |
final_answer_value = getattr(final_answer_step, 'final_answer', final_answer_step)
|
161 |
|
162 |
# Directly check if the final answer is a path to an image file
|
163 |
if isinstance(final_answer_value, str) and final_answer_value.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')):
|
|
|
|
|
164 |
yield gr.ChatMessage(
|
165 |
role="assistant",
|
166 |
-
content=
|
167 |
)
|
168 |
else:
|
169 |
# Fallback for text or any other type of answer
|
|
|
61 |
else:
|
62 |
content = str(args).strip()
|
63 |
|
64 |
+
# If the content looks like an image file path, convert it to Markdown so Gradio shows the image
|
65 |
+
if isinstance(content, str) and content.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')):
|
66 |
+
content = f""
|
67 |
+
|
68 |
if used_code:
|
69 |
# Clean up the content by removing any end code tags
|
70 |
content = re.sub(r"```.*?\n", "", content) # Remove existing code blocks
|
|
|
147 |
final_answer_step = step_log
|
148 |
continue # Don't display the final answer step itself, process it at the end
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
for message in pull_messages_from_step(
|
151 |
step_log,
|
152 |
):
|
153 |
yield message
|
154 |
|
155 |
+
# FIX: Process the final answer correctly after the loop
|
156 |
if final_answer_step:
|
157 |
# Extract the actual value from the FinalAnswerStep object
|
158 |
final_answer_value = getattr(final_answer_step, 'final_answer', final_answer_step)
|
159 |
|
160 |
# Directly check if the final answer is a path to an image file
|
161 |
if isinstance(final_answer_value, str) and final_answer_value.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')):
|
162 |
+
# Display the image inline using Markdown so Gradio will render it instead of plain text
|
163 |
+
markdown_img = f""
|
164 |
yield gr.ChatMessage(
|
165 |
role="assistant",
|
166 |
+
content=markdown_img,
|
167 |
)
|
168 |
else:
|
169 |
# Fallback for text or any other type of answer
|