游乐游手机版
首页/AI热点日报/热点详情

全模态入湖实现大模型实时湖仓零代码以图搜图

类型:热点整理2026-07-22
在电商平台、内容管理系统和企业知识库中,大规模图片通常存储在对象存储(OSS)中。随着图片数量持续增长,仅依赖文件名、目录结构或人工标注进行检索,会面临诸多痛点:新上架商品图片需要数天才能被搜索系统捕获、文件名多为无意义编号、人工标注成本高昂且标准不一、图片元数据与向量特征分散在多套系统。基于阿里云

在电商平台、内容管理系统和企业知识库中,大规模图片通常存储在对象存储(OSS)中。随着图片数量持续增长,仅依赖文件名、目录结构或人工标注进行检索,会面临诸多痛点:新上架商品图片需要数天才能被搜索系统捕获、文件名多为无意义编号、人工标注成本高昂且标准不一、图片元数据与向量特征分散在多套系统。基于阿里云实时计算 Flink 版、Flink AI 及 DLF Paimon 构建的以图搜图解决方案,能够提供从图片实时发现、向量化入库到 SQL 向量检索的完整链路,全程无需编写代码,也无需额外部署向量数据库,显著提升搜索效率与实时性。

应用场景与目标用户

本方案主要面向大数据技术从业者,适用于电商平台拍照找相似商品、企业素材库与专业图库智能检索、商品重复上架治理等业务场景。目标用户为已部署阿里云 OSS、实时计算 Flink 版和 DLF 的企业数据团队。

传统方案存在的问题

  • 新商品上线后,图片搜索系统需等待下一轮人工触发或批量导入才能感知新增图片,更新周期长达数天。
  • 文件名多为 IMG_20240301_001.jpg 等无意义编号,人工标注成本高、覆盖率有限,且标注质量难以保持一致。
  • 图片元数据、向量特征和索引分散在多套系统中,数据一致性依赖定时任务维护,导致链路复杂、运维成本高。
  • 随着图片规模成倍增长,上述问题将愈发严重,系统性能与可维护性面临更大挑战。

AI 驱动的解决方案

本方案以 TensorFlow 教程提供的 Flower Photos 数据集(约 218 MB,包含 3,670 张 JPG 图片)为例,涵盖 daisy、dandelion、roses、sunflowers、tulips 五类花卉。此外,另准备 5 张数据集之外的花卉照片作为查询图片。整体架构如下:对象存储 OSS 负责存储原始图片,Flink 负责实时数据处理与模型调用调度,Paimon 统一存储数据与向量特征,DLF Global Index 提供检索加速能力。

模型与工具栈

  • 模型:采用 qwen3-vl-embedding 多模态模型,可将图片转化为 2560 维向量,实现高精度语义理解。
  • 工具
    • 阿里云实时计算 Flink 版(版本 11.8),支持 Flink SQL 与 CDC YAML 作业。
    • Flink AI 服务,无需配置 API Key,在 Flink SQL 作业、Flink Agent 作业、Flink Python DataFrame API 中均可直接调用内置模型。每个主账号每个地域每个自然月前 100 万 tokens 免费。
    • DLF Catalog 与 Paimon Warehouse,用于元数据与湖表格式的统一管理。
    • OSS Bucket 与 MNS Queue,实现事件通知与消息队列驱动。

数据流转与业务处理

数据流分为两条:图库图片与查询图片分别通过 Flink OSS CDC 自动感知 OSS 上的图片变更,经 FETCH_CONTENT 读取图片内容,再通过 AI_IMAGE_EMBED 调用 qwen3-vl-embedding 模型生成向量,最终写入 Paimon 表。图库图片写入 image_search.image_assets,查询图片写入 image_search.image_queries,两张表独立存储,避免检索结果召回查询图片本身。

配置 OSS 事件通知,目标设置为 MNS Queue,分别匹配 cdc-image-search/images/flowers/cdc-image-search/queries/flowers/ 前缀,仅监听 ObjectCreated、ObjectCopied 等创建类事件。运行身份需具备 MNS Queue 消费与删除消息、OSS ListObjects 与 GetObject、DLF Catalog 与 Paimon Warehouse 读写、模型服务调用等权限。

实施步骤

使用 Flink CDC YAML 作业,图库与查询图片复用同一模板,仅需替换 OSS 路径、目标表、作业名称及建表参数。关键 transform 步骤:FETCH_CONTENT 从 OSS url 读取图片内容,AI_IMAGE_EMBED 调用模型生成向量。推理结果随元数据一同写入 Paimon。YAML 中配置 modelopenai-compatible 类型,模型名 qwen3-vl-embedding。分别运行两个作业:图库图片作业 source path 为 cdc-image-search/images/flowers,sink table 为 image_search.image_assets;查询图片作业 source path 为 cdc-image-search/queries/flowers,sink table 为 image_search.image_queries

当前进展

本方案已通过实践验证,基于 Flower Photos 数据集完成端到端测试。数据写入完成后,可通过 DLF 数据预览直接查看 Blob 与特征向量内容。

实际效果

使用 Flink SQL 的 VECTOR_SEARCH 函数进行检索。创建 Print Sink 后,执行 SQL 查询,从 image_queries 的 5 张查询图片分别从 image_assets 中召回 Top-3 相似图片,共计 15 条结果。以雏菊(daisy)类别的查询图片为例,Top-3 召回结果均为 daisy 目录下的相似图片,相似度得分在 0.88~0.92 之间,表明视觉语义高度一致。查询图片路径为 queries/,匹配路径为 images/,来自不同表,因此不会召回查询图片自身。

查询结果通过 Print Connector 输出至作业日志,每行格式为 [query_key, matched_key, score]。可在 Print Sink 中增加 oss_urlfile_name 等字段,便于后续查看与分析。

成本与局限性

  • 成本:Flink AI 服务每个主账号每个地域每个自然月前 100 万 tokens 免费,超出部分按量计费。Flink 实时计算与 DLF 资源按实际使用量付费。
  • 局限性
    • 图片 Embedding 侧重于语义与视觉相似检索,若需识别完全相同或仅发生缩放/压缩的重复文件,建议同时使用 MD5、感知哈希等技术。
    • 为保证检索结果稳定,建议每张图片使用唯一且不重复的 Object Key;图片更新时需上传为新对象。删除或下架的图片可通过独立状态管理控制是否参与检索。
    • 在实际生产环境中,可结合类目、品牌、价格、库存及用户行为对向量召回结果进行二次过滤与排序。对于精确同款识别,需引入商品主体检测、局部特征优化等增强手段。

风险控制与人工审核

本方案中模型推理结果直接用于检索,不涉及医疗、金融等高风险决策场景。对于商品重复上架治理等场景,需注意向量检索结果仅作为辅助工具,人工审核仍是必要环节。若图片数据涉及隐私或版权,务必确保符合相关数据授权与合规要求。

可复制条件

本方案可复制需满足以下条件:

  • 已使用阿里云 OSS、实时计算 Flink 版和 DLF 的企业数据平台。
  • 图片数据存储在 OSS 中,且可配置事件通知。
  • 具备 Flink CDC YAML 和 SQL 作业开发能力。
  • 模型调用需在 Flink AI 服务支持模型列表内,当前支持 qwen3-vl-embedding 等。
  • 图片数量、向量维度需与 DLF Global Index 配置一致(本方案维度为 2560)。

本方案不局限于图片,也可用于文本、音频、视频等非结构化数据的实时处理与检索。

参考资源:

  • 开通实时计算 Flink 版
  • Flink OSS CDC 使用文档
  • Flink 数据摄入文档:CDC YAML 作业开发指南
  • DLF 2.0 Global Index:构建 Global Index 实现查询加速和向量搜索

本文信息基于原始资料记录时的状态,模型版本、产品功能、价格、企业合作和政策可能持续变化,实际情况以相关主体最新公开信息为准。

来源:https://segmentfault.com/a/1190000048060973

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。