AI_CLASSIFY

AI_CLASSIFY
AI_CLASSIFY
是云器 Lakehouse 提供的 AI 文本/图像分类函数,可将输入内容自动归类到用户自定义的类别中。无需训练模型、无需编写 prompt,一行 SQL 即可完成分类。


语法

AI_CLASSIFY(model, content, labels [, options])

参数类型必需说明
model
model
STRING模型标识,支持
endpoint:
endpoint:
connection:
connection:
两种来源
content
content
STRING 或图像引用待分类的文本,或
GET_PRESIGNED_URL(...) AS image
GET_PRESIGNED_URL(...) AS image
labels
labels
ARRAY类别数组,
ARRAY('类别1', '类别2', ...)
ARRAY('类别1', '类别2', ...)
options
options
JSON 字面量可选参数(超时、并发、模型参数)

返回值: STRING,返回最匹配的类别名称(纯字符串,非 JSON)。


model 参数说明

来源一:API Gateway Endpoint(推荐)

平台管理员在 API Gateway 中预先配置模型服务,普通用户通过

endpoint:
endpoint:
前缀引用,无需关心底层连接细节。

'endpoint:<endpoint名称>' -- 示例 'endpoint:qwen3.5-plus' 'endpoint:qwen3-max-preview'

来源二:API Connection 连接对象

用户通过

CREATE API CONNECTION
CREATE API CONNECTION
自行创建连接对象,适用于需要自定义服务地址、认证密钥或对接私有化部署模型的场景。

-- 创建连接对象 CREATE API CONNECTION conn_bailian TYPE ai_function PROVIDER = 'bailian' BASE_URL = 'https://dashscope.aliyuncs.com/api/v1' API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxx'; -- 引用时使用 connection: 前缀 SELECT AI_CLASSIFY('conn_bailian:qwen3.5-plus', '苹果手机', ARRAY('电子产品', '服装', '食品'));

CREATE API CONNECTION
CREATE API CONNECTION
各字段说明:

字段说明
TYPE
TYPE
固定为
ai_function
ai_function
PROVIDER
PROVIDER
模型供应商标识,如
'bailian'
'bailian'
'openai'
'openai'
'anthropic'
'anthropic'
BASE_URL
BASE_URL
模型服务的 API 基础地址
API_KEY
API_KEY
调用服务所需的认证密钥

快速开始

-- 文本分类 SELECT AI_CLASSIFY( 'endpoint:qwen3.5-plus', '苹果手机', ARRAY('电子产品', '服装', '食品') ); -- 返回:电子产品


使用场景

场景一:商品分类

SELECT product_name, AI_CLASSIFY('endpoint:qwen3.5-plus', product_desc, ARRAY('电子产品', '服装', '食品')) AS category FROM products;

product_namecategory
iphone电子产品
Dior连衣裙服装
奥利奥饼干食品

场景二:图像分类

SELECT relative_path, AI_CLASSIFY( 'endpoint:qwen3.5-plus', (GET_PRESIGNED_URL(USER VOLUME, relative_path, 36000) AS image), ARRAY('电子产品', '男装', '女装', '食品', '汽车') ) AS classification FROM (SHOW USER VOLUME DIRECTORY SUBDIRECTORY 'images/products');

场景三:新闻分类

SELECT headline, AI_CLASSIFY('endpoint:qwen3.5-plus', headline, ARRAY('tech', 'sports', 'finance', 'entertainment')) AS topic FROM news_articles;

场景四:客服工单路由

SELECT ticket_id, AI_CLASSIFY( 'endpoint:qwen3.5-plus', description, ARRAY('支付问题', '物流问题', '商品质量', '账号问题', '功能建议') ) AS department FROM support_tickets;

场景五:带 options 的批量分类

SELECT product_name, AI_CLASSIFY( 'endpoint:qwen3.5-plus', product_desc, ARRAY('电子产品', '服装', '食品'), JSON '{"model.params":{"enable_thinking":false},"response.timeout":"300","task.concurrency":"12"}' ) AS category FROM products;


多语言支持

AI_CLASSIFY 基于你选择的模型,原生支持 29+ 种语言的分类,包括:

语系支持语言
CJK中文、日语、韩语
拉丁语系英语、法语、西班牙语、葡萄牙语、德语、意大利语
东南亚越南语、泰语、印尼语
其他阿拉伯语、俄语、波兰语、荷兰语、土耳其语等

同语言分类

输入和标签使用相同语言:

-- 日语 SELECT AI_CLASSIFY('endpoint:qwen3.5-plus', '東京オリンピックで日本は金メダル27個を獲得しました', ARRAY('テクノロジー', 'スポーツ', '金融', 'エンタメ') ); -- 返回:スポーツ -- 阿拉伯语 SELECT AI_CLASSIFY('endpoint:qwen3.5-plus', 'أعلن البنك المركزي عن رفع أسعار الفائدة', ARRAY('تقنية', 'مالية', 'رياضة', 'ترفيه') ); -- 返回:مالية

跨语言分类

输入和标签可以是不同语言:

-- 中文输入 + 英文标签 SELECT AI_CLASSIFY('endpoint:qwen3.5-plus', '特斯拉发布了全新的自动驾驶系统', ARRAY('technology', 'sports', 'finance', 'entertainment') ); -- 返回:technology -- 英文输入 + 中文标签 SELECT AI_CLASSIFY('endpoint:qwen3.5-plus', 'Bitcoin surged past 150000 as institutional investors poured billions', ARRAY('科技', '体育', '金融', '娱乐') ); -- 返回:金融


Options 参数

JSON '{"model.params":{"enable_thinking":false},"response.timeout":"300","task.concurrency":"12"}'

参数类型说明
model.params.enable_thinking
model.params.enable_thinking
boolean设为
false
false
关闭思考过程,加快响应(批量分类推荐)
response.timeout
response.timeout
string(秒)单次调用超时时间
task.concurrency
task.concurrency
string(整数)批量处理并发度

NULL 和空输入的行为

输入返回值说明
content 为 NULLNULL透传 NULL
content 为空字符串
""
""
返回空字符串(非 NULL)
正常文本匹配的类别名称纯字符串

最佳实践

  1. 类别名称要清晰 — 使用描述性的类别名(如"电子产品"而非"cat_1"),模型通过语义理解类别含义。

  2. 类别数量适中 — 建议 2~10 个类别效果最佳。类别过多可能降低准确率。

  3. 关闭 thinking 加速 — 批量分类时建议设置

    enable_thinking:false
    enable_thinking:false
    ,可显著减少响应时间。

  4. 先过滤再分类 — 对大表使用时,建议先用

    WHERE
    WHERE
    缩小范围,避免不必要的模型调用。

  5. 利用跨语言能力 — 标签可以统一用英文,即使输入是其他语言也能正确分类,方便下游统一处理。

  6. 图像分类 — 通过

    GET_PRESIGNED_URL(USER VOLUME, path, expiry) AS image
    GET_PRESIGNED_URL(USER VOLUME, path, expiry) AS image
    传入图片,模型会根据图片内容进行分类。

  7. 空字符串防御 — 对可能含空字符串的列,建议加

    WHERE content IS NOT NULL AND content != ''
    WHERE content IS NOT NULL AND content != ''
    过滤后再分类。


限制说明

限制项说明
模型参数必须指定 endpoint
标签最少数量1 个(建议 ≥ 2 个,单标签时直接返回该标签)
标签最多数量建议 ≤ 20 个,过多会降低准确率
返回值单标签(返回一个类别名称字符串)
图像输入需使用
GET_PRESIGNED_URL(...) AS image
GET_PRESIGNED_URL(...) AS image
语法
配额受 AI Gateway 租户 token 配额限制

错误处理

错误场景错误信息解决方法
Endpoint 不存在
CZLH-67000 No available endpoints found
CZLH-67000 No available endpoints found
检查 endpoint 名称是否正确
配额超限
Tenant quota exceeded
Tenant quota exceeded
联系管理员提升配额
图片不存在
Failed to fetch image from URL
Failed to fetch image from URL
检查 Volume 文件路径
联系我们
预约咨询
微信咨询
电话咨询