WIP, first working code for inference of SmolDocling, and vlm pipeline assembly code, example included.

Signed-off-by: Maksym Lysak <mly@zurich.ibm.com>
This commit is contained in:
Maksym Lysak
2025-01-09 18:41:00 +01:00
parent 03c8d45790
commit 3c4c647615
4 changed files with 53 additions and 29 deletions

View File

@@ -1,10 +1,12 @@
from docling.backend.docling_parse_backend import DoclingParseDocumentBackend
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import PdfPipelineOptions
from docling.document_converter import DocumentConverter, PdfFormatOption
from docling.pipeline.vlm_pipeline import VlmPipeline
# source = "https://arxiv.org/pdf/2408.09869" # document per local path or URL
source = "tests/data/2305.03393v1-pg9-img.png"
# source = "tests/data/2305.03393v1-pg9-img.png"
source = "tests/data/2305.03393v1-pg9.pdf"
pipeline_options = PdfPipelineOptions()
pipeline_options.artifacts_path = "model_artifacts"
@@ -12,13 +14,40 @@ pipeline_options.artifacts_path = "model_artifacts"
converter = DocumentConverter(
format_options={
InputFormat.PDF: PdfFormatOption(
pipeline_cls=VlmPipeline, pipeline_options=pipeline_options
)
pipeline_cls=VlmPipeline,
pipeline_options=pipeline_options,
backend=DoclingParseDocumentBackend,
),
InputFormat.IMAGE: PdfFormatOption(
pipeline_cls=VlmPipeline,
pipeline_options=pipeline_options,
backend=DoclingParseDocumentBackend,
),
}
)
print("============")
print("starting...")
print("============")
print("")
result = converter.convert(source)
print("------------")
print("result:")
print("------------")
print("")
print(result)
print("------------")
print("MD:")
print("------------")
print("")
print(result.document.export_to_markdown())
print("")
print("============")
print("done!")
print("============")
# output: ## Docling Technical Report [...]"