类别:

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

AI_EMBED

备注

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

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

语法

AI_EMBED( <model> , <input> )

实参

必填:

model

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

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

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

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

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

  • snowflake-arctic-embed-m

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

input

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

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

  • 大小不超过 10 MB

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

返回

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

访问控制要求

You must use a role that has been granted the SNOWFLAKE.CORTEX_USER database role or the SNOWFLAKE.CORTEX_EMBED_USER database role to call this function. See Cortex LLM privileges for more information on granting one of these privileges.

示例

文本示例

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

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

限制

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

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

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

    • 用户暂存区

    • 表暂存区

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