- 类别:
:doc:`/sql-reference/functions-string`(AI 函数)
COMPLETE (SNOWFLAKE.CORTEX) (multimodal)¶
备注
AI_COMPLETE 是此函数的最新版本。AI_COMPLETE 用于最新功能。您可以继续使用 COMPLETE (SNOWFLAKE.CORTEX)。
使用语言模型,为给定图像和提示生成响应(补全)。此函数变体支持图像模型和文本模型,并处理存储在内部 Snowflake 暂存区或外部暂存区中的图像。COMPLETE 可用于批量处理单个图像、多个图像、对每张图像应用相同或不同的提示,或者在单个操作(例如,比较)中应用多个图像。
语法¶
使用下列之一:
实参¶
model指定要使用模型的字符串。指定以下模型之一:
claude-3-5-sonnetpixtral-large
支持的模型可能具有不同的成本和上下文窗口。可能会不时添加新模型。
prompt一个字符串,包含有关图像的问题,并可选择指定输出格式,例如 JSON。此字段或
prompt_object实参为必填项。prompt_objectSQL OBJECT 包含带编号占位符(
{0}、\{1\}等)的字符串提示以及插入到提示中的一个或多个文本或 FILE 值。PROMPT 函数是创建具有所需布局的对象的便捷方式。此实参或prompt为必填项。file_object包含要处理的图像文件的 FILE 对象。使用 TO_FILE 函数从暂存区路径创建 FILE 对象。使用字符串提示时为必填项。
FROM table一个可选表,其中包含图像路径和每个图像的可选提示,允许在一次调用中对图像进行批处理至 COMPLETE。
返回¶
包含语言模型响应的字符串。
使用说明¶
超过上下文窗口限制的输入会导致错误。超出上下文窗口限制的输出将被截断。
要处理多个图像,提示必须是一个对象(通常使用 PROMPT 函数创建),用于指定提示模板和要处理的文件。
仅支持文本和图像。不支持视频和音频文件。
支持文件扩展名为
.jpg、.jpeg、.png、.gif和.webp的图像。pixtral-large也支持.bmp。pixtral-large最大图像大小为 10 MB,claude-3-5-sonnet最大图像大小为 3.75 MB。此外,claude-3-5-sonnet不支持分辨率大于 8000x8000 的图像。包含图像的暂存区必须启用服务器端加密。不支持客户端加密暂存区。
该函数不支持自定义网络策略。
暂存区名称不区分大小写,但路径区分大小写。
示例¶
以下示例演示了带图像的 COMPLETE 函数的基本功能。
视觉问答¶
通货膨胀率图表用于回答有关数据的问题。
2023 年和 2024 年通货膨胀率的比较 (Statista (https://www.statista.com/))¶
响应:
图像分类¶
此示例对单个图像中识别的地标进行了分类。
响应:
从图像中提取实体¶
此示例从图像中提取实体(对象)并以 JSON 格式返回结果。
响应:
批量处理目录或表中的图像¶
要批量处理多个图像,对每个图像执行相同的操作,将图像文件存储在同一个暂存区。将 COMPLETE 函数应用于表的每一行。
备注
该暂存区必须有一个 目录表 才能检索其文件的路径。
首先,通过从目录中检索图像位置,将其转换为 FILE 对象,并将生成的 FILE 对象存储在表列中来创建表。使用如下 SQL 语句:
然后,将 COMPLETE 函数应用于包含 FILE 对象的列。以下示例对表中的每张图像进行了分类:
响应:
如果您已经有一个包含图像路径的表,则可以使用 TO_FILE 函数 在查询中构造 FILE 对象:
您也可以直接从暂存区的目录中检索要处理的图像,如下所示:
在表中提供图像和提示¶
要对表中的每张图像执行不同的操作,请在表中提供图像及其相应提示。在以下示例中,该表包含 img_path 列中每张图像的暂存区路径以及 prompt 列中的提示。
法律声明¶
请参阅 Snowflake AI 和 ML。