DocAIParser#

class langchain_google_community.docai.DocAIParser(*, client: DocumentProcessorServiceClient | None = None, project_id: str | None = None, location: str | None = None, gcs_output_path: str | None = None, processor_name: str | None = None)[source]#

Google Cloud Document AI 解析器。

有关Document AI的详细解释,请参阅产品文档。 https://cloud.google.com/document-ai/docs/overview

初始化解析器。

Parameters:
  • client (DocumentProcessorServiceClient | None) – 使用的 DocumentProcessorServiceClient

  • location (str | None) – 一个Google Cloud位置,其中有一个Document AI处理器

  • gcs_output_path (str | None) – 在Google Cloud Storage上存储解析结果的路径

  • processor_name (str | None) – Document AI 处理器或处理器版本的完整资源名称

  • project_id (str | None)

You should provide either a client or location (and then a client

将被实例化。

方法

__init__(*[, client, project_id, location, ...])

初始化解析器。

batch_parse(blobs[, gcs_output_path, ...])

懒解析一个blob列表。

docai_parse(blobs, *[, gcs_output_path, ...])

对一组blobs运行Google Document AI PDF批处理。

get_results(operations)

is_running(operations)

lazy_parse(blob)

懒解析一个blob。

online_process(blob[, field_mask])

使用在线处理懒解析一个blob。

operations_from_names(operation_names)

从它们的名称初始化长时间运行的操作。

parse(blob)

急切地将blob解析为一个或多个文档。

parse_from_results(results)

__init__(*, client: DocumentProcessorServiceClient | None = None, project_id: str | None = None, location: str | None = None, gcs_output_path: str | None = None, processor_name: str | None = None)[source]#

初始化解析器。

Parameters:
  • client (DocumentProcessorServiceClient | None) – 使用的 DocumentProcessorServiceClient

  • location (str | None) – 一个Google Cloud位置,其中有一个Document AI处理器

  • gcs_output_path (str | None) – 在Google Cloud Storage上存储解析结果的路径

  • processor_name (str | None) – Document AI 处理器或处理器版本的完整资源名称

  • project_id (str | None)

You should provide either a client or location (and then a client

将被实例化。

batch_parse(blobs: Sequence[Blob], gcs_output_path: str | None = None, timeout_sec: int = 3600, check_in_interval_sec: int = 60, **process_options_kwargs: Any) Iterator[Document][来源]#

惰性地解析一个blob列表。

Parameters:
  • blobs (Sequence[Blob]) – 要解析的blob列表。

  • gcs_output_path (str | None) – 在Google Cloud Storage上存储解析结果的路径。

  • timeout_sec (int) – 等待Document AI完成的超时时间,单位为秒。

  • check_in_interval_sec (int) – 等待下一次检查解析操作是否完成的间隔时间,单位为秒。

  • process_options_kwargs (Any) – 传递给文档AI处理器的可选参数

Return type:

迭代器[文档]

This is a long-running operation. A recommended way is to decouple

从创建LangChain文档解析: >>> operations = parser.docai_parse(blobs, gcs_path) >>> parser.is_running(operations) 你可以获取操作名称并保存它们: >>> names = [op.operation.name for op in operations] 当所有操作完成后,你可以使用它们的结果: >>> operations = parser.operations_from_names(operation_names) >>> results = parser.get_results(operations) >>> docs = parser.parse_from_results(results)

docai_parse(blobs: Sequence[Blob], *, gcs_output_path: str | None = None, processor_name: str | None = None, batch_size: int = 1000, field_mask: str | None = None, **process_options_kwargs: Any) List[Operation][source]#

在blob列表上运行Google Document AI PDF批量处理。

Parameters:
  • blobs (Sequence[Blob]) – 要解析的blob列表

  • gcs_output_path (str | None) – 用于存储结果的GCS上的路径(文件夹)

  • processor_name (str | None) – Document AI 处理器的名称。

  • batch_size (int) – 每批文档的数量

  • field_mask (str | None) – 一个逗号分隔的列表,指定在Document AI响应中包含哪些字段。 建议: “text,pages.pageNumber,pages.layout”

  • process_options_kwargs (Any) – 传递给文档AI处理器的可选参数

Return type:

列表[Operation]

Document AI 每批次有 1000 个文件的限制,因此超过该数量的批次需要拆分为多个请求。批处理是一个异步长时间运行的操作,结果存储在输出 GCS 存储桶中。

get_results(operations: List[Operation]) List[DocAIParsingResults][source]#
Parameters:

操作 (列表[Operation])

Return type:

列表[DocAIParsingResults]

is_running(operations: List[Operation]) bool[source]#
Parameters:

操作 (列表[Operation])

Return type:

布尔

lazy_parse(blob: Blob) Iterator[Document][来源]#

懒散地解析一个blob。

Parameters:
  • blobs – 要解析的Blob

  • blob (Blob)

Return type:

迭代器[文档]

This is a long-running operation. A recommended way is to batch

将文档合并并使用batch_parse()方法。

online_process(blob: Blob, field_mask: str | None = None, **process_options_kwargs: Any) Iterator[Document][source]#

使用在线处理懒解析一个blob。

Parameters:
  • blob (Blob) – 要解析的blob。

  • field_mask (str | None) – 一个逗号分隔的列表,指定在Document AI响应中包含哪些字段。 建议: “text,pages.pageNumber,pages.layout”

  • process_options_kwargs (Any) – 传递给文档AI处理器的可选参数

Return type:

迭代器[文档]

operations_from_names(operation_names: List[str]) List[Operation][source]#

从其名称初始化长时间运行的操作。

Parameters:

operation_names (列表[字符串])

Return type:

列表[Operation]

parse(blob: Blob) list[Document]#

急切地将blob解析为一个或多个文档。

这是一个用于交互式开发环境的便捷方法。

生产应用程序应优先使用lazy_parse方法。

子类通常不应重写此解析方法。

Parameters:

blob (Blob) – Blob 实例

Returns:

文档列表

Return type:

列表[Document]

parse_from_results(results: List[DocAIParsingResults]) Iterator[Document][source]#
Parameters:

结果 (列表[DocAIParsingResults])

Return type:

迭代器[文档]