Gemini Embedding 2:多模态理解的 Python 指南
使用 Gemini Embedding 2 解锁多模态理解
我记得曾经有一段时间,数字信息感觉是孤立的,被锁定在它们各自的格式中。文本存在于一个空间,图像存在于另一个空间,音频则完全是分开的。现在,随着 Google Gemini Embedding 2 等技术的进步,我们正在见证一种融合,一种对不同数据类型的统一理解,这种理解有望彻底改变我们与信息交互的方式。
Google 的 Gemini Embedding 2 模型于 2026 年 3 月 10 日公开预览,这是该公司首个完全多模态的嵌入模型,专为复杂的检索和分析任务而设计。您可以在官方 Google AI 博客. 上阅读更多相关信息。该模型有效地将文本、图像、视频、音频和 PDF 等各种输入映射到一个单一的、统一的语义空间中。这种能力对于需要多模态语义搜索、文档检索和推荐系统的应用程序尤其有利,具体细节可在发布博文.
中找到。摘要
- 多模态能力: 将文本、图像、视频、音频和 PDF 处理到统一的语义空间。
- 统一语义空间: 将各种输入映射到单个嵌入空间,以便进行高效检索和分析。
- 向量维度: 默认生成 3072 维向量,也可选择 768、1536 和 3072 维。
- 嵌套表示学习 (MRL): 允许信息在维度之间动态缩放,从而实现灵活的性能和存储。
- 语言支持: 能够理解 100 多种语言的语义意图。
- 访问: 可通过 Gemini API 和 Vertex AI 访问,需要免费 API 密钥。
- Python 集成: 可轻松集成到 google-genai 库中。
- 迁移说明: 与 gemini-embedding-001 不兼容;需要重新嵌入所有数据。
- 关键应用: 增强检索增强生成 (RAG)、语义搜索、情感分析和数据聚类。
Gemini Embedding 2 的功能
Gemini Embedding 2 可接受广泛的多模态输入,正如Google AI 博文. 所述。它可以处理多达 8,192 个文本输入 token,每次请求最多可处理六张 PNG 和 JPEG 格式的图像。支持 MP4 和 MOV 格式的视频输入,时长可达 120 秒。该模型原生处理音频数据,无需中间文本转录,并且可以直接分析长达六页的 PDF 文档。此外,它还能理解嵌套输入,允许在单个请求中包含多种模态,例如图像和文本的组合。一个显著的功能是它能够对文档输入进行光学字符识别 (OCR)。对于视频输入,它可以提取音频轨道并将其与视频帧结合起来。
如Vertex AI 文档. 所述,该模型默认生成 3072 维浮点向量。但是,可以使用 output_dimensionality 参数自定义此输出维度,从而生成更小的向量以平衡性能和存储成本。建议的输出维度可获得最佳质量,为 768、1536 和 3072。Gemini Embedding 2 采用嵌套表示学习 (MRL),该技术可以在向量维度之间动态缩放信息。MRL 支持两阶段检索模式:较小的向量用于快速预选,然后使用完整向量进行重新排名。默认的 3072 维输出已进行归一化;对于 768D 或 1536D 等较低维度,应手动应用 L2 归一化。

来源: dreamstime.com
Gemini Embedding 2 使用嵌套表示学习,允许在向量维度之间动态缩放信息。
至关重要的是,该模型能够理解 100 多种语言的语义意图。自定义任务指令,例如 task:code retrieval 或 task:search result,可以进一步优化嵌入以匹配特定关系,从而提高准确性。模型的知识截止日期为 2025 年 11 月。
访问和集成 Gemini Embedding 2
开发人员可以通过 Gemini API 和 Vertex AI 访问 Gemini Embedding 2,如Vertex AI 针对 Gemini Embedding 2 的文档. 中所述。预览版本的模型 ID 为 gemini-embedding-2-preview。要使用 Gemini API,需要一个免费的 API 密钥,您可以在Google AI Studio. 获取。Python 用户可以使用 pip install --upgrade google-genai 安装 google-genai 库,具体细节可在Gemini API 嵌入文档. 中找到。API 密钥可以设置为环境变量 GEMINI_API_KEY。Google Gen AI SDK 为 Gemini 2.5 Pro 和 Gemini 2.0 模型在 Gemini Developer API 和 Vertex AI 之间提供了统一的接口,更多信息可在GitHub 上的 Google Gemini Cookbook. 中找到。这使得在两个平台之间进行代码执行时只需进行少量修改。
pip install --upgrade google-genai
GEMINI_API_KEY
从旧版 gemini-embedding-001 升级到 gemini-embedding-2-preview 时,请注意,嵌入存在于不同的向量空间中,并且不兼容。因此,所有数据都需要重新嵌入,并在迁移后重新校准相似度阈值。对于新项目,建议直接开始使用 gemini-embedding-2-preview,最好是 768 维。
对于向量存储,AlloyDB 配合 pgvector 扩展提供了一个可行的选项,它提供了带有树形量化和自动降维的 ScaNN 索引。task_type(例如 RETRIEVAL_DOCUMENT 用于索引,RETRIEVAL_QUERY 用于搜索)的选择对质量有显著影响。Gemini Embedding 2 支持八种任务类型,包括分类、聚类和语义相似性。
实际应用和示例
Google 的 GitHub 仓库提供了使用 Gemini API 的示例和指南,包括 Python 代码,可在Google Gemini Cookbook. 中找到。更多专门针对 Gemini Embedding 2 的示例,涵盖文本嵌入、视频嵌入、多模态搜索和语义搜索,可在Gemini Multimodal Embedding Examples GitHub 仓库.

来源: textstudio.com
Google GitHub 仓库提供了用于实现 Gemini API 的宝贵示例和指南。
这些示例包括旨在演示特定功能的脚本:
01_text_embedding.py: 涵盖单项和批量文本嵌入、不同的任务类型以及 768D 归一化。02_video_embedding.py: 展示了内联上传、Files API 用法、视频和文本跨模态嵌入,以及对较长视频的切分。每个嵌入调用最多可处理 128 秒的视频;对于较长的视频,提供了切分辅助函数。03_multimodal_embedding.py: 演示了跨模态搜索,例如使用文本查询查找视频。04_search.py: 对存储的嵌入执行语义搜索。05_describe.py: 对视频嵌入进行 100 个预定义主题的分析。
常见问题解答 (FAQ)
| 问题 | 答案 |
|---|---|
| 什么是 Gemini Embedding 2? | 这是 Google 的首个完全多模态嵌入模型,专为复杂的检索和分析任务而设计,能够将文本、图像、视频、音频和 PDF 处理到统一的语义空间。 |
| 如何在 Python 中开始使用 Gemini Embedding 2? | 通过 pip 安装 google-genai 库,从 Google AI Studio 获取免费 API 密钥,并将其设置为环境变量 (GEMINI_API_KEY)。 |
| 我可以使用 Gemini Embedding 2 进行多模态搜索吗? | 是的,它在多模态语义搜索方面表现出色,例如,可以使用文本查询查找视频,并支持嵌套输入(例如,图像 + 文本)。 |
| Gemini Embedding 2 支持哪些输出维度? | 默认情况下,它生成 3072 维向量。您可以将其自定义为 768、1536 或 3072 维,以获得最佳质量,平衡性能和存储。 |
| Gemini Embedding 2 与旧的嵌入模型兼容吗? | 不,gemini-embedding-001 的嵌入不兼容。迁移到 Gemini Embedding 2 时,所有数据都必须重新嵌入,并重新校准相似度阈值。 |
结论
Gemini Embedding 2 代表着向更直观、更具上下文的数据交互迈出了重要一步。通过将不同类型的数据转换为统一的语义表示,它简化了复杂的管道,增强了检索增强生成 (RAG)、语义搜索、情感分析和数据聚类等领域的能力。其多模态理解和灵活的维度选项为开发人员提供了强大的工具来构建复杂的 AI 应用程序,从而推动集成 AI 模型所能实现的界限。