初始化提交
This commit is contained in:
commit
887c1f449e
963 files changed
+166869
No files matched your search
@@ -0,0 +1,49 @@
|
||||
"""
|
||||
天目引擎协议(Protocol)。
|
||||
|
||||
定义统一的引擎接口,两个引擎实现(RapidOCR / PaddleOCR-VL)均遵循此协议。
|
||||
调用方只需依赖协议,不依赖具体实现。
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Protocol, runtime_checkable
|
||||
|
||||
|
||||
@runtime_checkable
|
||||
class OCREngine(Protocol):
|
||||
"""OCR 引擎统一协议。"""
|
||||
|
||||
loaded: bool
|
||||
|
||||
async def load(self) -> None:
|
||||
"""初始化并加载模型。"""
|
||||
...
|
||||
|
||||
async def close(self) -> None:
|
||||
"""释放模型资源。"""
|
||||
...
|
||||
|
||||
async def health(self) -> dict:
|
||||
"""返回引擎健康状态。"""
|
||||
...
|
||||
|
||||
|
||||
class RapidOCRProtocol(OCREngine, Protocol):
|
||||
"""RapidOCR 引擎协议(含 recognize 方法)。"""
|
||||
|
||||
async def recognize(self, image_data: bytes | str) -> object:
|
||||
"""执行 OCR 识别,返回结构化响应。"""
|
||||
...
|
||||
|
||||
|
||||
class PaddleOCRVlProtocol(OCREngine, Protocol):
|
||||
"""PaddleOCR-VL 引擎协议(含 parse_document 方法)。"""
|
||||
|
||||
async def parse_document(
|
||||
self,
|
||||
image_data: bytes | str,
|
||||
output_format: str = "markdown",
|
||||
) -> object:
|
||||
"""解析文档图片,返回结构化文本。"""
|
||||
...
|
||||
Reference in new issue
Block a user