Spaces:
Configuration error
Configuration error
# Define the input options for the API | |
from typing import Annotated, Optional | |
from pydantic import BaseModel, Field | |
from docling.datamodel.base_models import InputFormat, OutputFormat | |
from docling.datamodel.pipeline_options import OcrEngine, PdfBackend, TableFormerMode | |
from docling_core.types.doc import ImageRefMode | |
class ConvertDocumentsOptions(BaseModel): | |
from_formats: Annotated[ | |
list[InputFormat], | |
Field( | |
description=( | |
"Input format(s) to convert from. String or list of strings. " | |
f"Allowed values: {', '.join([v.value for v in InputFormat])}. " | |
"Optional, defaults to all formats." | |
), | |
examples=[[v.value for v in InputFormat]], | |
), | |
] = list(InputFormat) | |
to_formats: Annotated[ | |
list[OutputFormat], | |
Field( | |
description=( | |
"Output format(s) to convert to. String or list of strings. " | |
f"Allowed values: {', '.join([v.value for v in OutputFormat])}. " | |
"Optional, defaults to Markdown." | |
), | |
examples=[[OutputFormat.MARKDOWN]], | |
), | |
] = [OutputFormat.MARKDOWN] | |
image_export_mode: Annotated[ | |
ImageRefMode, | |
Field( | |
description=( | |
"Image export mode for the document (in case of JSON," | |
" Markdown or HTML). " | |
f"Allowed values: {', '.join([v.value for v in ImageRefMode])}. " | |
"Optional, defaults to Embedded." | |
), | |
examples=[ImageRefMode.EMBEDDED.value], | |
# pattern="embedded|placeholder|referenced", | |
), | |
] = ImageRefMode.EMBEDDED | |
do_ocr: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, the bitmap content will be processed using OCR. " | |
"Boolean. Optional, defaults to true" | |
), | |
# examples=[True], | |
), | |
] = True | |
force_ocr: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, replace existing text with OCR-generated " | |
"text over content. Boolean. Optional, defaults to false." | |
), | |
# examples=[False], | |
), | |
] = False | |
# TODO: use a restricted list based on what is installed on the system | |
ocr_engine: Annotated[ | |
OcrEngine, | |
Field( | |
description=( | |
"The OCR engine to use. String. " | |
"Allowed values: easyocr, tesseract, rapidocr. " | |
"Optional, defaults to easyocr." | |
), | |
examples=[OcrEngine.EASYOCR], | |
), | |
] = OcrEngine.EASYOCR | |
ocr_lang: Annotated[ | |
Optional[list[str]], | |
Field( | |
description=( | |
"List of languages used by the OCR engine. " | |
"Note that each OCR engine has " | |
"different values for the language names. String or list of strings. " | |
"Optional, defaults to empty." | |
), | |
examples=[["fr", "de", "es", "en"]], | |
), | |
] = None | |
pdf_backend: Annotated[ | |
PdfBackend, | |
Field( | |
description=( | |
"The PDF backend to use. String. " | |
f"Allowed values: {', '.join([v.value for v in PdfBackend])}. " | |
f"Optional, defaults to {PdfBackend.DLPARSE_V2.value}." | |
), | |
examples=[PdfBackend.DLPARSE_V2], | |
), | |
] = PdfBackend.DLPARSE_V2 | |
table_mode: Annotated[ | |
TableFormerMode, | |
Field( | |
TableFormerMode.FAST, | |
description=( | |
"Mode to use for table structure, String. " | |
f"Allowed values: {', '.join([v.value for v in TableFormerMode])}. " | |
"Optional, defaults to fast." | |
), | |
examples=[TableFormerMode.FAST], | |
# pattern="fast|accurate", | |
), | |
] = TableFormerMode.FAST | |
abort_on_error: Annotated[ | |
bool, | |
Field( | |
description=( | |
"Abort on error if enabled. Boolean. Optional, defaults to false." | |
), | |
# examples=[False], | |
), | |
] = False | |
return_as_file: Annotated[ | |
bool, | |
Field( | |
description=( | |
"Return the output as a zip file " | |
"(will happen anyway if multiple files are generated). " | |
"Boolean. Optional, defaults to false." | |
), | |
examples=[False], | |
), | |
] = False | |
do_table_structure: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, the table structure will be extracted. " | |
"Boolean. Optional, defaults to true." | |
), | |
examples=[True], | |
), | |
] = True | |
include_images: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, images will be extracted from the document. " | |
"Boolean. Optional, defaults to true." | |
), | |
examples=[True], | |
), | |
] = True | |
images_scale: Annotated[ | |
float, | |
Field( | |
description="Scale factor for images. Float. Optional, defaults to 2.0.", | |
examples=[2.0], | |
), | |
] = 2.0 | |
do_code_enrichment: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, perform OCR code enrichment. " | |
"Boolean. Optional, defaults to false." | |
), | |
examples=[False], | |
), | |
] = False | |
do_formula_enrichment: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, perform formula OCR, return Latex code. " | |
"Boolean. Optional, defaults to false." | |
), | |
examples=[False], | |
), | |
] = False | |
do_picture_classification: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, classify pictures in documents. " | |
"Boolean. Optional, defaults to false." | |
), | |
examples=[False], | |
), | |
] = False | |
do_picture_description: Annotated[ | |
bool, | |
Field( | |
description=( | |
"If enabled, describe pictures in documents. " | |
"Boolean. Optional, defaults to false." | |
), | |
examples=[False], | |
), | |
] = False | |