MaxCompute 多模态检索:原生向量能力开启多模态 AI 大数据处理新范式
向量:AI 时代的多模态数据底座
Embedding——也就是向量嵌入——将文本、图片、音频、视频等多模态数据的语义,全部编码成高维向量。当这些向量被放进同一个空间,通过计算彼此之间的距离来揭示语义关联时,真正的价值才得以释放。这个过程就是向量检索(Vector Search)。
起初,向量主要服务于搜索和推荐:用户搜一个词,系统得理解它与商品标题、正文之间的语义关系;用户看过一个商品,系统要找出相似款或可能感兴趣的内容。这活儿干得不错,但应用边界也就限于此了。
到了今天,大模型和 RAG 的崛起彻底拓宽了向量的舞台——智能问答、图片检索、文档去重、语音意图识别……几乎每个需要系统理解“两段文本是不是同一个意思”“两张图是否相似”“这个 Query 该匹配哪些知识块”的场景,都离不开 Embedding。可以说,向量早已不只是搜索推荐的基础设施,它正在成为 AI 时代的通用数据底座。
旧链路之困:跨系统拼装的多模态检索架构
在传统架构下,把向量检索塞进大数据处理链路,可不是一件轻松的事。数据工程师通常需要经历这么几步:
在数据仓库或外部存储中存放并提取原始数据;
动用专门的 ML 基础设施来生成 Embedding;
把 Embedding 加载到独立的向量数据库进行检索匹配;
开发自定义管道,将检索结果回流到 MaxCompute 做离线的批量 Join、过滤和分析,最终服务于线上场景。
对于很多 MaxCompute 用户来说,这条链路的复杂性是切肤之痛:原始数据在外部对象存储,Embedding 由外部脚本生成,索引构建和相似计算放在独立的向量系统,向量匹配结果再回流 MC 做 Join、过滤、评估和回写。每一步都像在拼乐高,但拼好后发现,维护起来简直是个无底洞。
这样的链路当然能跑通,但跑久了真的会累——脚本要维护、索引版本要对齐、失败后还得排查是模型、数据、检索还是同步出了问题。更麻烦的是,每多一种模态,就要多一段处理逻辑。最终形成的,是一个“碎片化、高成本、高维护”的架构,这也成了很多团队拥抱向量化的最大门槛。
2.1 老版本:Proxima CE 的复杂链路
MaxCompute 早期的向量检索能力依托于达摩院开发的 Proxima CE 向量计算引擎。它以内嵌 JAR 包的形式运行在 MaxCompute 上,底层使用 Proxima 算法库。Proxima CE 能完成基础的离线向量检索,支持百万级 TopK 查询,但使用流程相当“重量级”:
- :需要创建 MaxCompute 项目、创建 DataWorks 工作空间并绑定数据源、单独申请开通 Volume 能力、创建 External Volume 并指定 OSS 内网域名。任何一个环节出了岔子,作业就会报错。
环境准备繁琐
- :JAR 包基于 Linux 编译,Windows 和 Mac 平台一概不支持;odpscmd 命令行工具也只限 Linux 环境使用。
平台限制严格
- :向量检索只是独立的一步,检索结果需要额外的管道回流到业务表中做 Join 和过滤;向量化依赖外部脚本或模型服务完成;索引、脚本、结果表分散维护,稍有不慎就乱套。
链路割裂明显
- :仅面向纯向量数据,不支持 BLOB 等多模态对象存储。图文混合检索?业务侧只能自己拼装多条链路,费时费力。
多模态无从谈起
2.2 新旧版本功能对比
那 MaxCompute 多模态检索的目标就很明确了:把多模态对象、向量化、索引、检索、过滤、分析和结果回写,全部拉回 MaxCompute 主链路。围绕离线大规模多模态数据处理场景,让用户用熟悉的表、SQL、分区和权限体系,完成端到端的向量数据生产和计算。
对比维度 | Proxima CE | MaxCompute 多模态检索 |
算法库 | Proxima | VSAG |
数据类型与向量化 | 纯向量(INT8/FLOAT/BINARY),向量化依赖外部脚本或模型调用 | 原生 |
使用流程 | 开通 External Volume → 安装 JAR → 编写 Job 脚本 → 结果回流 |
|
SQL 集成 | 检索与后续分析割裂,结构化过滤需业务侧二次处理 |
|
大规模离线处理性能 | 可完成基础检索,但扩展和调优成本高 | 面向批量任务深度优化,以 Proxima CE 同等数据集和召回规模为基线,在已测试的多个业务场景下作业运行时间加速 1.27x ~ 5.86x |
运维治理 | 索引、脚本、结果表分散维护 | 统一纳入表、分区、权限、调度、血缘体系 |
MaxCompute 面向多模态检索场景的升级,绝不仅仅是提供一个 VECTOR_SEARCH 函数那么简单。它把向量检索从“外部召回步骤”变成了“离线数据生产链路的一部分”,从而减少跨系统数据搬运,从根本上优化复杂的生产架构。
它解决了传统链路的四个痛点
MaxCompute 多模态检索分层构建了从数据入仓到检索结果产出的完整能力集,核心能力如下:
能力层 | 关键功能 | 作用 |
统一存储 |
| 图片、文档、文本、向量放在同一张表里 |
内置向量化 |
| 在 SQL 中完成文本、图片等数据的向量化 |
索引与检索 | 向量索引 + | 批量 TopK 近邻召回 |
业务分析 | SQL Join / 过滤 / 聚合 / 回写 | 检索结果直接接入推荐、广告、搜索、RAG 链路 |
3.1 统一存储:多模态数据不再多系统拼装
场景问题
产品能力
CREATE TABLE item_base(
item_id STRING,
title STRING,
category STRING,
brand STRING,
price DECIMAL(10,2),
stock_status STRING,
image BLOB,
text_embedding VECTOR(FLOAT,128),
image_embedding VECTOR(FLOAT,512)
)
PARTITIONED BY (dt STRING)
TBLPROPERTIES ("data.evolution.enable"="true","table.format.version"="2");
其中:
BLOB(Binary Large Object)作为 MaxCompute 支持存储图片、音频、视频、文档等非结构化二进制大对象的类型,将多模态数据的原始文件、元信息和标注信息统一存放。VECTOR是 MaxCompute 的原生向量数据类型,基于VECTOR(FLOAT格式,用于高效存储和处理 Embedding 数据。, ) AI_EMBEDDING函数支持在 SQL 中直接调用大语言模型,将文本或多模态数据转换为向量。
通过以上能力,所有数据得以在 MaxCompute 同一张表内完成向量化和存储,再也不用跨系统来回倒腾了。
3.2 统一分析:标量过滤与向量检索一体化执行
场景问题
产品能力
VECTOR_SEARCH 函数可通过 base/query 子查询分别做过滤,再执行 Base Table 和 Query Table 之间的离线批量向量检索。业务条件不再是“事后补救”,而是“事前约束”。
SELECT
r.query_id,
r.item_id,
r.distance,
i.category,
i.brand,
i.price
FROM
VECTOR_SEARCH(
(SELECT item_id, category, brand, price, text_embedding
FROM item_base
WHERE dt='2026-06-22'
AND category='3C数码'
AND price BETWEEN 100 AND 500
AND stock_status='on_sale'),
text_embedding,
(SELECT query_id, query_embedding
FROM query_embedding
WHERE dt='2026-06-22'
AND scene='search_recall'),
query_embedding,
50) r
JOIN item_base i
ON r.item_id = i.item_id
AND i.dt = '2026-06-22'
ORDER BY r.query_id, r.distance ASC;
3.3 面向大规模离线批量检索的全链路闭环
场景问题
产品能力
- :支持
检索与打分
VECTOR_SEARCH批量检索,同时结合cosine_distance、l2_distance、inner_product_distance等距离计算函数完成融合打分。 - :SQL Join 补充类目、价格、标签、权限、用户分层等业务字段,过滤和聚合直接在检索结果上执行。
业务补全
- :相似结果写入推荐、广告、搜索、RAG、数据治理等下游表,纳入现有调度、权限和血缘体系,分区表沉淀每日候选集交给下游任务消费。
分析与回写
尤其值得强调的是,这一全链路面向离线批量任务做了深度优化,充分利用 MaxCompute 的分布式计算能力——以 Proxima CE 同等数据集和召回规模为基线,在已测试的多个业务场景下,作业运行时间获得了 1.27x ~ 5.86x 的加速,CU 消耗也有明显下降。
三个典型应用场景
MaxCompute 多模态检索更适合承接大规模、批量化、需要和业务数据深度结合的离线多模态数据处理链路。下面三个场景分别围绕搜推广告、多模态理解和 AI 语料治理三大方向,展示在不同业务场景下的落地方式。
4.1 搜推广告候选集生产
场景痛点
MaxCompute 提供的能力
业务价值
4.2 汽车多模态理解与意图预处理
场景痛点
MaxCompute 提供的能力
业务价值
4.3 AI 语料治理与 RAG 候选集构建
场景痛点
MaxCompute 提供的能力
业务价值
总结
说到底,MaxCompute 多模态检索并不是把向量检索包装成一个更复杂的新概念,而是把向量能力放回 MaxCompute 数据生产链路里,和表、SQL、分区、权限、调度、血缘一起工作。这样一来,客户少维护几段链路,少搬几次数据,也少在每次改规则、换模型、重建索引时来回对齐系统状态。核心优势概括如下:
- ——多模态对象、向量、索引和召回结果都留在 MaxCompute 内,消除了 Proxima CE 时代跨 Volume、OSS、外部向量系统的数据搬运。
少搬数据
- ——向量化、检索、过滤、Join、融合打分和回写全部用 SQL 串起来,外部脚本和临时同步任务大幅减少。
少写脚本
- ——向量相似度可以和类目、价格、权限、人群、地域、时间窗口等业务条件在同一 SQL 中联合使用。过去需要先召回十万级候选集再逐层过滤到几百条,现在直接在查询中约束条件精准匹配。
结果更可控
- ——面向千万级、亿级离线召回、内容去重、知识库重建等任务深度优化。对比 Proxima CE 同等数据集和召回规模为基线,在已测试业务档位中,MaxCompute Vector Search 能力相比 Proxima CE 取得了 1.27x ~ 5.86x 的作业运行时间加速,CU 消耗也大幅优化。
适合离线批量处理
-
- 网名带郑和霍字的网名女有哪些
- 角色扮演 | 1
- 网名