diff --git a/app.py b/app.py index be9ee73..01c788c 100644 --- a/app.py +++ b/app.py @@ -118,21 +118,21 @@ def model_inference( # After finishing the streamer loop: cleaned_output = full_output.replace("", "").strip() - final_output = cleaned_output - # If markdown conversion is needed, combine it with cleaned_output - if any(tag in cleaned_output for tag in ["", "", "", "", ""]): - doctag_output = cleaned_output - if "" in doctag_output: - doctag_output = doctag_output.replace("", "").replace("", "") - doctag_output = re.sub(r'()(?!.*)<[^>]+>', r'\1', doctag_output) - doc = DoclingDocument(name="Document") - doctags_doc = DocTagsDocument.from_doctags_and_image_pairs([doctag_output], images) - doc.load_from_doctags(doctags_doc) - final_output += "\n\n**MD Output:**\n\n" + doc.export_to_markdown() + if cleaned_output: + yield cleaned_output + # Now, since cleaned_output exists, we can safely use it. + if any(tag in cleaned_output for tag in ["", "", "", "", ""]): + doctag_output = cleaned_output + if "" in doctag_output: + doctag_output = doctag_output.replace("", "").replace("", "") + doctag_output = re.sub(r'()(?!.*)<[^>]+>', r'\1', doctag_output) + + doc = DoclingDocument(name="Document") + doctags_doc = DocTagsDocument.from_doctags_and_image_pairs([doctag_output], images) + doc.load_from_doctags(doctags_doc) + yield f"**MD Output:**\n\n{doc.export_to_markdown()}" - # Yield the final combined output only once - yield final_output if any(tag in doctag_output for tag in ["", "", "", "", ""]):