Skip to main content

OCRConverter

Converter
DashAI.back.converters.document.OCRConverter

Read the text in Image items with GOT-OCR 2.0.

stepfun-ai/GOT-OCR-2.0-hf reads printed text, including whole pages, in many languages. Each image with text gives a paragraph item.

Parameters​

keep_image : boolean, default=True
Keep each image and insert its text right after it. Off, each image is replaced by its text, and images without text are removed.
max_tokens : integer, default=2048
Most text read from one image, in model tokens. Raise it for full pages of small print.
device : string, default=CPU
Device the model runs on. A GPU is much faster than the CPU.

Methods​

load_pretrained(self, source: str) -> Tuple[Any, Any]

Defined on OCRConverter

Load the GOT-OCR processor and model.

Parameters

source : str
A local directory or the Hub repo id.

Returns

Tuple[Any, Any]
The processor and the model, in evaluation mode on the device.

read_images(self, images: List[Any]) -> List[str]

Defined on OCRConverter

Read the text of a batch of images.

Parameters

images : List[PIL.Image.Image]
RGB images.

Returns

List[str]
The text of each image.

build_report(self, data: 'Dict[str, Any]') -> 'Dict[str, Any]'

Defined on BaseConverter

Wrap converter-specific data with the producer converter name.

component_dir(cls) -> pathlib.Path

Defined on DownloadableMixin

Return this component's own storage directory.

Returns

pathlib.Path
<COMPONENT_PATH>/<ClassName>.

delete(cls) -> None

Defined on DownloadableMixin

Remove the component's downloaded artifacts.

download(cls, report: Optional[Callable[[Optional[float], Optional[str]], NoneType]] = None) -> None

Defined on HFDownloadableMixin

Download all repos listed in hf_repos() into component_dir().

Parameters

report : ProgressReporter, optional
Callback invoked before each repo download with report(None, "Downloading <repo_id>"). None means no progress reporting.

fit(self, x: 'DashAIDataset', y: Optional[ForwardRef('DashAIDataset')] = None) -> 'DocumentConverter'

Defined on DocumentConverter

Return the converter unchanged; override to learn from the items.

Parameters

x : DashAIDataset
The selected items.
y : DashAIDataset, optional
Ignored.

Returns

DocumentConverter
This converter.

get_credential(self, name: str)

Defined on ConfigObject

Resolve a registered credential component by name.

Parameters

name : str
Credential component class name (e.g. "HuggingFaceCredential").

Returns

BaseCredential
An instance of the requested credential component.

get_metadata(cls) -> 'Dict[str, Any]'

Defined on BaseConverter

Get metadata for the converter, used by the DashAI frontend.

Parameters

cls : type
The converter class (injected automatically by Python for classmethods).

Returns

Dict[str, Any]
Dictionary containing display name, short description, image preview path, category, icon, color, and whether the converter is supervised.

get_output_type(self, column_name: Optional[str] = None) -> DashAI.back.types.dashai_data_type.DashAIDataType

Defined on DocumentConverter

Return Text, the content type most document converters produce.

Parameters

column_name : str, optional
Unused.

Returns

DashAIDataType
A string backed Text type.

get_report(self) -> 'Union[Dict[str, Any], None]'

Defined on BaseConverter

Return the converter report produced after execution, if any.

Returns

Dict[str, Any] or None
JSON-serializable report dict, or None when the converter does not produce one.

get_schema(cls) -> dict

Defined on ConfigObject

Generates the component related Json Schema.

Returns

dict
Dictionary representing the Json Schema of the component.

hf_repos(cls)

Defined on HFPretrainedDownloadMixin

Derive the single repo entry from MODEL_NAME.

Returns

list of tuple of (str, str)
[(MODEL_NAME, "model")] or an empty list when unset.

infer_output_columns(self, inputs: 'List[StateItem]') -> 'StructureDelta'

Defined on BaseConverter

Estimate what this converter does to its scope, without any data.

Parameters

inputs : list of ColumnItem | BlockItem
The dataset state items in this converter's scope.

Returns

StructureDelta
The scope items that survive (maybe retyped) and the new items.

is_downloaded(cls) -> bool

Defined on HFDownloadableMixin

Return whether all repo directories exist and are non-empty.

Returns

bool
True when every repo listed in hf_repos() has a non-empty local directory; False otherwise (including when the list is empty).

items_result(contents: List[Any], sources: List[int], content_type: type = <class 'DashAI.back.types.value_types.Text'>, kinds: Optional[List[Optional[str]]] = None, attrs: Optional[List[Optional[Dict[str, Any]]]] = None) -> 'DashAIDataset'

Defined on DocumentConverter

Build the dataset a document converter returns.

Parameters

contents : List[Any]
The new item contents: strings for Text, &#123;"bytes", "path"&#125; dicts for images.
sources : List[int]
For each new item, the index of the input row it comes from.
content_type : type, optional
Text (default) or DashAIImage.
kinds : List[Optional[str]], optional
The element kind of each new item; None inherits or defaults.
attrs : List[Optional[Dict[str, Any]]], optional
The element attributes of each new item.

Returns

DashAIDataset
content and source columns, plus kind and attrs when given.

pretrained(self) -> Any

Defined on PretrainedTool

Return the loaded model, loading it on first use.

Returns

Any
The value :meth:load_pretrained returned.

rows_to_keep(self, x: "'DashAIDataset'") -> 'List[int]'

Defined on BaseConverter

Positions of the rows of x that survive this converter.

Parameters

x : DashAIDataset
The converter's scope columns of one split.

Returns

list of int
0-based positions of the kept rows, in order.

setup_device(self, label: Optional[str]) -> None

Defined on PretrainedTool

Choose the device and forget any loaded model.

Parameters

label : str, optional
The device parameter.

transform(self, x: 'DashAIDataset', y: Optional[ForwardRef('DashAIDataset')] = None) -> 'DashAIDataset'

Defined on ImageReader

Return one Text item for every image with text.

Parameters

x : DashAIDataset
The selected Image items, in one column.
y : DashAIDataset, optional
Ignored.

Returns

DashAIDataset
The text of each image that has some, with its source row.

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.

Parameters

raw_data : dict
A dictionary with the data provided by the user to initialize the model.

Returns

dict
A validated dictionary with the necessary objects.