Cortex Parse Document 概述¶
PARSE_DOCUMENT 函数是 Cortex AI:ref:特定于任务的函数<label-cortex_llm_functions>
,允许您从存储在内部或外部暂存区的文档中提取文本或布局。PARSE_DOCUMENT 结合强大的光学字符识别 (OCR) 功能和机器学习模型来识别文本内容、表格中存储的信息以及 PDF 文档的结构元素。您可以使用 PARSE_DOCUMENT 函数来提取文本和文档布局,以便在大型商业文档档案中建立信息检索系统,并将提取的信息加载到结构化 Snowflake 表中,供您的应用程序使用。
Parse Document 的工作原理¶
PARSE_DOCUMENT 函数提供 OCR(默认)和 LAYOUT 模式用于处理 PDF 文档。
PARSE_DOCUMENTOCR(默认) 模式针对从包含大量文本的文档中提取文本进行了优化。推荐使用此选项,以便快速、简便、有效地从语义结构不强的文档中提取文本。
**PARSE_DOCUMENTLAYOUT(可选)**模式针对提取文本和表等布局元素进行了优化。这是改进文档知识库上下文以优化检索信息系统和大型语言模型 (LLM) 推理的推荐选项。例如,您可以使用 LAYOUT 元素来隔离文本部分,以完成更有针对性的实体提取任务。
使用 Parse Document¶
Cortex PARSE_DOCUMENT 函数是一种 SQL 函数。由于它完全由 Snowflake 托管和管理,因此无需设置即可使用。这意味着您可以将 PARSE_DOCUMENT 函数指向存储 PDF 文档的暂存区,以提取文本或布局数据。以下示例从 parse_document
数据库和 demo
架构中的 documents
暂存区文件 document_1.pdf
中提取文本和布局信息。
备注
PARSE_DOCUMENT 目前与自定义 网络策略 不兼容。
SELECT
SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
@parse_document.demo.documents,
'document_1.pdf',
{'mode': 'LAYOUT'}
) AS layout;
PARSE_DOCUMENT 支持处理存储在 Snowflake 内部或外部暂存区的文档。创建暂存区时,须进行 服务器端加密。否则,PARSE_DOCUMENT 将返回错误,提示所提供的文件不是预期格式或已在客户端加密。
CREATE STAGE input_stage
DIRECTORY = ( ENABLE = true )
ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
输入要求¶
Cortex PARSE_DOCUMENT 函数目前已针对以数字方式创建的文档(而非硬拷贝扫描文档)进行了优化。下表列出了输入文档的限制和要求:
最大文件大小 |
100 MB |
每个文档的最大页数 |
100 页 |
允许的文件类型 |
|
暂存区加密 |
服务器端加密 |
备注
PARSE_DOCUMENT 目前尚未针对使用非拉丁字符的语言(如中文、日语和泰语)进行优化。预览版支持法语、葡萄牙语、意大利语、德语、西班牙语、瑞典语和挪威语,并且正在进一步优化。
主要功能¶
函数 |
描述 |
---|---|
页面方向 |
PARSE_DOCUMENT 自动检测页面方向。 |
字符 |
PARSE 文档检测以下字符:
|
语言 |
PARSE_DOCUMENT 针对英语进行了优化。预览版还支持法语、葡萄牙语、意大利语、德语、西班牙语、瑞典语和挪威语。 |
区域可用性¶
以下 Snowflake 区域的账户支持此功能:
AWS |
Azure |
---|---|
US 西部 2(俄勒冈州) |
US 东部 2(弗吉尼亚州) |
US 东部(俄亥俄州) |
欧洲西部(荷兰) |
US 东部 1(弗吉尼亚北部) |
|
欧洲(爱尔兰) |
|
欧洲中部 1(法兰克福) |
访问控制要求¶
要使用 PARSE_DOCUMENT 函数,ACCOUNTADMIN 角色用户须将 SNOWFLAKE.CORTEX_USER 数据库角色授予将调用该函数的用户。有关详细信息,请参阅 所需权限 主题。
成本注意事项¶
Cortex PARSE_DOCUMENT 函数在此预览期间不会产生文档处理的计算成本。预计之后将根据文档处理情况按比例计费。
即使在预览期间没有计算成本,也必须选择一个仓库来执行调用函数的查询。Snowflake 建议在使用较小仓库(不大于 MEDIUM)的情况下执行调用 Cortex PARSE_DOCUMENT 函数的查询,因为较大的仓库不会提高性能。
错误条件¶
Snowflake Cortex PARSE_DOCUMENT 可能会生成以下错误消息:
消息 |
解释 |
---|---|
提供的文件不是预期的格式。确保文件是 PDF。 |
文档非有效 PDF 时返回。 |
超出了最大页数 100 页。 |
PDF 包含超过 100 页时返回。 |
超出了最大文件大小 104857600 字节。 |
文档大于 100 MB 时返回。 |
无法找到或访问提供的文件。 |
文件不存在。 |
内部错误。 |
出现系统错误。等待并重试。 |
将 PARSE_DOCUMENT 纳入 RAG 管道¶
检索增强生成 (RAG) 是一种从知识库中检索数据以增强 LLM 的生成响应的技术。从各种文档中提取的内容的质量和上下文是文档搜索系统检索性能的基础。PARSE_DOCUMENTLAYOUT 模式可让您轻松实现高级内容提取,同时保持文档结构的完整性,使您可以轻松地将文本划分为简洁、独立完整的文本单元。这反过来使您能够实现语义分块而不是依赖任意字符拆分,以及执行有针对性的问答和总结。
法律声明¶
输入和输出的 Data Classification 如下表所示。
输入 Data Classification |
输出 Data Classification |
名称 |
---|---|---|
Usage Data |
Customer Data |
Preview AI Features [1] |
有关更多信息,请参阅 Snowflake AI 和 ML。