本文内容来源于谷歌官方,由谷歌云钻石合作伙伴、谷歌地图一级代理商 CloudAce 深圳云一进行翻译发布。

导语:Google 正式发布了基于 Gemini 架构构建的首款全多模态嵌入模型 Gemini Embedding 2 的公开预览版 。该模型打破了传统文本嵌入的局限,实现了文本、图像、视频、音频及文档在单一、统一嵌入空间中的深度映射 。目前,开发者已可通过 Gemini API 和 Vertex AI 平台进行接入体验 。

🌟 核心突破:全模态语义统一空间

在以往仅支持文本的嵌入模型基础上,Gemini Embedding 2 实现了重大飞跃:它将文本、图像、视频、音频和文档统一映射到一个共享的嵌入空间中,并能够捕捉超过 100 种语言的语义意图。

这一突破简化了复杂的技术管线,显著增强了多种多模态下游任务的表现,包括:检索增强生成、语义搜索、情感分析、数据聚类。

1. 多样化模态支持

该模型利用 Gemini 顶尖的多模态理解力,支持高质量的跨模态嵌入:

  • 文本 (Text):支持高达 8,192 个输入 Token 的长上下文 。

  • 图像 (Images):单次请求可处理多达 6 张图像 ,支持 PNG 和 JPEG 格式。

  • 视频 (Videos):支持输入长达 120 秒的 MP4 和 MOV 格式视频 。 。

  • 音频 (Audio):原生摄取音频数据,无需中间文本转录,保留更丰富的语义细节 。

  • 文档 (Documents):可直接嵌入最多 6 页的 PDF 文件 。

2. 交错输入 (Interleaved Input)

模型原生支持交错输入模式,允许在单个请求中同时传入多种模态(如“图像 + 文本”) 。这使得 AI 能够捕捉不同媒体类型之间复杂且微妙的关系,从而更准确地理解现实世界的数据逻辑 。

交错输入

🛠 技术底座:灵活性与性能的完美平衡

1.  灵活的输出维度

与谷歌之前的嵌入模型一样,Gemini Embedding 2 也采用了 Matryoshka 表示学习 (MRL) 技术,该技术通过动态缩减维度来“嵌套”信息。

Gemini Embedding 2 默认具备3072维度,支持灵活缩放到1536、768甚至更低维,允许开发者根据存储/性能需求自由裁剪,质量衰减很小,这完美平衡了企业级大规模部署的需求。

2. 业界领先的基准表现

Gemini Embedding 2 不仅仅是对传统模型的改进,它还为多模态深度建模树立了新的性能标杆,引入了强大的语音处理能力,并在文本、图像和视频任务中超越了领先的模型。这种可衡量的性能提升和独特的多模态覆盖范围,能够精准满足开发者多样化的嵌入需求。

图为 Gemini Embedding 2 性能测试分数

📈 商业价值:解锁数据深度含义

嵌入技术是驱动众多 Google 产品体验的核心。从嵌入技术在上下文工程(Context Engineering)中发挥关键作用的 RAG,到大规模数据管理以及经典的搜索与分析,部分早期访问合作伙伴已经开始利用 Gemini Embedding 2 解锁高价值的多模态应用:

Gemini Embedding 2 是 Sparkonomy‘创作者经济平等引擎’的技术基石 。其原生的多模态能力通过免去 LLM 推理环节,将我们的延迟大幅降低了多达 70%,并使‘文本-图像’与‘文本-视频’配对的语义相似度得分几乎翻了一番——从 0.4 惊人地跃升至 0.8 。这为我们专有的‘创作者基因组(Creator Genome)’提供了核心动力,使其能够以前所未有的精度对数百万分钟的视频、图像及文本进行索引 。这不仅开启了公正无偏的品牌合作新模式,更让每一位创作者都能平等地享有经济成功的机会。” —— Guneet Singh,Sparkonomy 联合创始人

🚀 立即构建

Gemini Embedding 2 现已深度集成至 Google Cloud 生态系统,并支持 LangChain、LlamaIndex、Weaviate 以及 Vertex AI 向量搜索 (Vector Search) 等主流开发框架 。根据谷歌官方发布,开发者可用如下方式就能通过 Gemini API 或 Vertex AI 开始使用 Gemini Embedding 2 模型:

from google import genai
from google.genai import types
# For Vertex AI:
# PROJECT_ID='<add_here>'
# client = genai.Client(vertexai=True, project=PROJECT_ID, location='us-central1')
client = genai.Client()
with open("example.png", "rb") as f:
    image_bytes = f.read()
with open("sample.mp3", "rb") as f:
    audio_bytes = f.read()
# Embed text, image, and audio 
result = client.models.embed_content(
    model="gemini-embedding-2-preview",
    contents=[
        "What is the meaning of life?",
        types.Part.from_bytes(
            data=image_bytes,
            mime_type="image/png",
        ),
        types.Part.from_bytes(
            data=audio_bytes,
            mime_type="audio/mpeg",
        ),
    ],
)
print(result.embeddings)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐