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]

[Deprecated] Google Cloud Document AI 解析器。

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

Notes

Deprecated since version 0.0.32.

初始化解析器。

参数:

client:要使用的DocumentProcessorServiceClient location:Document AI处理器所在的Google Cloud位置 gcs_output_path:用于存储解析结果的Google Cloud存储路径 processor_name:Document AI处理器或处理器版本的完整资源名称

您应该提供client或location(然后将实例化client)。

Methods

__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)

Parameters
  • client (Optional[DocumentProcessorServiceClient]) –

  • location (Optional[str]) –

  • gcs_output_path (Optional[str]) –

  • processor_name (Optional[str]) –

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

初始化解析器。

参数:

client:要使用的DocumentProcessorServiceClient location:Document AI处理器所在的Google Cloud位置 gcs_output_path:用于存储解析结果的Google Cloud存储路径 processor_name:Document AI处理器或处理器版本的完整资源名称

您应该提供client或location(然后将实例化client)。

Parameters
  • client (Optional[DocumentProcessorServiceClient]) –

  • location (Optional[str]) –

  • gcs_output_path (Optional[str]) –

  • processor_name (Optional[str]) –

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:要解析的blob列表。 gcs_output_path:用于存储解析结果的Google Cloud Storage路径。 timeout_sec:等待Document AI完成的超时时间,单位为秒。 check_in_interval_sec:等待下一次检查解析操作是否已完成的时间间隔,单位为秒。

这是一个长时间运行的操作。推荐的方法是将解析与创建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)
Parameters
  • blobs (Sequence[Blob]) –

  • gcs_output_path (Optional[str]) –

  • timeout_sec (int) –

  • check_in_interval_sec (int) –

Return type

Iterator[Document]

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:要解析的blob列表 gcs_output_path:用于存储结果的GCS路径(文件夹) processor_name:Document AI处理器的名称。 batch_size:每批文档的数量 enable_native_pdf_parsing:解析器的配置选项 field_mask:逗号分隔的要包含在Document AI响应中的字段列表。

建议:”text,pages.pageNumber,pages.layout”

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

Parameters
  • blobs (Sequence[Blob]) –

  • gcs_output_path (Optional[str]) –

  • processor_name (Optional[str]) –

  • batch_size (int) –

  • enable_native_pdf_parsing (bool) –

  • field_mask (Optional[str]) –

Return type

List[Operation]

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

operations (List[Operation]) –

Return type

List[DocAIParsingResults]

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

operations (List[Operation]) –

Return type

bool

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

解析一个懒惰的blob。

参数:

blobs: 要解析的Blob

这是一个长时间运行的操作。推荐的方法是将文档批量处理,并使用`batch_parse()`方法。

Parameters

blob (Blob) –

Return type

Iterator[Document]

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。 enable_native_pdf_parsing:启用pdf嵌入文本提取。 field_mask:逗号分隔的要包含在Document AI响应中的字段列表。

建议:”text,pages.pageNumber,pages.layout”

page_range:要解析的页面编号列表。如果为`None`,

将解析整个文档。

Parameters
  • blob (Blob) –

  • enable_native_pdf_parsing (bool) –

  • field_mask (Optional[str]) –

  • page_range (Optional[List[int]]) –

Return type

Iterator[Document]

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

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

Parameters

operation_names (List[str]) –

Return type

List[Operation]

parse(blob: Blob) List[Document]

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

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

生产应用程序应该更倾向于使用lazy_parse方法。

子类通常不应该覆盖这个解析方法。

参数:

blob:Blob实例

返回:

文档列表

Parameters

blob (Blob) –

Return type

List[Document]

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

results (List[DocAIParsingResults]) –

Return type

Iterator[Document]

Examples using DocAIParser