类别:

:doc:`/sql-reference/functions-string`(大型语言模型)

PARSE_DOCUMENT (SNOWFLAKE.CORTEX)

返回从 Snowflake 暂存区上文档中提取的内容,作为 OBJECT,包含作为字符串的 JSON 编码对象。此功能支持两种提取类型,光学字符识别 (OCR) 和布局。要了解更多信息,请参阅 Cortex PARSE_DOCUMENT 函数

语法

SNOWFLAKE.CORTEX.PARSE_DOCUMENT( '@<stage>', '<path>', [ { 'mode': '<mode>' }, ] )
Copy

实参

必填:

stage

Snowflake 暂存区的名称。

path

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

可选:

mode

返回类型 OBJECT 的值。在对象中,键 content 的值包含提取的数据作为 JSON 编码的字符串。数据可以根据调用中指定的模式以格式化或纯文本的形式存在。

  • 如果 modeLAYOUT,那么数据是包含表的结构化内容的 Markdown。

  • 如果 modeOCR,那么数据是文本内容。

默认:'OCR'

返回

包含提取的数据的 OBJECT 数据类型。内容取决于调用中使用的模式:

  • LAYOUT 模式:具有键“content”的 JSON,包含从文档中提取的带有表的 Markdown。

  • OCR 模式:具有键“content”的 JSON,包含文档中的文本内容。

示例

OCR 模式

SELECT TO_VARCHAR(
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'OCR'}):content
    ) AS OCR;
Copy

输出:

{
    "content of the document"
}

LAYOUT 模式

此示例解析了一个文档,其中包含以下截图所示的表:

附有表的 PDF 内容示例
SELECT
  TO_VARCHAR (
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT (
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'LAYOUT'} ):content ) AS LAYOUT;
Copy

输出:

{
  "content": "# This is PARSE DOCUMENT example
     Example table:
     |Header|Second header|Third Header|
     |:---:|:---:|:---:|
     |First row header|Data in first row|Data in first row|
     |Second row header|Data in second row.|Data in second row.|

     Some more text."
 }
语言: 中文