langchain_community.document_loaders.parsers.docai.DocAIParser

class langchain_community.document_loaders.parsers.docai.DocAIParser(*, client: Optional[DocumentProcessorServiceClient] = None, location: Optional[str] = None, gcs_output_path: Optional[str] = None, processor_name: Optional[str] = None)[source]

0.0.32 版本弃用: 请使用 langchain_google_community.DocAIParser 代替。

Google Cloud Document AI 解析器。

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

初始化解析器。

参数
  • client (Optional[DocumentProcessorServiceClient]) – 要使用的 DocumentProcessorServiceClient

  • location (Optional[str]) – Document AI 处理器所在的 Google Cloud 位置

  • gcs_output_path (Optional[str]) – Google Cloud Storage 上用于存储解析结果的路径

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

您应该提供客户端或位置(然后将实例化客户端)。

将会被实例化)。

方法

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

初始化解析器。

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

延迟地解析 blob 列表。

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

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

get_results(operations)

is_running(operations)

lazy_parse(blob)

延迟地解析 blob。

online_process(blob[, ...])

使用在线处理延迟地解析 blob。

operations_from_names(operation_names)

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

parse(blob)

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

parse_from_results(results)

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

初始化解析器。

参数
  • client (Optional[DocumentProcessorServiceClient]) – 要使用的 DocumentProcessorServiceClient

  • location (Optional[str]) – Document AI 处理器所在的 Google Cloud 位置

  • gcs_output_path (Optional[str]) – Google Cloud Storage 上用于存储解析结果的路径

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

您应该提供客户端或位置(然后将实例化客户端)。

将会被实例化)。

batch_parse(blobs: Sequence[Blob], gcs_output_path: Optional[str] = None, timeout_sec: int = 3600, check_in_interval_sec: int = 60) Iterator[Document][source]

延迟地解析 blob 列表。

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

  • gcs_output_path (Optional[str]) – Google Cloud Storage 上用于存储解析结果的路径。

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

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

返回类型

Iterator[Document]

这是一个长时间运行的操作。推荐的方法是将

解析与创建 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: Optional[str] = None, processor_name: Optional[str] = None, batch_size: int = 1000, enable_native_pdf_parsing: bool = True, field_mask: Optional[str] = None) List[Operation][source]

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

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

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

  • processor_name (Optional[str]) – Document AI 处理器的名称。

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

  • enable_native_pdf_parsing (bool) – 解析器的配置选项

  • field_mask (Optional[str]) – 逗号分隔的列表,指示要在 Document AI 响应中包含哪些字段。 建议:“text,pages.pageNumber,pages.layout”

返回类型

List[Operation]

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

get_results(operations: List[Operation]) List[DocAIParsingResults][source]
参数

operations (List[Operation]) –

返回类型

List[DocAIParsingResults]

is_running(operations: List[Operation]) bool[source]
参数

operations (List[Operation]) –

返回类型

bool

lazy_parse(blob: Blob) Iterator[Document][source]

延迟地解析 blob。

参数
  • blobs – 要解析的 Blob

  • blob (Blob) –

返回类型

Iterator[Document]

这是一个长时间运行的操作。推荐的方法是将

文档批量处理在一起并使用 batch_parse() 方法。

online_process(blob: Blob, enable_native_pdf_parsing: bool = True, field_mask: Optional[str] = None, page_range: Optional[List[int]] = None) Iterator[Document][source]

使用在线处理延迟地解析 blob。

参数
  • blob (Blob) – 要解析的 blob。

  • enable_native_pdf_parsing (bool) – 启用 pdf 嵌入文本提取

  • field_mask (Optional[str]) – 逗号分隔的列表,指示要在 Document AI 响应中包含哪些字段。 建议:“text,pages.pageNumber,pages.layout”

  • page_range (Optional[List[int]]) – 要解析的页码列表。 如果为 None,则将解析整个文档。

返回类型

Iterator[Document]

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

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

参数

operation_names (List[str]) –

返回类型

List[Operation]

parse(blob: Blob) List[Document]

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

这是交互式开发环境的便捷方法。

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

子类通常不应覆盖此 parse 方法。

参数

blob (Blob) – Blob 实例

返回

文档列表

返回类型

List[Document]

parse_from_results(results: List[DocAIParsingResults]) Iterator[Document][source]
参数

results (List[DocAIParsingResults]) –

返回类型

Iterator[Document]