类别:

字符串和二进制函数 (AI Functions)

AI_EMBED

备注

AI_EMBED 是 EMBED_TEXT_1024 (SNOWFLAKE.CORTEX) and EMBED_TEXT_768 (SNOWFLAKE.CORTEX) 的更新版本。要获得最新功能,请使用 AI_EMBED。

根据文本或图像创建嵌入向量。嵌入是对文本片段或图像的特征的抽象数字表示,可用于确定文本或图像片段之间的相似程度,从而用于语义搜索、群集、分类和其他任务。

区域可用性

下表显示了可以在其中使用 AI_EMBED 函数来处理文本和图像的区域:

数据类型
AWS US 西部 2
(俄勒冈)
AWS US 东部 1
(弗吉尼亚北部)
AWS 欧洲中部 1
(法兰克福)
AWS 欧洲西部 1
(爱尔兰)
AWS AP 东南部 2
(悉尼)
AWS AP 东北部 1
(东京)
Azure 东部 US 2
(弗吉尼亚)
Azure 西欧
(荷兰)
AWS
(跨区域)
文本

图像

语法

AI_EMBED( <model> , <input> )
Copy

实参

必填:

model

一个字符串,指定用于生成嵌入的向量嵌入模型。

对于文本,您可以提供以下值:

  • snowflake-arctic-embed-l-v2.0

  • snowflake-arctic-embed-l-v2.0-8k

  • nv-embed-qa-4

  • multilingual-e5-large

  • voyage-multilingual-2

  • snowflake-arctic-embed-m-v1.5

  • snowflake-arctic-embed-m

  • e5-base-v2

对于图像,您只能提供以下值:

  • voyage-multimodal-3

受支持的模型可能会产生不同的 费用

input

用于生成嵌入的字符串或图像(作为 FILE 对象)。图像必须:

  • 采用 JPEG、WEBP、PNG 或 BMP 格式

  • 大小不超过 10 MB

  • 不超过 8,000 x 8,000 像素

返回

源自输入文本或图像的 VECTOR 类型的嵌入向量。

访问控制要求

您必须使用具有 SNOWFLAKE.CORTEX_USER 数据库角色 的角色。有关此权限的更多信息,请参阅 所需权限

示例

文本示例

在这个示例中,使用 snowflake-arctic-embed-l-v2.0 模型为短语 hello world 生成向量嵌入:

SELECT AI_EMBED('snowflake-arctic-embed-l-v2.0', 'hello world');
Copy

图像示例

在这个示例中,使用 voyage-multimodal-3 模型为暂存的图像生成向量嵌入:

SELECT AI_EMBED('voyage-multimodal-3',
        TO_FILE ('@my_images', 'CITY_WALKING1.PNG'));
Copy

限制

  • Snowflake AI 函数不支持动态表增量刷新。

  • Snowflake AI 函数不适用于在以下类型的暂存区中通过文件创建的 FILE 对象:

    • 具有加密模式 TYPE = 'SNOWFLAKE_FULL' 的内部暂存区

    • 使用任何客户端加密模式的外部暂存区,例如 AWS_CSEAZURE_CSE

    • 用户暂存区

    • 表暂存区

    • 带有双引号名称的暂存区

语言: 中文