向量数据库实战:选型、调优与落地~系列文章15:多模态向量搜索:图片、音频、视频统一检索的工程实现
多模态向量搜索图片、音频、视频统一检索的工程实现 ️本文是《向量数据库实战选型、调优与落地》专栏第 15 篇⏱️阅读时间约 13 分钟 开篇不只是文本2025 年AI 应用早已不局限于文本——淘宝拍照搜同款拍一张照片找到相似商品 抖音内容推荐根据视频内容推荐相似视频 Spotify 歌曲推荐根据音频特征推荐相似音乐 这些背后的核心技术就是多模态向量搜索 多模态 Embedding 模型核心思想多模态模型能把不同类型的媒体文本、图片、音频映射到同一个向量空间中。┌─────────────────────────────────────────────────────────┐ │ 多模态向量空间 │ ├─────────────────────────────────────────────────────────┤ │ │ │ 文本: 一只猫在草地上玩耍 │ │ → [0.12, -0.34, 0.56, ...] │ │ ↕ 距离很近 │ │ 图片: 猫在草地上的照片 │ │ → [0.13, -0.33, 0.55, ...] │ │ ↕ 距离较远 │ │ 图片: ️城市汽车照片 │ │ → [0.89, 0.12, -0.45, ...] │ │ │ │ 文本和图片在同一个向量空间中 │ │ → 可以用文本搜图片也可以用图片搜文本 │ │ │ └─────────────────────────────────────────────────────────┘主流多模态模型模型类型维度支持模态开源CLIP图文512/768文本图片✅SigLIP图文1024文本图片✅ImageBind多模态1024文本图片音频视频深度热成像✅Chinese-CLIP图文中文768中文文本图片✅Jina CLIP v2图文768文本图片✅ 实战图文混合搜索Step 1使用 CLIP 生成多模态向量importtorchfromtransformersimportCLIPModel,CLIPProcessor# 加载中文 CLIP 模型modelCLIPModel.from_pretrained(OFA-Sys/chinese-clip-vit-large-patch14)processorCLIPProcessor.from_pretrained(OFA-Sys/chinese-clip-vit-large-patch14)# 文本向量化defencode_text(text):inputsprocessor(text[text],return_tensorspt,paddingTrue)withtorch.no_grad():text_featuresmodel.get_text_features(**inputs)returntext_features[0].numpy()# 图片向量化defencode_image(image_path):fromPILimportImage imageImage.open(image_path)inputsprocessor(imagesimage,return_tensorspt)withtorch.no_grad():image_featuresmodel.get_image_features(**inputs)returnimage_features[0].numpy()# 测试text_vecencode_text(一只可爱的猫咪)image_vecencode_image(cat_photo.jpg)# 计算相似度fromnumpy.linalgimportnorm similaritynp.dot(text_vec,image_vec)/(norm(text_vec)*norm(image_vec))print(f文本和图片的相似度:{similarity:.4f})Step 2存入向量数据库frompymilvusimportCollection,FieldSchema,DataType# 创建多模态集合fields[FieldSchema(nameid,dtypeDataType.INT64,is_primaryTrue,auto_idTrue),FieldSchema(namecontent_type,dtypeDataType.VARCHAR,max_length20),# text/image/videoFieldSchema(nameoriginal_text,dtypeDataType.VARCHAR,max_length65535),FieldSchema(nameimage_url,dtypeDataType.VARCHAR,max_length1024),FieldSchema(nameembedding,dtypeDataType.FLOAT_VECTOR,dim768),# CLIP 维度]schemaCollectionSchema(fieldsfields)collectionCollection(multimodal,schema)# 插入文本数据text_embeddingencode_text(向量数据库入门教程)collection.insert([[text],# content_type[向量数据库入门教程],# original_text[],# image_url[text_embedding.tolist()]])# 插入图片数据image_embeddingencode_image(tutorial_cover.jpg)collection.insert([[image],[],[tutorial_cover.jpg],[image_embedding.tolist()]])Step 3跨模态搜索# 用文本搜索图片collection.load()query_text教程封面图片query_embeddingencode_text(query_text)resultscollection.search(data[query_embedding.tolist()],anns_fieldembedding,param{metric_type:COSINE,params:{ef:128}},limit5,exprcontent_type image,# 只搜图片output_fields[content_type,original_text,image_url])# 用图片搜索文本query_imageencode_image(some_photo.jpg)resultscollection.search(data[query_image.tolist()],anns_fieldembedding,param{metric_type:COSINE,params:{ef:128}},limit5,exprcontent_type text,# 只搜文本output_fields[content_type,original_text]) 多模态搜索应用场景应用场景查询方式检索目标典型案例以图搜图图片 → 图片相似图片淘宝拍照搜同款以文搜图文本 → 图片匹配的图片素材网站搜索以图搜文图片 → 文本图片描述/相关文档图片内容理解跨模态推荐文本 → 图文混合图文内容小红书推荐视频检索文本/图片 → 视频帧视频关键帧视频内容搜索️ 视频搜索架构┌─────────────────────────────────────────────────────────┐ │ 视频向量搜索架构 │ ├─────────────────────────────────────────────────────────┤ │ │ │ 输入视频 │ │ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 视频抽帧 │ 每秒抽 1 帧 / 关键帧检测 │ │ └──────┬───────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 帧向量化 │ CLIP 对每帧生成向量 │ │ └──────┬───────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 视频向量聚合 │ 平均池化 / 最大池化 │ │ │ │ 将 N 帧向量 → 1 个视频向量 │ │ └──────┬───────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 向量数据库 │ 存储视频向量 元数据 │ │ │ │ (视频URL、时间戳、标签) │ │ └──────────────┘ │ │ │ │ 查询: 找一段日落的海边视频 │ │ → 文本向量化 → 向量搜索 → 返回匹配视频 │ │ │ └─────────────────────────────────────────────────────────┘⚠️ 多模态搜索的坑坑说明解决方案模型选择不同模型的向量空间不兼容同一集合必须用同一模型中文支持原版 CLIP 中文效果差用 Chinese-CLIP图片预处理尺寸、格式不统一统一 resize 到模型要求向量维度不同模态维度可能不同确认模型输出维度一致存储成本图片/视频占空间只存向量URL原始文件存 OSS 本篇核心要点回顾要点说明多模态模型CLIP/Chinese-CLIP 将文本和图片映射到同一空间跨模态搜索可以用文本搜图片也可以用图片搜文本视频搜索抽帧 → 向量化 → 聚合 → 存储中文场景推荐 Chinese-CLIP 或 Jina CLIP v2存储策略向量存数据库原始文件存 OSS下篇预告《Milvus 分布式部署实战从单机到集群的完整踩坑记录 ️》有问题欢迎评论区讨论觉得有用请点赞收藏 作者高炉炼铁智能化技术研究者专注钢铁冶金与人工智能 交叉领域。 如果觉得有帮助请点赞、收藏、转发版权归作者所有未经许可请勿抄袭套用商用(或其它具有利益性行为)。 关注专栏不错过后续精彩内容

相关新闻

麒麟信安亮相2021中国石油石化企业信息技术交流大会 暨油气产业数字化转型高峰论坛

麒麟信安亮相2021中国石油石化企业信息技术交流大会 暨油气产业数字化转型高峰论坛

由中国石油、中国石化、中国海油、中国中化等主办的“2021中国石油石化企业信息技术交流大会暨展示会”于5月12-14日在北京召开。本次会会议主题为“以新发展理念推动数字化转型,助力油气产业高质量发展”,深度探讨企业在数字化转型中面临的共性问题、在…

2026/8/25 6:42:20 阅读更多 →
GLM-5.2 低价冲击:企业开始认真给 Token 算账

GLM-5.2 低价冲击:企业开始认真给 Token 算账

GLM-5.2 把模型竞争拉回成本账,企业将用路由重新分配智能。企业用 AI 的第一阶段,大家关心的是「能不能用」。第二阶段,问题变成「用一次多少钱」。 最近围绕 智谱 GLM-5.2 的讨论,正好踩中了这个切换点。 讨论里最吸引人的不是又…

2026/8/21 23:32:06 阅读更多 →
ARM Cortex-M4低功耗机制:WFI/WFE唤醒原理与PRIMASK中断延迟实战

ARM Cortex-M4低功耗机制:WFI/WFE唤醒原理与PRIMASK中断延迟实战

1. 项目概述:深入ARM Cortex-M4的睡眠与唤醒机制 在嵌入式系统开发,尤其是电池供电或对功耗敏感的设备中,如何让处理器在无事可做时“聪明地”休眠,并在需要时被精准唤醒,是每个开发者必须掌握的核心技能。ARM Cortex-…

2026/8/25 18:03:18 阅读更多 →

最新新闻

一种新型操作系统内核:一种全新架构,不基于任何现有架构,没有POSIX与syscall系统调用的全新内核

一种新型操作系统内核:一种全新架构,不基于任何现有架构,没有POSIX与syscall系统调用的全新内核

新型操作系统内核v1.0 GitHub:https://github.com/wupeixing192/New-Operating-System Gitee: https://gitee.com/wupeixing192/New-Operating-System 一个全新的内核,完全从零编写,不依赖任何现有架构,没有POSIX&…

2026/8/25 23:38:32 阅读更多 →
AI Agent如何重塑程序员工作流:从OpenClaw实践看效率革命

AI Agent如何重塑程序员工作流:从OpenClaw实践看效率革命

1. 项目概述:当“假装努力”遇上AI最近在技术社区和职场圈子里,一个词被反复提及:“OpenClaw”。它不是一个新出的游戏外挂,也不是某个神秘组织,而是一个在AI Agent(智能体)开发领域里&#xff…

2026/8/25 23:38:32 阅读更多 →
QClaw+ADP:构建可管可控智能体工作流的企业级实践

QClaw+ADP:构建可管可控智能体工作流的企业级实践

1. 项目概述:从“智能体”到“可管可控”的跨越最近在折腾智能体开发的朋友,估计都绕不开一个核心痛点:单个智能体能力再强,也像是一个单打独斗的“特种兵”,面对复杂的、多步骤的业务流程,往往力不从心。而…

2026/8/25 23:38:32 阅读更多 →
为AI编程助手集成PDF解析技能:从文本提取到结构化处理

为AI编程助手集成PDF解析技能:从文本提取到结构化处理

1. 项目概述:当Claude Code遇上PDF解析最近在折腾Claude Code,发现一个挺普遍但有点烦人的问题:处理PDF文件。无论是技术文档、论文还是报告,PDF格式无处不在,但它的“封闭性”对于代码生成和智能分析来说,…

2026/8/25 23:38:32 阅读更多 →
基于遥感影像的目标检测系统:从 YOLO12 训练到 Web 在线推理

基于遥感影像的目标检测系统:从 YOLO12 训练到 Web 在线推理

仓库地址:https://github.com/Pro-Gas-Station/core-remote-sensing-detect-web 一、作品背景与设计目标 随着卫星与无人机遥感数据的持续积累,航空与卫星影像在国土监管、港口调度、应急救灾等场景中的用量显著增加。传统人工判读方式效率低、成本高&a…

2026/8/25 23:38:32 阅读更多 →
2026上海别墅铸铝门选型全攻略:材质标准、工艺鉴别与场景适配深度解读

2026上海别墅铸铝门选型全攻略:材质标准、工艺鉴别与场景适配深度解读

2026上海别墅铸铝门选型全攻略:材质标准、工艺鉴别与场景适配深度解读花十几万定制的别墅入户铸铝门,入住不到三年便出现漆面褪色、边框氧化锈蚀,甚至锁具防撬性能不达标,上海不少高端别墅业主在装修环节都踩过同款 “坑”。外观相…

2026/8/25 23:37:32 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →