功能介绍
腾讯云数据仓库 TCHouse-X 始终致力于探索更高效、更智能的数据分析路径。TCHouse-X 深度整合了腾讯云自建大语言模型,将前沿的 LLM 能力直接赋予数据底座,实现了“数据在哪,分析就在哪”的极简体验。通过内置的 LLM 函数,TCHouse-X 让数据分析师无需编写复杂的 Python 代码或维护推理环境,只需通过标准的 SQL 语句即可调用腾讯云顶级的大模型能力,实现海量文本的批处理与智能化分析。
适用场景
目前 LLM 函数可应用的场景包括但不限于:
智能交互与路由:利用语义理解实现高效互动。在电商场景下精准识别用户意图(例如“售后退货”或“售前咨询”)并感知情绪,动态匹配客服优先级与差异化回复策略。
合规与安全防护:自动化维护内容生态。实时监测并拦截违规信息,并在数据外传前对姓名、身份证号等敏感信息进行自动脱敏,确保隐私合规。
多维用户洞察:将海量非结构化反馈转化为量化决策依据。通过自动聚类与摘要技术,从万级别评论中快速捕捉核心痛点,助力产品经理定位高频需求。
动态数据治理:标准化非结构化数据,释放资产价值。在 ETL 环节实现字段(例如日期、金额)的精准提取与格式纠偏,确保入库数据的统一性与准确性。
函数列表
文本生成与优化
函数名称 | 参数说明 | 核心功能 | SQL 示例 | 预期输出 |
AI_GENERATE | prompt: 指令文本 | 指令驱动内容生成:基于提示词工程(Prompt Engineering),实现逻辑续写、创意润色及多风格文案创作。 | SELECT AI_GENERATE('为 AI 产品发布会写一段开场白') | "未来已来。今天,我们共同见证AI重塑世界的起点..." |
AI_FIXGRAMMAR | text: 待修正文本 | 文本语法与规范修正:智能识别并修复句法结构、拼写错误及表达偏差,提升文案的专业性与准确度。 | SELECT AI_FIXGRAMMAR('The data are incorrect.') | "The data is incorrect." |
AI_SUMMARIZE | text: 待处理的长文本内容。max_len: 目标输出长度,按词数(words)计算。(默认值为50,建议最大值为2000) | 语义聚焦性摘要:通过语义聚类提取核心观点,在限定长度内实现长篇幅信息的高度浓缩与重组。 | SELECT AI_SUMMARIZE('我家的后面有一个很大的园,相传叫作百草园。...', 50) | "我家后园曾叫百草园,现已卖给朱家多年,虽只剩野草,却是儿时乐园。" |
AI_SUMMARIZE_AGG | text: 待处理的多行长文本内容 | 多行文本信息聚合摘要函数。将多行文本按行进行语义聚合,输出一个汇总语义后的统一摘要文本。调用方式与其他聚合函数(例如 SUM、AVG)一致,支持 GROUP BY 语法。 | WITH reviews AS (SELECT '这家餐厅太棒了,食物美味,服务周到。' AS reviewUNION ALL SELECT '太棒了!我超爱他们的披萨!'UNION ALL SELECT '食物不错,但服务一般般。'UNION ALL SELECT '普通的食物和普通的服务')SELECT AI_SUMMARIZE_AGG(review) FROM reviews; | "用户主要需求包括:增加深色模式、优化搜索、数据导出功能、通知设置个性化以及简化界面设计。" |
AI_TRANSLATE | text: 源文本t_lang: 目标语言s_lang: 源语言,可选 | 跨语言语义映射:在严谨保留原文语义权重的基础上,实现多语种间的流畅对齐与文化适配。 | SELECT AI_TRANSLATE('Hello world!', 'zh-CN') | "你好,世界!" |
说明:
1.
AI_SUMMARIZE 函数参数 max_len 为引导性建议值,英文按空格分隔的单词计数;中文无天然分词边界,1 个汉字可近似视为 1 个词。模型将尽量控制输出长度,不做强制截断。文本理解与分析
函数名称 | 参数规格 | 核心功能描述 | SQL 调用示例 | 预期输出 |
AI_SENTIMENT | text: 目标文本 | 情感极性识别:深度分析主观文本,量化并输出情感正负倾向( positive/negative/neutral/mixed)。 | SELECT AI_SENTIMENT('这物流慢得离谱') | "negative" |
AI_CLASSIFY | text: 目标文本labels: 预设分类数组multi_label:可选参数,是否多标签(bool,默认 false) | 零样本语义分类:基于语义锚点将文本精准映射至预定义的标签体系,无需额外训练即可实现自动化分类。支持选择多标签模式,单条文本可同时归类到多个标签下。 | SELECT AI_CLASSIFY('无法登录账号', array('投诉','咨询')) SELECT ai_classify('快递送得快,但商品有瑕疵,客服态度还不错', array['物流速度', '包装质量', '商品质量', '客服服务', '性价比'], true) | "投诉" ['物流速度', '客服服务', '客服服务'] |
AI_SIMILARITY | text1: 文本 Atext2: 文本 B | 语义相似度度量:由生成式AI模型判定两个文本的相似度,返回 0 至 1 之间的关联度数值,数值越高表示关联度越大。 | SELECT AI_SIMILARITY('我想退钱', '申请退款') | 0.9 |
AI_FILTER | text: 待审文本policy: 过滤策略 | 合规性风险审计:根据自定义安全策略判定内容是否触碰违规红线,输出布尔值(Boolean)判定结果。 | SELECT AI_FILTER('怎么才能像大神一样优秀呢', '色情暴力') | 0 |
信息提取与处理
函数名称 | 参数规格 | 核心功能描述 | SQL 调用示例 | 预期输出 |
AI_EXTRACT | text: 目标文本entities:抽取规则,支持三种形式:array(string):仅标签名字;返回 json stringarray(string, schema):标签名字 + 指定返回 schema;返回 structstring:JSON Schema 字符串描述;返回 json string | 结构化字段抽取:从非结构化文本中精准识别并捕获特定维度的关键信息,实现数据的标准化沉淀,支持多种输入/输出形式。 | SELECT AI_EXTRACT('我是一名来自清华大学计算机专业的研究生', array('学校','专业')) SELECT ai_extract('我的名字是张三,年龄为25岁', struct<姓名:string, 年龄:int>) SELECT ai_extract('李四居住在上海,是一名软件工程师','{"type": "object","properties": {"姓名": {"type": "string","description": "人员的全名"},"地点": {"type": "string", "description": "城市或国家"},"年龄": {"type": ["integer", "null"], "description": "人员的年龄"},"职业": {"type": ["string", "null"], "description": "人员的职业"}}}') | {"学校": "清华大学", "专业": "计算机"} {姓名: "张三", 年龄: 25} {"姓名": "李四", "地点": "上海", "年龄": null, "职业": "软件工程师"} |
AI_MASK | text: 原始文本tags: 脱敏标签数组 | 隐私数据脱敏:基于预设标签自动定位敏感数据,采用 [MASKED] 掩码技术进行置换遮蔽,确保合规性。 | SELECT AI_MASK('联系 13800138000', array('phone')) | "联系 [MASKED]" |
说明:
AI_TRANSLATE 函数参数 entities 除了支持标签数组的基本形式,还支持 array(string, schema)(通过 struct<...> 指定返回字段及其类型,结果以 struct 形式返回,便于直接对接表字段)和 string(以 JSON Schema 字符串描述抽取结构,能更细粒度地约束字段类型与描述,建议参考 JSON Schema 2020-12 标准描述)。场景模拟:构建一个“舆情处理中心”
数据集准备
-- 创建原始舆情数据表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 '舆情处理中心-原始数据表';-- 插入模拟测试数据集INSERT INTO d_llm_function_demo.t_social_media_raw (id, source_platform, author_name, content) VALUES(1, '微博', '快乐的小羊', '刚才在静安区世纪大道发生了快递车起火,我的包裹号是 SF142335,商品是一件裙子,联系电话 13812345678,急死我了!'),(2, '小红书', '避雷达人', '这种垃圾产品也敢卖 2999 元?退钱!张三你这个经理是怎么当的?@官方账号'),(3, '朋友圈', '科技狂热者', '收到新款手机了,质感无敌!上海发货速度就是快,推荐大家购买。'),(4, '贴吧', '兼职助手', '诚招兼职,加微信:wx_12345,月入过万不是梦,详询 18900001111。'),(5, '官方 App', '用户9527', '登录一直提示系统错误,重启也没用。我身份证号是 310115199001011234 你们查一下账号状态。');
核心 SQL 样例
-- 逻辑:过滤违规 -> 情感分析 -> 生成回复SELECTid,AI_GENERATE(CONCAT('针对该问题生成技术回复:', content)) AS 预制回复FROM d_llm_function_demo.t_social_media_rawWHERE AI_FILTER(content, '谩骂') = FALSE -- 过滤掉纯谩骂AND AI_SENTIMENT(content) = 'negative' -- 仅针对负面舆情
执行结果展示
+------+-----------------------------------------------------------------------------+| id | 预制回复 |+------+-----------------------------------------------------------------------------+| 1 | SF142335包裹已记录,将优先处理。客服稍后联系13812345678确认理赔/补发。请保持电话畅通。 || 4 | 该信息涉嫌违规招聘,请勿轻信。建议通过正规平台求职,谨防诈骗。 || 5 | 账号状态正常。系统错误已反馈技术排查,请稍后再试。 |+------+-----------------------------------------------------------------------------+