微信扫码
添加专属顾问
我要投稿
ColQwen-Omni突破多模态检索边界,一键处理文本、图像、视频和音频,让跨模态搜索变得前所未有的简单高效!核心内容: 1. ColQwen-Omni的创新之处:全模态检索能力 2. 模型性能与应用场景的实际演示 3. 开源资源与快速上手指南
还记得 ColPali、ColQwen 和 DSE 吗?这些模型开创了视觉文档检索的新范式:无需费力地从文档中提取文本进行处理,只需将文档页面视为一系列图像(屏幕截图),然后训练视觉语言模型(VLM)直接将其内容表示为向量。ColPali 的实践表明,这种策略通常比其他替代方法更快、更简单,并且能带来更好的检索性能。
自发布一年以来,ColPali 和 ColQwen 系列模型已被下载数百万次,被誉为 “2024 年顶级人工智能创新” 之一,并激发了许多后续研究!这些模型的效果甚至好到vidore最初的基准测试(Vidore v1)现在都“显得过于简单”!
视觉语言模型(VLM)的快速发展使得顶尖模型能够处理更多模态的数据。例如,令人惊叹的 Qwen-Omni 系列模型就能够处理音频和视频输入,而不仅仅是图像和文本!鉴于此,vidore立即产生了兴趣:是否可以将 ColQwen 系列模型泛化,使其不仅能嵌入和检索文档图像,还能处理音频片段和短视频?继视觉检索增强生成(VisionRAG)之后,音频检索增强生成(AudioRAG)是否也成为可能?
现在,vidore正式推出ColQwen-Omni(3B) —— 它是 ColQwen2 的扩展,基本上可以嵌入你输入的任何模态的数据!
原文HF博客:https://huggingface.co/blog/manu/colqwen-omni-omnimodal-retrieval
让vidore一步步演示如何使用 ColQwen-Omni 检索音频片段!你可以在 Google Colab 中跟着操作。
首先,加载模型:
# !pip install git+https://github.com/illuin-tech/colpali
from colpali_engine.models import ColQwen2_5Omni, ColQwen2_5OmniProcessor
model = ColQwen2_5Omni.from_pretrained(
"vidore/colqwen-omni-v0.1",
torch_dtype=torch.bfloat16,
device_map="cuda",
attn_implementation="flash_attention_2").eval()
processor = ColQwen2_5OmniProcessor.from_pretrained("vidore/colqwen-omni-v0.1")
假设vidore的目标是查询一个长达 30 分钟的播客。vidore可以将播客分割成 30 秒的片段,并将每个片段以 WAV 格式存储到一个 Python 列表中。
from pydub import AudioSegment
audio = AudioSegment.from_wav("<my_legally_downloaded_podcast>.wav")
# 设置目标采样率
target_rate = 16000
chunk_length_ms = 30 * 1000 # 30 秒
audios = []
for i in range(0, len(audio), chunk_length_ms):
chunk = audio[i:i + chunk_length_ms]
# 将立体声转换为单声道,并以 16k Hz 采样
chunk = chunk.set_channels(1).set_frame_rate(target_rate)
# 导出并转换为 numpy 数组
buf = io.BytesIO()
chunk.export(buf, format="wav")
buf.seek(0)
rate, data = wavfile.read(buf)
audios.append(data)
现在,vidore已经准备好嵌入所有的音频数据。
from torch.utils.data import DataLoader
# 以 4 为批量大小处理输入
dataloader = DataLoader(
dataset=audios,
batch_size=4,shuffle=False,
collate_fn=lambda x: processor.process_audios(x))
ds = []
for batch_doc in tqdm(dataloader):
with torch.no_grad():batch_doc = {k: v.to(model.device) for k, v in batch_doc.items()}
embeddings_doc = model(**batch_doc)
ds.extend(list(torch.unbind(embeddings_doc.to("cpu"))))
在这里,一段 30 分钟的音频可以在不到 10 秒内完成嵌入,并且每 30 秒的音频大约能得到 800 个音频标记!让vidore进行一个测试:
def get_results(query: str, k=3):
batch_queries = processor.process_queries([query]).to(model.device)
# 前向传播
with torch.no_grad():
query_embeddings = model(**batch_queries)
scores = processor.score_multi_vector(query_embeddings, ds)
return scores[0].topk(k).indices.tolist()
res = get_results("<YOUR QUERY>")
print(f"最相关的音频片段是: {res}")
#> 最相关的音频片段是: [102, 96, 35]
在我的测试中,音频片段 #102 和 #96 完全相关!甚至可以将最相关的音频片段发送给 GPT-4o,以实现端到端的 AudioRAG!
让vidore用一个关于汉尼拔和布匿战争的 30 分钟音频来演示整个流程,下面是基于音频的RAG问答:
完整的 Notebook 可以在这里找到。
https://github.com/ManuelFay/Tutorials/blob/main/Practical_3_AudioRAG.ipynb
许多用例可能需要音频检索。例如,你可能想在教育视频、录制的课程或播客中找到特定信息。你可能需要从朋友的几十条语音信息中,找到那条提到生日派对地址的语音。呼叫中心经理可能试图在数百万条录音电话中,找到几例客户大笑或表达愤怒的实例。
尽管可以使用语音转文本(Speech-to-Text, STT)系统将音频转录成文本,然后搜索转录内容,但直接检索音频要快得多,并且直接音频检索能更好地捕捉情感、环境声音和语音语调等信息,从而开启全新的可能性!
ColQwen-Omni 也适用于视频。但请注意,视频处理对内存开销很大,因此最适合处理短视频片段。
batch_videos = processor.process_videos(videos).to(model.device)
# 前向传播
with torch.no_grad():
video_embeddings = model(**batch_videos)
这里有一个关于“龙之母”的有趣演示。 输入查询关键词:
可以检索到下面视频:
该模型的首次迭代是科学实验的成果。vidore探索了一个纯粹在视觉文档检索数据集上训练的模型,在未接触音频或视频训练数据的情况下,能否有效地将其嵌入能力迁移到其他模态。结果表明:效果还相当不错!通过严格在 Vidore 训练集上进行训练,该模型在视觉文档检索方面与当前顶尖模型表现相当,而且在音频检索方面也展现出强大的性能,尽管vidore目前还不建议将其用于生产环境。
在未来的迭代中,vidore计划专门将音频剪辑整合到对比训练集中,以进一步优化模型的音频检索能力,这有望显著提升性能。当前模型在理解口语内容方面表现出色,但在理解口音、情感和环境声音方面仍存在一些局限性。vidore相信,通过有针对性的训练可以有效解决这些问题,并欢迎对 v0.1 版本提供任何反馈,以便vidore了解未来运行中应整合哪些数据!同时,ColQwen-Omni 的训练代码已在vidore的 GitHub 上提供,随时可以接收你的定制数据集!vidore的目标还将是改进模型在自然图像和文本检索方面的表现,为实现真正与模态无关的检索器铺平道路!
如果你觉得这篇文章对你有帮助,别忘了点个赞、送个喜欢
>/ 作者:致Great
>/ 作者:欢迎转载,标注来源即可53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-07-18
下一代智能协作的雏形:字节跳动AIME框架如何推动AI多智能体系统演化
2025-07-18
全球首个A股金融智能体?
2025-07-18
邱泽奇|人机互生:范式革命与知识生产重构
2025-07-18
王坚对谈黄仁勋,都聊了啥?
2025-07-18
昨晚,OpenAI 推出了自家的 Manus...
2025-07-18
你需要了解的 AI 智能体设计模式
2025-07-18
一文读懂ChatGPT Agent:没超越Manus的能力范畴,但看到了端到端的曙光
2025-07-18
OpenAI AGI来了!ChatGPT Agent 能上手帮你解决 45% 的 excel 表格任务了
2025-05-29
2025-05-23
2025-05-07
2025-04-29
2025-05-07
2025-06-01
2025-05-07
2025-04-29
2025-06-07
2025-05-07