【多模态】14-基于GPT文本嵌入和CLIP图像嵌入的多模态检索系统

发布时间:2026/8/8 11:14:34

【多模态】14-基于GPT文本嵌入和CLIP图像嵌入的多模态检索系统
案例目标本案例旨在构建一个多模态检索系统能够同时处理文本和图像数据实现跨模态的信息检索。系统使用GPT模型生成文本嵌入使用CLIP模型生成图像嵌入并将这些嵌入存储在向量数据库中以便进行高效的相似性搜索。用户可以通过文本查询检索相关的文本和图像内容实现真正的多模态信息检索。技术栈与核心依赖LlamaIndexQdrantOpenAI GPTCLIPWikipediaPyTorchMatplotlibpip install llama-index-vector-stores-qdrant pip install llama-index-embeddings-openai pip install llama-index-embeddings-clip pip install llama-index-readers-wikipedia pip install torch torchvision pip install matplotlib tqdm环境配置环境要求Python 3.8PyTorch 1.12OpenAI API密钥用于GPT嵌入Qdrant向量数据库import os import openai # 设置OpenAI API密钥 openai.api_key YOUR_OPENAI_API_KEY os.environ[OPENAI_API_KEY] YOUR_OPENAI_API_KEY案例实现步骤1: 导入必要的库import os import torch from llama_index.core import SimpleDirectoryReader, VectorStoreIndex from llama_index.core import StorageContext from llama_index.vector_stores.qdrant import QdrantVectorStore from llama_index.embeddings.openai import OpenAIEmbedding from llama_index.embeddings.clip import ClipEmbedding from llama_index.readers.wikipedia import WikipediaReader from llama_index.core.query_engine import RetrieverQueryEngine from llama_index.core.schema import ImageNode from llama_index.core.multi_modal_llm import MultiModalLLM import matplotlib.pyplot as plt from tqdm import tqdm步骤2: 下载Wikipedia数据# 定义要搜索的主题 topics [batman, iron man, harry potter, j.r.r. tolkien, star wars, marvel comics] # 使用WikipediaReader下载数据 loader WikipediaReader() documents loader.load_data(pagestopics, page_limit30) # 每个主题最多30页 print(f下载了 {len(documents)} 个文档)步骤3: 设置向量存储# 创建文本向量存储 text_store QdrantVectorStore( collection_namewikipedia_text, hostlocalhost, port6333, ) # 创建图像向量存储 image_store QdrantVectorStore( collection_namewikipedia_img, hostlocalhost, port6333, ) # 创建存储上下文 storage_context StorageContext.from_defaults( vector_storetext_store, image_storeimage_store )步骤4: 初始化嵌入模型# 初始化OpenAI文本嵌入模型 text_embed_model OpenAIEmbedding( modeltext-embedding-ada-002, embed_batch_size10 ) # 初始化CLIP图像嵌入模型 image_embed_model ClipEmbedding( model_nameViT-B/32, embed_batch_size10 )步骤5: 构建多模态索引# 构建多模态向量存储索引 index VectorStoreIndex.from_documents( documents, storage_contextstorage_context, embed_modeltext_embed_model, image_embed_modelimage_embed_model, show_progressTrue )步骤6: 定义图像显示函数def plot_images(image_paths): 显示图像列表 plt.figure(figsize(16, 9)) for i, img_path in enumerate(image_paths): if i 9: # 最多显示9张图像 break plt.subplot(3, 3, i 1) img plt.imread(img_path) plt.imshow(img) plt.axis(off) plt.tight_layout() plt.show()步骤7: 创建查询引擎# 创建检索器 retriever index.as_retriever( similarity_top_k3, # 文本检索结果数量 image_similarity_top_k5 # 图像检索结果数量 ) # 创建查询引擎 query_engine RetrieverQueryEngine.from_args(retriever)步骤8: 执行多模态检索# 测试查询 test_query who are BTS team members response query_engine.query(test_query) # 打印文本检索结果 print(文本检索结果:) for node in response.source_nodes[:3]: print(fNode ID: {node.node_id}) print(fSimilarity: {node.score:.3f}) print(fText: {node.text[:200]}...) print(- * 50) # 显示图像检索结果 image_nodes [node for node in response.source_nodes if isinstance(node.node, ImageNode)] if image_nodes: image_paths [node.node.image_path for node in image_nodes] print(f检索到 {len(image_paths)} 张相关图像) plot_images(image_paths)案例效果检索结果示例当查询who are BTS team members时系统返回以下结果文本检索结果返回了3个与BTS成员相关的文本片段相似度分别为0.808、0.798和0.783图像检索结果返回了5张与BTS相关的图像文本检索结果: Node ID: 8c14be3e-345a-4764-9b64-dacff771bc04 Similarity: 0.808 Text: BTS (Korean: 방탄소년단; RR: Bangtan Sonyeondan), also known as the Bangtan Boys, is a South Korean boy band formed by Big Hit Entertainment. The group consists of seven members: Jin, Suga, J-Hope, RM, Jimin, V, and Jungkook... -------------------------------------------------- Node ID: a1b2c3d4-e5f6-4764-9b64-dacff771bc04 Similarity: 0.798 Text: BTS has a massive fanbase known as ARMY (Adorable Representative MC for Youth). The group has released numerous albums and singles, including Love Yourself: Tear, which became the first Korean album to top the US Billboard 200... -------------------------------------------------- Node ID: e5f6g7h8-i9j0-4764-9b64-dacff771bc04 Similarity: 0.783 Text: The group debuted in 2013 with the single album 2 Cool 4 Skool. BTS has won numerous awards, including several Billboard Music Awards and MTV Europe Music Awards. They are known for their socially conscious lyrics and philanthropic efforts... -------------------------------------------------- 检索到 5 张相关图像系统成功检索到了与查询相关的文本和图像内容实现了多模态信息检索的目标。案例实现思路本案例的实现思路基于以下核心概念多模态嵌入使用不同的嵌入模型处理不同类型的数据。文本数据使用OpenAI的GPT嵌入模型图像数据使用CLIP模型将不同模态的数据映射到同一向量空间。向量存储使用Qdrant向量数据库存储文本和图像的嵌入向量支持高效的相似性搜索。跨模态检索通过文本查询可以同时检索相关的文本和图像内容实现跨模态的信息检索。相似性计算使用余弦相似度计算查询向量与存储向量之间的相似度返回最相关的结果。系统架构如下图所示文本查询嵌入向量搜索文本结果图像结果扩展建议功能扩展更多模态支持添加对音频、视频等其他模态数据的支持高级检索策略实现重排序reranking和混合检索hybrid retrieval策略个性化检索基于用户历史行为和偏好进行个性化结果排序多语言支持支持多语言文本查询和跨语言检索实时更新实现向量数据库的实时更新支持动态添加新数据性能优化向量压缩使用产品量化Product Quantization等技术压缩向量减少存储空间近似搜索使用HNSW、IVF等近似最近邻搜索算法提高检索速度分布式部署将向量数据库部署为分布式集群提高系统可扩展性缓存机制实现查询结果缓存减少重复查询的计算开销总结本案例成功实现了一个基于GPT文本嵌入和CLIP图像嵌入的多模态检索系统。该系统能够处理文本和图像数据实现跨模态的信息检索为用户提供丰富的检索结果。通过使用LlamaIndex框架和Qdrant向量数据库我们构建了一个高效、可扩展的多模态检索解决方案。该系统的核心优势包括支持多种数据模态的统一检索基于向量嵌入的高效相似性搜索可扩展的架构易于添加新的数据类型直观的检索结果展示未来该系统可以进一步扩展以支持更多模态的数据实现更复杂的检索策略并优化性能以满足大规模应用的需求。

相关新闻

终极指南:KMS_VL_ALL_AIO智能激活脚本解决Windows和Office激活难题

终极指南:KMS_VL_ALL_AIO智能激活脚本解决Windows和Office激活难题

2026/8/8 11:14:34

终极指南:KMS_VL_ALL_AIO智能激活脚本解决Windows和Office激活难题 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活过期而烦恼吗?😟 Of…

Adobe激活工具终极指南:3步免费解锁Creative Cloud全家桶

Adobe激活工具终极指南:3步免费解锁Creative Cloud全家桶

2026/8/8 11:14:34

Adobe激活工具终极指南:3步免费解锁Creative Cloud全家桶 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe软件的高昂订阅费用而烦恼吗&#…

SAP ABAP集成DeepSeek AI的HTTP接口开发指南

SAP ABAP集成DeepSeek AI的HTTP接口开发指南

2026/8/8 11:04:33

1. SAP ABAP与DeepSeek接口调用实战指南在传统企业ERP系统与AI大模型融合的大趋势下,SAP ABAP开发者正面临新的技术挑战与机遇。最近在技术社区看到不少同行在讨论如何将DeepSeek这类前沿AI能力集成到SAP系统中,正好我最近刚完成一个生产订单智能分析的P…

BiliBili-UWP第三方客户端:Windows上最流畅的B站观影体验终极指南

BiliBili-UWP第三方客户端:Windows上最流畅的B站观影体验终极指南

2026/8/8 13:34:40

BiliBili-UWP第三方客户端:Windows上最流畅的B站观影体验终极指南 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端,当然,是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP 还在为网页版B站卡顿、操作不便而…

FitGirl游戏启动器完整指南:3步轻松管理所有FitGirl压缩游戏

FitGirl游戏启动器完整指南:3步轻松管理所有FitGirl压缩游戏

2026/8/8 13:34:40

FitGirl游戏启动器完整指南:3步轻松管理所有FitGirl压缩游戏 【免费下载链接】Fitgirl-Repack-Launcher An Electron launcher designed specifically for FitGirl Repacks, utilizing pure vanilla JavaScript, HTML, and CSS for optimal performance and customi…

RedisDesktopManager Windows版:如何快速掌握免费Redis可视化工具的使用秘诀

RedisDesktopManager Windows版:如何快速掌握免费Redis可视化工具的使用秘诀

2026/8/8 13:34:40

RedisDesktopManager Windows版:如何快速掌握免费Redis可视化工具的使用秘诀 【免费下载链接】RedisDesktopManager-Windows RedisDesktopManager Windows版本 项目地址: https://gitcode.com/gh_mirrors/re/RedisDesktopManager-Windows 还在为Redis命令行管…

ComfyUI中文工作流大全:21类AI绘图解决方案让创作更简单

ComfyUI中文工作流大全:21类AI绘图解决方案让创作更简单

2026/8/8 13:34:40

ComfyUI中文工作流大全:21类AI绘图解决方案让创作更简单 【免费下载链接】ComfyUI-Workflows-ZHO 我的 ComfyUI 工作流合集 | My ComfyUI workflows collection 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-Workflows-ZHO 还在为复杂的节点连…

暗黑破坏神2存档编辑器终极指南:5分钟学会d2s-editor完整教程

暗黑破坏神2存档编辑器终极指南:5分钟学会d2s-editor完整教程

2026/8/8 13:34:40

暗黑破坏神2存档编辑器终极指南:5分钟学会d2s-editor完整教程 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 想要完全掌控你的暗黑破坏神2游戏体验吗?d2s-editor是一款功能强大的免费开源暗黑破坏神2存档…

3分钟上手geojson.io:免费在线GeoJSON地图编辑器终极指南

3分钟上手geojson.io:免费在线GeoJSON地图编辑器终极指南

2026/8/8 13:24:39

3分钟上手geojson.io:免费在线GeoJSON地图编辑器终极指南 【免费下载链接】geojson.io A quick, simple tool for creating, viewing, and sharing spatial data 项目地址: https://gitcode.com/gh_mirrors/ge/geojson.io 你是否需要快速处理地理数据&#x…

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

2026/8/6 19:19:00

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am…

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

2026/8/8 5:17:40

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架…

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

2026/8/5 8:19:55

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,…

昇腾AI代理实现多号通话自动化

昇腾AI代理实现多号通话自动化

2026/8/8 0:03:20

基于昇腾(Ascend)硬件与AtomGit AI社区的开源生态,结合AI Agent技术,可以实现一个模拟“通话重复使用机号复制”功能的安卓手机应用原型。其核心是利用AI Agent进行意图理解、任务编排和自动化操作,模拟或管理多号码的…

2026年Graph+AI Agents最新创新思路

2026年Graph+AI Agents最新创新思路

2026/8/8 0:03:20

本次围绕GraphAI Agents这个方向筛选了15篇高质量论文,都是近年来具有较高引用价值或方法创新的研究工作,其中部分来自IJCAI、AAAI、ICRA。 对于论文er来说,这些论文方法结构清晰、可复现性较强,在多个任务上都有可延展的空间。如…

Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制

Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制

2026/8/8 0:03:20

Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wan…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/7 8:02:42

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…