类别:

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

AI_EXTRACT(Document AI 旧模型)

从文件中提取信息。

语法

AI_EXTRACT ( model => <model> ,
            file => <file> )
Copy

实参

model => model

指定存储于 Snowflake Model Registry 中的 Document AI Arctic-TILT 模型用于提取任务;示例:my_db.my_schema.my_model

file => file

用于提取的 FILE

返回

实体提取

{
  "error": null,
  "response": {
    "invoice_items": [
      "NEW CRUSHED VELVET DIVAN BED",
      "Vintage Radiator",
      "Solid Wooden Worktop",
      "Sienna Crushed Velvet Curtains"
    ],
    "invoice_number": "123/20",
    "tax_amount": "77.57",
    "total_amount": "465.43 GBP",
    "vendor_name": "UK Exports & Imports Ltd"
  }
}

表提取

{
  "error": null,
  "response": {
    "table1": {
      "gross": ["10", "31", "10"],
      "item": ["apples", "banana", "pear"],
      "net": ["9", "30", "10"],
      "tax": ["1", "1", ""]
    },
    "table2": {
      "name": ["John", "Ana", "Lisa"],
      "surname": ["Smith", "Nixon", "Gonzales"]
    }
  }
}

访问控制要求

用户必须使用已被授予 SNOWFLAKE.CORTEX_USER 数据库角色 的角色。有关授予此权限的信息,请参阅 Cortex LLM privileges

此外,您还必须拥有模型的 OWNERSHIP 权限。

使用说明

  • 模型必须位于 Snowflake Model Registry。要将模型迁移到 Snowflake Model Registry,请转到 Document AI UI,并在出现提示时,按照集成横幅上的说明进行操作。

  • Document AI 模型的实体不应超过 100 个。

  • 若未明确设置,默认将使用最新的可用模型版本(即模型在 Document AI UI 中发布或训练时设定的版本)。要设置模型的默认版本,请使用 ALTER MODEL 命令,如以下示例所示:

    ALTER MODEL my_model SET DEFAULT_VERSION = new_version;
    
    Copy
  • 不支持置信度分数。

  • AI_EXTRACT 采用基于令牌的计费方式,这与 <model_build_name>!PREDICT 方法中基于计算时长的计费模式不同。有关 Document AI 旧版模型的 AI_EXTRACT 成本的更多信息,请参阅 Snowflake 服务消耗表

    • 实体提取成本标记为 arctic-tilt-entity

    • 表提取成本标记为 arctic-tilt-table

区域可用性

以下区域可用:

  • AWS 加拿大(中部)

  • AWS EU (法兰克福)

  • AWS EU(爱尔兰)

  • AWS US 东部(弗吉尼亚北部)

  • AWS US 东部(俄亥俄州)

  • AWS US 西部(俄勒冈州)

  • Azure 澳大利亚东部(新南威尔士州)

  • Azure 东部 US 2(弗吉尼亚)

  • Azure 东南亚(新加坡)

  • Azure 欧洲西部(荷兰)

  • Azure 西部 US 2(华盛顿)

如果您所在的区域未列出,请使用 跨区域推理

示例

以下示例提取了 Document AI 模型中定义的功能:

SELECT AI_EXTRACT(
  model => 'my_db.my_schema.my_model',
  file => TO_FILE('@files_db.files_schema.files', 'agreement.pdf')
);
Copy

以下示例从暂存区上目录的所有文件中提取信息:

SELECT AI_EXTRACT(
  model => 'my_db.my_schema.my_model',
  file => TO_FILE('@db.schema.files', relative_path)
) FROM DIRECTORY (@db.schema.files);
Copy
语言: 中文