答案是:不能直接通过标准 SQL 语句(如 SELECT ai_inference(text) FROM t)原生调用大模型推理,但可通过 MaxFrame + AI Function 编程范式,在 MaxCompute 数仓环境中实现「类 SQL」的声明式批量推理,且全程运行于统一执行平面、无需跨系统调度。这一能力并非 SQL 语法层的扩展,而是将大模型推理深度嵌入分布式 DataFrame 计算框架中,形成一种面向离线 AI 数据产线的工程化接口。
核心定位:AI Function 不是 SQL 函数,而是分布式 AI 算子
MaxCompute 本身不提供 AI_INFER() 这类内建 SQL 标量函数。其 AI 推理能力由上层计算框架 MaxFrame 承载,而 MaxFrame 是 MaxCompute 原生集成的 Python 分布式计算引擎(兼容 Pandas API),它将大模型调用抽象为可并行、可容错、可血缘追踪的 DataFrame 算子。这意味着:
- ✅ 调用形式接近 SQL 思维:开发者以链式方法调用(如
df.llm.generate(...)或df.embed(...)),输入是表字段,输出自动回填为新列; - ❌ 不支持纯 SQL 上下文执行:无法在
SELECT子句中直接写llm_generate(title, 'Qwen3');必须通过 MaxFrame Python SDK 启动任务; - ⚠️ 非实时低延迟服务:面向批量(万级至亿级样本)、离线(分钟至小时级 SLA)、高吞吐场景,不适用于单条记录毫秒级响应需求。
这种设计取舍源于 MaxCompute 的本质定位:它是一个以确定性、可审计、强治理为优先级的企业级 SaaS 化云数据仓库,而非通用 AI 推理网关。AI Function 的价值,在于把模型调用从“外部黑盒 API 调用”转变为“内部可编排、可监控、可版本化的数据处理环节”。
能力范围:覆盖生成、嵌入、多模态三大推理类型
AI Function 当前支持三类主流大模型推理任务,全部基于阿里云百炼平台或开源模型托管服务:
| 类型 | 典型用途 | 支持模型示例 | 关键参数控制 |
|---|---|---|---|
| 文本生成(LLM Generate) | 商品描述生成、客服问答摘要、代码补全、规则驱动文案改写 | Qwen3、Qwen2.5、DeepSeek-V2、百炼 text-generation-v4 | max_tokens, temperature, top_p, stop_words |
| 文本/多模态嵌入(Embedding) | 语义检索召回、聚类去重、RAG 向量库构建、跨模态对齐 | text-embedding-v3/v4、qwen-vl-chat(图文联合编码) | output_type(dense/sparse)、dimensions、batch_size |
| 结构化抽取(Structured Output) | 从非结构化文本中提取 JSON Schema 字段(如订单号、金额、时间) | Qwen3-structured、百炼 function-calling 模型 | response_format={'type': 'json_object'}、tools 定义 |
所有调用均按 Token 精确计费(输入 + 输出 Token 总和),且自动适配百炼 API 的 TPM/RPM 限流策略,无需用户手动实现退避逻辑。例如,对千万级商品标题批量生成多语言描述,只需一行 .generate() 调用,MaxFrame 自动完成分片、并发压测、失败重试与断点续跑。
兼容性要求:四层依赖缺一不可
要成功启用 AI Function,需同时满足以下四个层面的条件:
- 运行环境层:必须使用 MaxCompute 3.0+ 版本,并启用 MaxFrame 引擎(通过
set odps.sql.executionengine=MaxFrame;开启); - 资源配额层:需提前申请 GPU 算力配额(GU Quota),因大模型推理默认调度 GU 资源;CU(CPU)仅支持轻量嵌入模型(如小型 sentence-transformers);
- 模型接入层:目标模型须已发布至百炼平台或 MaxCompute 公共模型集(如
bigdata_public_modelset),且调用方具备对应项目权限; - 数据格式层:输入数据需为 MaxFrame DataFrame,支持
STRING/BINARY(图像/音频原始字节)列;图像/视频需先转为 Base64 或 OSS URI 字符串,再交由多模态模型解析。
不满足任一条件都将导致任务提交失败。例如,若未配置 GU Quota,即使代码语法正确,也会报 No available GPU resources 错误,而非静默降级到 CPU。
实践路径:从本地测试到生产闭环的三步落地
典型工程落地遵循渐进式验证:
- 单机模拟验证:在 DataWorks Notebook 或本地 PySpark 环境中,用小批量样本(<100 行)调用
llm.generate(),确认 prompt 工程效果与输出格式; - 分布式压力测试:提交至 MaxCompute 集群,设置
gu=4并指定gu_quota,观测千级样本吞吐、Token 消耗与错误率;重点验证限流触发时的Worker Sleep和自动重试行为; - 生产流水线集成:通过 DataWorks 工作流编排,将 AI Function 作为节点嵌入 ETL 链路——上游完成文本清洗与图片 OCR 提取,下游自动写入带 embedding 列的结果表,并触发 Hologres 向量索引构建。
义乌小商品城案例表明,该路径可将亿级商品图图文打标周期从周级压缩至小时级,且全链路血缘可溯:DataWorks 中可清晰查看某张图片的分类结果由哪个模型、哪个 prompt 版本、哪次任务生成。
方案边界:何时该用,何时需绕行?
AI Function 并非万能解法,适用性取决于业务约束:
✅ 推荐使用场景:
- 批量处理非结构化数据(日增百万级文本/图片/音视频);
- 需将推理结果与已有数仓表深度关联(如为用户评论表追加情感标签列);
- 对成本敏感,需精确按 Token 计费,避免自建 vLLM 的固定 GPU 占用成本。
❌ 应规避场景:
- 实时交互类需求(如在线客服对话);
- 需定制化模型微调权重(AI Function 仅支持推理,不开放训练接口);
- 输入含敏感字段且禁止出域(模型调用走百炼公网接口,不支持 VPC 内私有部署模型)。
归根结底,MaxCompute 的 AI Function 解决的是「如何让大模型成为数据流水线中一个可靠、可管、可计费的算子」,而非把数仓变成推理服务器。它的竞争力不在语法糖,而在将 AI 能力收敛至企业级数据治理平面的能力。
参考文献
- 《义乌小商品城基于 MaxFrame AI Function 的亿级 AI 数据产线提速之路》 https://mp.weixin.qq.com/s/8a0g2MvNbdDklbeUoQ3mGg
- 《Meet OpenLake: The High-Performance, Cost-Effective Data Lakehouse Alternative for Big Data and AI》 https://www.alibabacloud.com/blog/meet-openlake-the-high-performance-cost-effective-data-lakehouse-alternative-for-big-data-ai_603032
- 《MaxCompute 多模态检索:原生向量能力开启多模态 AI 大数据处理新范式》 https://mp.weixin.qq.com/s/g42VoA9wsieSnmtWf_QBMA
- 《千问 APP × 阿里云:MaxCompute 向量检索重构 RAG 数据收录评估链路,一条SQL将性能提速 11 倍》 https://mp.weixin.qq.com/s/BbFq3mpIk8rJu7NPBA52sA
- 《数据·智能·进化:Agent 时代的数据与 AI 基础设施》 https://mp.weixin.qq.com/s/O2K-N0hWYca_D9JivObW4A
- 《MaxFrame AI Function-云原生大数据计算服务 MaxCompute(MaxCompute)-阿里云帮助中心》 https://help.aliyun.com/zh/maxcompute/user-guide/maxframe-ai-function-1
- 《MaxFrame AI function - MaxCompute - Alibaba Cloud Documentation Center》 https://www.alibabacloud.com/help/en/maxcompute/maxframe-ai-function-1
- 《Process Unstructured Data with AI Function and Object Table - MaxCompute - Alibaba Cloud Documentation Center》 https://www.alibabacloud.com/help/en/maxcompute/user-guide/using-ai-functions-and-object-tables-to-process-unstructured-data
- 《MaxFrame AI Function - 云原生大数据计算服务 MaxCompute - 阿里云》 https://www.alibabacloud.com/help/zh/maxcompute/user-guide/features/
- 《MaxFrame AI function - MaxCompute - Alibaba Cloud Documentation Center》 https://www.alibabacloud.com/help/en/maxcompute/user-guide/maxframe-ai-function-1