langchain_google_community.docai
.DocAIParser¶
- class langchain_google_community.docai.DocAIParser(*, client: Optional[DocumentProcessorServiceClient] = None, location: Optional[str] = None, gcs_output_path: Optional[str] = None, processor_name: Optional[str] = None)[source]¶
Google Cloud Document AI 解析器。
有关 Document AI 的详细说明,请参阅产品文档。 https://cloud.google.com/document-ai/docs/overview
初始化解析器。
- 参数
client (Optional[DocumentProcessorServiceClient]) – 要使用的 DocumentProcessorServiceClient
location (Optional[str]) – Google Cloud 位置,Document AI 处理器位于该位置
gcs_output_path (Optional[str]) – Google Cloud Storage 上的路径,用于存储解析结果
processor_name (Optional[str]) – Document AI 处理器或处理器版本的完整资源名称
- 您应该提供客户端或位置(然后将实例化客户端)。
would be instantiated).
方法
__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]) – Google Cloud 位置,Document AI 处理器位于该位置
gcs_output_path (Optional[str]) – Google Cloud Storage 上的路径,用于存储解析结果
processor_name (Optional[str]) – Document AI 处理器或处理器版本的完整资源名称
- 您应该提供客户端或位置(然后将实例化客户端)。
would be instantiated).
- 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)
parsing from creating LangChain Documents: >>> operations = parser.docai_parse(blobs, gcs_path) >>> parser.is_running(operations) You can get operations names and save them: >>> names = [op.operation.name for op in operations] And when all operations are finished, you can use their results: >>> 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]
- lazy_parse(blob: Blob) Iterator[Document] [source]¶
延迟解析一个 blob。
- 这是一个长时间运行的操作。 推荐的方法是将文档批量处理在一起并使用 batch_parse() 方法。
documents together and use the batch_parse() method.
- 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。
- 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 方法。
- parse_from_results(results: List[DocAIParsingResults]) Iterator[Document] [source]¶
- 参数
results (List[DocAIParsingResults]) –
- 返回类型
Iterator[Document]