云器 Lakehouse AI Functions 概述

AI Functions 像"内置在 SQL 里的 AI 助手"——你写一条

SELECT
SELECT
,系统自动对每一行数据调用大模型,结果直接出现在查询结果集里,不需要写 Python、不需要搭服务、不需要把数据导出到外部系统。

什么时候用 AI Functions,什么时候用其他方案:

场景推荐方案
对表中每行文本做分类、抽取、翻译、情感分析AI Functions(本页)
需要自定义复杂逻辑、多步骤 AI 流程Python UDF + AI SDK
一次性调用、交互式问答直接调用模型 API
已有外部 AI 服务,只需在 SQL 中调用API Connection + AI Functions

AI Functions 的核心机制:AI 计算下沉至 SQL 执行引擎,每行数据在平台内部完成模型调用,无需数据外流,兼顾数据安全与批量处理效率。


AI ETL 管道架构

AI ETL 管道架构图

AI Functions 在 SQL 引擎层将各类数据源(文本、图像、音频、结构化数据)经过 AI 处理后输出结构化结果,直接写回数据仓库或流向下游应用,构成完整的 AI ETL 管道:

数据源 → SQL + AI Functions → 结构化输出 → 数据仓库 / 向量索引 / BI / 推荐系统


快速开始

以下示例展示典型用法模式,将

endpoint:
endpoint:
替换为实际配置的 Endpoint 名称,将表名替换为实际业务表即可运行。

-- 对用户评论做情感分析 SELECT review_id, review_text, AI_SENTIMENT('endpoint:qwen3-max-preview', review_text) AS sentiment FROM user_reviews;

-- 从非结构化文本中提取结构化字段 SELECT order_id, AI_EXTRACT( 'endpoint:qwen3.5-plus', remark, JSON'{"product":"商品名称", "qty":"数量", "issue":"问题描述"}' ) AS extracted FROM orders;


函数分类

文本理解与生成

函数功能描述
AI_COMPLETE通用 LLM 补全,支持自定义 Prompt,适合复杂推理、代码生成等任务
AI_SUMMARIZE生成文本摘要,支持
max_words
max_words
控制摘要长度
AI_TRANSLATE多语言翻译,自动检测源语言,支持 20+ 语言互译
AI_FIX_GRAMMAR语法与拼写纠错,支持中英文及多语言混合文本

文本分析与分类

函数功能描述
AI_CLASSIFY将文本或图像归入用户定义的类别,无需编写 Prompt
AI_SENTIMENT情感倾向分析,返回
positive
positive
/
negative
negative
/
neutral
neutral
/
mixed
mixed
AI_EXTRACT从非结构化文本或图像中抽取结构化 JSON 字段
AI_MASK识别并脱敏文本中的 PII 敏感信息,用
[MASKED]
[MASKED]
替换

向量与语义搜索

函数功能描述
AI_EMBEDDING将文本转换为高维向量,用于语义检索、推荐等下游任务
AI_SIMILARITY基于 Embedding 计算两段文本的余弦相似度,返回 [0, 1] 分值

多模态处理

函数功能描述
AI_TRANSCRIBE将 Volume 中的音频文件转录为文本(ASR)
AI_CLASSIFY支持图像输入,对图像内容进行分类
AI_EXTRACT支持图像输入,从图像中抽取结构化信息
AI_COMPLETE支持图像输入,结合图像与文本 Prompt 生成响应

按场景选择函数

业务场景推荐函数
商品 / 内容分类、工单路由AI_CLASSIFY
合同 / 发票 / 快递单信息提取AI_EXTRACT
用户评论情感分析、舆情监控AI_SENTIMENT
新闻摘要、对话总结AI_SUMMARIZE
多语言内容翻译AI_TRANSLATE
UGC 内容清洗、文本纠错AI_FIX_GRAMMAR
数据脱敏、合规处理AI_MASK
语义搜索、相似推荐AI_EMBEDDING + AI_SIMILARITY
客服录音转录与分析AI_TRANSCRIBE + AI_CLASSIFY / AI_EXTRACT
图像内容识别与结构化AI_CLASSIFY / AI_EXTRACT(图像模式)
复杂推理、代码生成、自定义任务AI_COMPLETE

模型接入方式

所有 AI Functions 的第一个参数均为

model
model
,支持两种接入方式:

方式一:API Gateway Endpoint(推荐)

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

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

'endpoint:qwen3-max-preview' -- 通用文本任务 'endpoint:qwen3.5-plus' -- 分类 / 抽取任务 'endpoint:text-embedding-v4' -- 向量任务 'endpoint:qwen3-asr-flash' -- 语音转录

方式二: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'; -- 引用格式:<连接名称>:<模型名称> SELECT AI_SENTIMENT('conn_bailian:qwen3.5-plus', '这个产品很好!');


典型管道示例

客服录音分析管道

-- 音频转录 → 情感分析 → 分类路由 SELECT call_id, transcript, AI_SENTIMENT('endpoint:qwen3-max-preview', transcript) AS sentiment, AI_CLASSIFY('endpoint:qwen3.5-plus', transcript, ARRAY('投诉', '咨询', '建议', '表扬')) AS category FROM ( SELECT call_id, AI_TRANSCRIBE('endpoint:qwen3-asr-flash', GET_PRESIGNED_URL(USER VOLUME, audio_path, 3600)) AS transcript FROM call_records );

文档结构化入库管道

-- 脱敏 → 抽取 → 写入结构化表 INSERT INTO structured_contracts (id, party_a, party_b, amount, masked_text) SELECT id, JSON_EXTRACT_STRING(info, '$.party_a') AS party_a, JSON_EXTRACT_STRING(info, '$.party_b') AS party_b, JSON_EXTRACT_STRING(info, '$.amount') AS amount, AI_MASK('endpoint:qwen3-max-preview', content, ARRAY('姓名', '身份证', '银行卡号')) AS masked_text FROM ( SELECT id, content, AI_EXTRACT('endpoint:qwen3.5-plus', content, JSON'{"party_a":"甲方名称","party_b":"乙方名称","amount":"合同金额"}') AS info FROM raw_contracts WHERE content IS NOT NULL );

语义搜索管道

-- Step 1:预先生成并存储向量 INSERT INTO product_vectors (product_id, embedding) SELECT product_id, AI_EMBEDDING('cz_bailian:text-embedding-v4', description, JSON '{"input": "document"}') FROM products WHERE description IS NOT NULL AND LENGTH(description) > 0; -- Step 2:语义搜索(按相似度排序) SELECT p.product_name, AI_SIMILARITY('cz_bailian:text-embedding-v4', '轻薄笔记本电脑', p.description) AS score FROM products p ORDER BY score DESC LIMIT 10;


通用 options 参数

AI_CLASSIFY
AI_CLASSIFY
AI_EXTRACT
AI_EXTRACT
AI_SIMILARITY
AI_SIMILARITY
AI_TRANSCRIBE
AI_TRANSCRIBE
等函数支持可选的
options
options
JSON 参数:

参数键类型说明
response.timeout
response.timeout
STRING单次请求超时时间(秒),如
"300"
"300"
task.concurrency
task.concurrency
STRING批量处理并发度,如
"12"
"12"
model.params
model.params
JSON透传给模型的参数,如
{"enable_thinking": false}
{"enable_thinking": false}

SELECT 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;


使用说明

  • 模型选择:文本理解类任务推荐
    qwen3.5-plus
    qwen3.5-plus
    qwen3-max-preview
    qwen3-max-preview
    ;向量任务使用专用 Embedding 模型(如
    text-embedding-v4
    text-embedding-v4
    );语音转录使用 ASR 模型(如
    qwen3-asr-flash
    qwen3-asr-flash
    )。
  • Thinking 模式:部分模型(如 qwen3 系列)默认开启 thinking 模式,会增加延迟和 token 消耗。批量处理场景建议通过
    model.params
    model.params
    关闭:
    {"enable_thinking": false}
    {"enable_thinking": false}
  • NULL 行为:当模型无法处理输入(如内容为空、超出长度限制)时,大多数函数返回 NULL,不影响其他行的执行。各函数的具体 NULL 行为见各函数文档的错误行为章节。
  • 图像输入:图像需先上传至 Volume,通过
    GET_PRESIGNED_URL()
    GET_PRESIGNED_URL()
    生成预签名 URL,并以
    (url AS image)
    (url AS image)
    语法传入函数。
  • 专用函数优先:当任务可以用专用函数(如 AI_TRANSLATEAI_SENTIMENT)完成时,优先使用专用函数,其内置了针对特定任务优化的 Prompt,结果更稳定、成本更低。

使用前提

  1. 已在 API Gateway 中配置好模型 Endpoint,或已通过
    CREATE API CONNECTION
    CREATE API CONNECTION
    创建连接对象。
  2. 当前用户对相关 Endpoint 或 Connection 有调用权限。
  3. 图像和音频处理场景需将文件上传至 Volume,并通过
    GET_PRESIGNED_URL()
    GET_PRESIGNED_URL()
    获取访问 URL。

相关文档

联系我们
预约咨询
微信咨询
电话咨询