Cortex AI 函数:使用 AI_PARSE_DOCUMENT 进行图像提取¶
AI_PARSE_DOCUMENT 是一项 Cortex AI 函数,可从 PDFs、Word 文档和图像中提取文本、数据、布局元素及图像。利用这种高保真图像提取能力,可以为高级多模态文档处理工作流提供支持,例如:
丰富数据:从文档中提取图像以增加视觉上下文,从而获得更深入的见解。
多模态 RAG:将图像与文本结合进行检索增强生成 (RAG),以改进模型响应。
图像分类:将提取的图像与 AI_EXTRACT 或 AI_COMPLETE 结合使用,进行自动标记和分析。
知识库:通过包含文本和图像来构建更丰富的知识库,实现更好的搜索和推理。
合规性:提取并分析图像(例如图表、签名)以用于监管和审计工作流。
有关 AI_PARSE_DOCUMENT 的简介,请参阅 Parsing documents with AI_PARSE_DOCUMENT。
使用 AI_PARSE_DOCUMENT 提取图像¶
要使用 AI_PARSE_DOCUMENT 从文档中提取图像,请执行以下步骤:
将
'mode'选项设置为'LAYOUT'。图像提取需要使用 LAYOUT 模式。将
'extract_images'选项设置为 TRUE。
AI_PARSE_DOCUMENT 图像提取会在 JSON 输出中返回一个名为 images 的数组。images 的每个元素都包含一个 image_base64 字段,其中包含以 base64 字符串编码的提取图像数据。图像的 OBJECT_CONSTRUCT 还包含唯一 ID 和图像边界框字段。
您可以使用 BASE64_DECODE_BINARY 对图像进行解码,然后将其直接传递给 AI_EXTRACT 以处理或描述图像内容。或者,您可以将其存储在暂存区中,以便使用多模态 AI_COMPLETE 进行处理。(AI_COMPLETE 目前不支持直接输入图像。)
示例¶
提取和描述图像¶
提取图像数据后,您可以使用 AI_EXTRACT 处理或描述图像内容。以下示例在将首个提取出的图像从 base64 转换为二进制格式后,为其生成描述。(AI_EXTRACT 需要二进制输入。)该查询使用正则表达式从 base64 字符串中去除元数据(架构和格式)。
将提取的图像存储在暂存区中¶
您可以将从文档中提取的图像存储在 Snowflake 暂存区中,以便重复使用、审计或利用其他 Cortex AI 函数进行额外处理。本示例创建并使用了一个 Python 存储过程,用于对来自 AI_PARSE_DOCUMENT 的 base64 图像数据进行解码,并将生成的图像文件上传到指定的暂存区。
在创建 SAVE_EXTRACTED_IMAGES 储过程之后,您可以调用它从文档中提取图像并将其存储在暂存区中,如下方代码片段所示:
此查询的输出是存储在指定暂存区中的镜像的文件路径列表,例如:
现在,您可以使用其他 Cortex AI 函数处理存储的图像,例如使用 AI_COMPLETE 进行多模态分析或生成。
响应:
成本注意事项¶
AI_PARSE_DOCUMENT 按处理的文档页数计费。在计费时,单个图像文件被视为一页。提取图像不会产生额外费用。
当前限制¶
单份文档中提取的图像不得超过 50 张。超出部分的图像将被忽略。
不会提取小于 4x4 像素的图像。
如果响应大小超过账户参数 EXTERNAL_FUNCTION_MAx_RESPONSE_SIZE,函数将返回错误。如有必要,请增加该参数的值。