腾讯云数据仓库 TCHouse-X AI Function 函数列表

TCHouse AI Function 是 TCHouse-X 内置的 AI 函数集合。函数在数仓内核中执行,可与标准 SQL 任意组合,用于对表内文本、语义数据进行批量智能化处理。这篇列出当前支持的全部内置函数及其语法、参数与示例。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

三、2.1 调用形式

AI Function 作为普通标量 / 聚合 / 表函数使用,可出现在 SELECT、WHERE、GROUP BY、CTE 等任意 SQL 位置,可与 JOIN、UNION、窗口函数自由组合。

四、2.2 指定 Endpoint

除特别说明外,函数第一个参数为 endpoint,用于指定本次调用绑定的模型接入点。Endpoint 名称在“模型管理 > 模型连接”页查看,实例内唯一。

为避免每次调用都显式指定 Endpoint,支持在 Session 级设置默认 Endpoint:

SET DEFAULT_LLM_ENDPOINT = 'endpoint-minimax-m3';SET DEFAULT_EMBEDDING_ENDPOINT = 'endpoint-kinfra-emb-0.6b';SET DEFAULT_TIME_FORECAST_ENDPOINT = 'endpoint-chronos-2';

优先级:函数内显式指定的 endpoint 参数 > Session 级默认 Endpoint。未指定且未设置 Session 变量时,调用将失败。

注意:说明:

注意:向量化函数 AI_EMBED 必须绑定 Embedding 类 Endpoint;时序预测函数 AI.FORECAST 必须绑定时序预测类 Endpoint。类型不匹配会导致调用失败。

五、2.3 通过 OPTIONS 传入模型参数

函数支持通过 OPTIONS 传入一段 JSON 字符串,用于控制推理行为。最常用的是 kwargs,其中的字段会追加进模型请求体(OpenAI Chat Completions 兼容)。

SELECT AI_GENERATE( endpoint 'endpoint-minimax-m3', options '{"kwargs":{"temperature": 0.2, "top_p": 0.9, "max_tokens": 512}}', '为 AI 产品发布会写一段开场白');

除 kwargs 外,OPTIONS 还支持 max_qps、max_concurrency、max_retries、hint 以及推理优化相关参数,完整说明请参见 AI Function 高级能力说明。

六、3. 函数总览

函数名 分类 用途 返回类型
AI_GENERATE 文本生成 指令驱动的内容生成:逻辑续写、创意润色及多风格文案创作 STRING
AI_FIXGRAMMAR 文本生成 文本语法与规范修正 STRING
AI_SUMMARIZE 文本生成 单条长文本的语义聚焦性摘要 STRING
AI_SUMMARIZE_AGG 文本生成 多行文本的语义聚合摘要(聚合函数) STRING
AI_TRANSLATE 文本生成 跨语言语义映射与翻译 STRING
AI_SENTIMENT 文本理解 情感极性识别 STRING
AI_CLASSIFY 文本理解 零样本语义分类(支持多标签) STRING / ARRAY<STRING>
AI_SIMILARITY 文本理解 两文本的语义相似度度量 DOUBLE
AI_FILTER 文本理解 按自定义策略做合规性风险审计 BOOLEAN
AI_EXTRACT 信息提取 结构化字段抽取 JSON / STRUCT
AI_MASK 信息提取 敏感信息脱敏 STRING
AI_EMBED 向量化 文本向量化编码 ARRAY<FLOAT>
AI.FORECAST 时序预测 基于历史时间序列预测未来值 TABLE

七、4. 组合使用示例:构建舆情处理中心

本章用一个端到端示例演示 AI Function 的组合用法。场景是舆情处理:输入一张社交媒体原始评论表,先用 AI_FILTER 剔除谩骂等违规内容,再用 AI_SENTIMENT 只保留负面评论,最后对筛出的每一行用 AI_GENERATE 逐条生成客服回复。三步全部在一条 SQL 内完成,数据不出数仓,也不需要任何外部程序或调度。

示例分三步:4.1 准备数据集,4.2 编写并执行核心 SQL,4.3 查看执行结果。

八、4.1 数据集准备

— 步骤 1:创建演示库与原始评论表– 结构与业务系统落地的原始舆情数据一致:只保留平台、作者、正文等非结构化字段CREATE DATABASE IF NOT EXISTS d_llm_function_demo;DROP TABLE IF EXISTS d_llm_function_demo.t_social_media_raw;CREATE TABLE d_llm_function_demo.t_social_media_raw ( id INT COMMENT '唯一标识', source_platform STRING COMMENT '来源平台:微博、小红书、贴吧等', author_name STRING COMMENT '发布者昵称', content STRING NOT NULL COMMENT '原始非结构化评论内容') COMMENT '舆情处理中心-原始数据表';– 步骤 2:灌入 5 条样本,刻意覆盖四类典型情况– id=1 物流异常 :负面、不违规 → 期望保留– id=2 谩骂辱骂 :负面、违规 → 期望被 AI_FILTER 过滤– id=3 好评推荐 :正面、不违规 → 期望被 AI_SENTIMENT 过滤– id=4 兼职广告 :负面、不违规 → 期望保留– id=5 功能报障 :负面、不违规 → 期望保留INSERT INTO d_llm_function_demo.t_social_media_raw VALUES(1, '微博', '快乐的小羊', '刚才在静安区世纪大道发生了快递车起火,我的包裹号是 SF142335……'),(2, '小红书', '避雷达人', '这种垃圾产品也敢卖 2999 元?退钱!张三你这个经理是怎么当的?'),(3, '朋友圈', '科技狂热者', '收到新款手机了,质感无敌!上海发货速度就是快,推荐大家购买。'),(4, '贴吧', '兼职助手', '诚招兼职,加微信:wx_12345,月入过万不是梦,详询 18900001111。'),(5, 'App','用户9527', '登录一直提示系统错误,重启也没用。我身份证号是 310115199001011234。');

九、4.2 核心 SQL

逻辑:过滤违规 → 情感分析 → 生成回复。

— 一条 SQL 完成“违规过滤 → 情感筛选 → 回复生成”SELECT id, — 对通过筛选的每一行拼一段指令交给大模型生成客服回复,每行一次调用 AI_GENERATE( endpoint 'system-minimax-m3', CONCAT('针对该问题生成技术回复:', content) ) AS 预制回复FROM d_llm_function_demo.t_social_media_rawWHERE — 语义合规审计:返回 TRUE 表示命中策略(本例为谩骂),取 FALSE 即保留未违规内容 AI_FILTER(endpoint 'system-minimax-m3', '{} 是谩骂的', content) = FALSE — 情感极性:只保留 negative,正面与中性评论不进入回复队列 AND AI_SENTIMENT(endpoint 'system-minimax-m3', content) = 'negative';

十、4.3 执行结果

逐行筛选过程

把 4.2 的 WHERE 条件直接放到 SELECT 里执行,可以看到每一步的判定结果:

id 原文摘要 命中谩骂 情感极性 是否生成回复
1 快递车起火,包裹号 SF142335 false negative 是
2 这种垃圾产品也敢卖 2999 元?退钱! true negative 否,违规内容被拦截
3 收到新款手机了,质感无敌! false positive 否,非负面不处理
4 诚招兼职,加微信,月入过万 false neutral 否,情感判定未落在 negative
5 登录一直提示系统错误 false negative 是

最终输出(以下为一次执行的真实输出,仅供示意,生成式模型的输出每次不完全一致):

id 预制回复
1 尊敬的用户,你好!关于你反映的快递车起火事故及包裹(单号:SF142335)情况,现回复如下 一、事故核实.…
5 重要提醒:请立即修改/隐藏你的身份证号!身份证号属于高度敏感个人信息,在公开渠道(论坛、客服工单、聊天记录等)泄露可能导致身份盗用。请立即:…

十二、5.1 AI_GENERATE

指令驱动的内容生成。基于提示词工程实现逻辑续写、创意润色及多风格文案创作。

参数 说明
endpoint 模型接入点名称
prompt 指令文本

返回类型:STRING。

SELECT AI_GENERATE( endpoint 'endpoint-minimax-m3', '为 AI 产品发布会写一段开场白');

预期输出:

"未来已来。今天,我们共同见证 AI 重塑世界的起点……"

结合表数据的批量调用示例:

SELECT product_id, product_name, AI_GENERATE( endpoint 'endpoint-minimax-m3', '为以下商品撰写一段 50 字以内的电商详情页文案:' || product_name ) AS marketing_copyFROM product_catalogWHERE category = '数码';

十三、5.2 AI_FIXGRAMMAR

文本语法与规范修正。智能识别并修复句法结构、拼写错误及表达偏差。

参数 说明
endpoint 模型接入点名称
text 待修正文本

返回类型:STRING。

SELECT AI_FIXGRAMMAR( endpoint 'endpoint-minimax-m3', 'The data are incorrect.');

预期输出:

"The data is incorrect."

十四、5.3 AI_SUMMARIZE

语义聚焦性摘要。通过语义聚类提取核心观点,在限定长度内实现长篇幅信息的高度浓缩。

参数 说明
endpoint 模型接入点名称
text 待处理的长文本内容
max_len 目标输出长度,按词数(words)计算。默认值 50,建议最大值 2000

返回类型:STRING。

SELECT AI_SUMMARIZE( endpoint 'endpoint-minimax-m3', '我家的后面有一个很大的园,相传叫作百草园。……', 50);

预期输出:

"我家后园曾叫百草园,现已卖给朱家多年,虽只剩野草,却是儿时乐园。"

注意:说明:

注意:max_len 为引导性建议值。英文按空格分隔的单词计数;中文无天然分词边界,1 个汉字可近似视为 1 个词。模型会尽量控制输出长度,不做强制截断。

十五、5.4 AI_SUMMARIZE_AGG

多行文本信息聚合摘要。将多行文本按行进行语义聚合,输出一个汇总语义后的统一摘要文本。调用方式与其他聚合函数(如 SUM、AVG)一致,支持 GROUP BY。

参数 说明
endpoint 模型接入点名称
text 待处理的多行长文本内容

返回类型:STRING。

WITH reviews AS ( SELECT '这家餐厅太棒了,食物美味,服务周到。' AS review UNION ALL SELECT '太棒了!我超爱他们的披萨!' UNION ALL SELECT '食物不错,但服务一般般。' UNION ALL SELECT '普通的食物和普通的服务')SELECT AI_SUMMARIZE_AGG(endpoint 'endpoint-minimax-m3', review)FROM reviews;

预期输出:

"用户主要需求包括:增加深色模式、优化搜索、数据导出功能、通知设置个性化以及简化界面设计。"

十六、5.5 AI_TRANSLATE

跨语言语义映射。在保留原文语义权重的基础上,实现多语种间的流畅对齐与文化适配。

参数 说明
endpoint 模型接入点名称
text 源文本
t_lang 目标语言
s_lang 源语言,可选

返回类型:STRING。

SELECT AI_TRANSLATE( endpoint 'endpoint-minimax-m3', 'Hello world!', 'zh-CN');

预期输出:

"你好,世界!"

注意:说明:

注意:t_lang、s_lang 无强制格式约束,支持“中文”/“zh”/“zh-CN”等多种写法。建议参考 ISO 639-1 或 BCP 47 标准传入。

十八、6.1 AI_SENTIMENT

情感极性识别。深度分析主观文本,输出情感正负倾向。

参数 说明
endpoint 模型接入点名称
text 目标文本

返回类型:STRING,取值为 positive / negative / neutral / mixed。

SELECT AI_SENTIMENT( endpoint 'endpoint-minimax-m3', '这物流慢得离谱');

预期输出:

"negative"

十九、6.2 AI_CLASSIFY

零样本语义分类。基于语义锚点将文本映射至预定义标签体系,无需额外训练。支持多标签模式。

参数 说明
endpoint 模型接入点名称
text 目标文本
labels 预设分类数组
multi_label 可选,是否多标签(BOOL,默认 false)

返回类型:单标签为 STRING,多标签为 ARRAY<STRING>。

单标签示例:

SELECT AI_CLASSIFY( endpoint 'endpoint-minimax-m3', '无法登录账号', array('投诉', '咨询'));

预期输出:

"投诉"

多标签示例:

SELECT ai_classify( endpoint 'endpoint-minimax-m3', '快递送得快,但商品有瑕疵,客服态度还不错', array['物流速度', '包装质量', '商品质量', '客服服务', '性价比'], true);

预期输出:

['物流速度', '客服服务']

20、6.3 AI_SIMILARITY

语义相似度度量。由生成式模型判定两个文本的相似度,返回 0 至 1 之间的关联度数值,数值越高表示关联度越大。

参数 说明
endpoint 模型接入点名称
text1 文本 A
text2 文本 B

返回类型:DOUBLE。

SELECT AI_SIMILARITY( endpoint 'endpoint-minimax-m3', '我想退钱', '申请退款');

预期输出:

0.9

21、6.4 AI_FILTER

合规性风险审计。根据自定义安全策略判定内容是否触碰违规红线,输出布尔值。

参数 说明
endpoint 模型接入点名称
policy 过滤策略,使用 {} 作为待审文本的占位符
text1 … textN 待审文本,个数需与 policy 中的占位符一致

返回类型:BOOLEAN。

单文本示例:

SELECT AI_FILTER( endpoint 'endpoint-minimax-m3', '{} 是色情暴力的', '怎么才能像大神一样优秀呢');

预期输出:

false

双文本(JOIN 语义)示例:

SELECT AI_FILTER( endpoint 'endpoint-minimax-m3', '{} 是色情的,{} 是暴力的', '怎么才能像大神一样优秀呢', '今天雨下的很大');

注意:说明:

注意:多参数形态的 AI_FILTER 具备 JOIN 语义,优化器会为其选择专门的 LLM NESTLOOP JOIN 执行,并可自动批处理以降低调用次数。详见 AI Function 高级能力说明。

23、7.1 AI_EXTRACT

结构化字段抽取。从非结构化文本中识别并捕获特定维度的关键信息,支持多种输入 / 输出形式。

参数 说明
endpoint 模型接入点名称
text 目标文本
entities 抽取规则,支持四种形式(见下表)

entities 支持的四种形式:

形式 说明 返回
array(string) 仅标签名字 json string
array(string, schema) 标签名字 + 指定返回 schema struct
string JSON Schema 字符串描述 json string
struct schema struct 结构类型描述,如 struct<name:string, age:int> 对应结构的 struct

返回类型:JSON / STRUCT。

·形式一:标签数组

SELECT AI_EXTRACT( endpoint 'endpoint-minimax-m3', '我是一名来自清华大学计算机专业的研究生', array('学校', '专业'));

预期输出:

{"学校": "清华大学", "专业": "计算机"}

·形式二:struct schema

SELECT ai_extract( endpoint 'endpoint-minimax-m3', '我的名字是张三,年龄为25岁', struct<姓名:string, 年龄:int>);

预期输出:

{姓名: "张三", 年龄: 25}

·形式三:JSON Schema 字符串

SELECT ai_extract( endpoint 'endpoint-minimax-m3', '李四居住在上海,是一名软件工程师', '{"type": "object", "properties": { "姓名": {"type": "string", "description": "人员的全名"}, "地点": {"type": "string", "description": "城市或国家"}, "年龄": {"type": ["integer", "null"], "description": "人员的年龄"}, "职业": {"type": ["string", "null"], "description": "人员的职业"} }}');

预期输出:

{"姓名": "李四", "地点": "上海", "年龄": null, "职业": "软件工程师"}

注意:说明:

注意:JSON Schema 形式可更细粒度地约束字段类型与描述,建议参考 JSON Schema 2020-12 标准编写。

24、7.2 AI_MASK

隐私数据脱敏。基于预设标签自动定位敏感数据,采用 [MASKED] 掩码进行置换遮蔽。

参数 说明
endpoint 模型接入点名称
text 原始文本
tags 脱敏标签数组

返回类型:STRING。

SELECT AI_MASK( endpoint 'endpoint-minimax-m3', '我叫张三,手机 13800000000,邮箱 zhangsan@example.com', array('name', 'phone', 'email'));

预期输出:

"我叫 [MASKED],手机 [MASKED],邮箱 [MASKED]"

26、8.1 AI_EMBED

将文本编码为定长向量(embedding),用于语义检索、聚类、相似度对比等下游任务。

参数 说明
endpoint 模型接入点名称,须为 Embedding 类 Endpoint
text 待编码的文本

返回类型:ARRAY<FLOAT>。

SELECT AI_EMBED( endpoint 'endpoint-kinfra-emb-0.6b', '申请退款');

预期输出:

[0.0123, -0.0451, …, 0.0087]

注意:说明:

注意:向量维度由 Endpoint 所绑定的模型决定(例如 1024 维)。同一批数据请使用同一个 Embedding Endpoint 编码,避免不同模型产出的向量混用导致相似度不可比。

28、9.1 AI.FORECAST

基于历史时间序列预测未来时间点的值,输出预测值及置信区间。支持按 id_cols 分组进行多序列并发预测,支持通过 feature_cols 引入外生特征。

参数 必填 说明
endpoint 否 模型接入点名称,须为时序预测类 Endpoint。未指定且未设置 DEFAULT_TIME_FORECAST_ENDPOINT 时,将触发本地推理
options 否 JSON 字符串,支持 prediction_length / confidence_level / freq / limit_prediction_length / context_length / output_historical_time_series
输入数据 是 二选一:传数据表 TABLE <表名>,或传子查询 (<子查询>)
data_col 是 目标序列列名(字符串字面量)
timestamp_col 是 时间戳列名
id_cols 否 ARRAY<STRING>,多序列分组键
feature_cols 否 ARRAY<STRING>,外生特征列

返回类型:TABLE。

SELECT *FROM AI.FORECAST( ENDPOINT 'endpoint-chronos-2', OPTIONS '{"prediction_length": 7, "confidence_level": 0.9}', TABLE sales, data_col => 'gmv', timestamp_col => 'ds', id_cols => ARRAY['store_id'], feature_cols => ARRAY['is_promo']);

预期输出:

forecast_timestamp forecast_value prediction_interval_lower_bound prediction_interval_upper_bound confidence_level
2026-07-24 00:00:00 13100.5 11800.2 14400.8 0.9
… … … … …
2026-07-30 00:00:00 14020.3 11020.4 17020.1 0.9

注意:说明:

注意:若指定 id_cols,结果列前会追加对应分组列;若 OPTIONS 中 output_historical_time_series=true,结果末尾会追加 time_series_type 列。

赞 (0)
上一篇 4天前
下一篇 4天前