类别:

:doc:`/sql-reference/functions-string`(AI 函数)

AI_PARSE_DOCUMENT

备注

AI_PARSE_DOCUMENT 是 PARSE_DOCUMENT (SNOWFLAKE.CORTEX) 的更新版本。要获得最新功能,请使用 AI_PARSE_DOCUMENT。

以 JSON 格式字符串形式返回从 Snowflake 暂存区上文档中提取的内容。此函数支持两种类型的提取:光学字符识别 (OCR) 和布局。有关更多信息,请参阅 AISQL AI_PARSE_DOCUMENT

语法

AI_PARSE_DOCUMENT( '@<stage>', '<path>', [ <options> ] )
Copy

实参

必填:

stage

包含要解析的文档的 Snowflake 暂存区的名称。这必须是使用服务器端加密的内部或外部暂存区,并且可供执行该函数的用户访问。

path

Snowflake 暂存区上文档的相对路径。

可选:

options

包含用于解析文档的选项的 OBJECT 值。支持的键如下所示。所有键都是可选的。

  • 'mode':指定解析模式。支持的模式为:

    • 'OCR':函数仅提取文本。这是默认模式。

    • 'LAYOUT':函数提取布局和文本,包括表格等结构内容。

  • 'page_split':选择使用 时默认使用的角色和仓库。如果设置为 TRUE,则该函数将文档拆分为多个页面,并分别处理每个页面。此功能仅支持 PDF、PowerPoint (.pptx) 和 Word (.docx) 文档。其他格式的文档会返回错误。默认为 FALSE。

    小技巧

    要处理超出 AI_PARSE_DOCUMENT 令牌限制的长文档,请将此选项设置为 TRUE。

返回

包含提取的数据和关联的元数据的 JSON 对象(字符串形式)。options 实参决定了返回对象的结构。

小技巧

要在 SQL 中使用输出内容,请使用 PARSE_JSON 函数将其转换为 OBJECT 值。

如果设置了 'page_split' 选项,则输出具有以下结构:

  • "pages":一个 JSON 对象数组,每个对象都包含从文档中提取的文本。如果文档只有一页,则输出仍包含一个 "pages" 数组(该数组只包含一个对象)。每个页面都有以下字段:

    • "content":纯文本(在 OCR 模式中)或 Markdown 格式的文本(在 LAYOUT 模式中)。

    • "index":文件中的页面索引,从 0 开始。在文档中指定的页码和格式将被忽略。

  • "errorInformation":如果文档无法被解析,则包含错误信息。

  • "metadata":包含有关文档的元数据,例如页数。

备注

解析成功时,"pages""metadata" 字段会出现在输出中。"errorInformation" 仅在解析失败时才会出现。

如果 'page_split' 为 FALSE 或不存在,则输出具有以下结构:

  • "content":纯文本(在 OCR 模式中)或 Markdown 格式的文本(在 LAYOUT 模式中)。

  • "errorInformation":如果文档无法被解析,则包含错误信息。

  • "metadata":包含有关文档的元数据,例如页数。

备注

解析成功时,"content""metadata" 字段会出现在输出中。"errorInformation" 仅在解析失败时才会出现。

示例

有关示例,请参阅 AI_PARSE_DOCUMENT 示例

限制

Snowflake Cortex 函数不支持动态表。

语言: 中文