- 类别:
: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> ] )
实参¶
必填:
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 函数不支持动态表。