GoogleGenerativeAIEmbeddings 功能和配置选项的详细文档,请参阅 API 参考。
概述
gemini-embedding-2-preview 原生支持通过 Google GenAI SDK 的 embed_content() API 处理文本、图像、视频、音频和 PDF 输入。然而,LangChain 的 Embeddings 接口(embed_query / embed_documents)目前仅接受文本输入。LangChain 中的多模态嵌入支持计划在未来版本中提供。对于当前的多模态用例,请直接使用 Google GenAI SDK。集成详情
设置
要访问 Google Gemini 嵌入模型,您需要创建一个 Google Cloud 项目、启用生成式语言 API、获取 API 密钥,并安装langchain-google-genai 集成包。
凭证
前往 Google AI Studio 注册并生成 API 密钥。有关更多详细信息,请参阅 Gemini API 密钥文档。完成此操作后,设置GOOGLE_API_KEY 环境变量:
安装
LangChain Google 生成式 AI 集成位于langchain-google-genai 包中:
实例化
现在我们可以实例化模型对象并生成嵌入:降维
gemini-embedding-2-preview 支持通过 Matryoshka Representation Learning (MRL) 灵活输出维度。您可以降低维度以优化存储和延迟:
批量处理
您还可以一次嵌入多个字符串以加快处理速度:索引和检索
嵌入模型通常用于检索增强生成 (RAG) 流程中,既作为索引数据的一部分,也用于后续检索。有关更详细的说明,请参阅我们的 RAG 教程。 下面,了解如何使用我们上面初始化的embeddings 对象索引和检索数据。在此示例中,我们将在 InMemoryVectorStore 中索引和检索一个示例文档。
任务类型
GoogleGenerativeAIEmbeddings 可选支持 task_type,当前必须是以下之一:
SEMANTIC_SIMILARITY:用于生成优化用于评估文本相似性的嵌入。CLASSIFICATION:用于生成优化用于根据预设标签分类文本的嵌入。CLUSTERING:用于生成优化用于基于相似性聚类文本的嵌入。RETRIEVAL_DOCUMENT、RETRIEVAL_QUERY、QUESTION_ANSWERING和FACT_VERIFICATION:用于生成优化用于文档搜索或信息检索的嵌入。CODE_RETRIEVAL_QUERY:用于根据自然语言查询(例如排序数组或反转链表)检索代码块。代码块的嵌入使用RETRIEVAL_DOCUMENT计算。
embed_documents 方法中使用 RETRIEVAL_DOCUMENT,在 embed_query 方法中使用 RETRIEVAL_QUERY。如果您提供了任务类型,我们将对所有方法使用该类型。
附加配置
您可以将以下参数传递给GoogleGenerativeAIEmbeddings 以自定义 SDK 的行为:
base_url:API 客户端的自定义基础 URL(例如,自定义端点)output_dimensionality:降低返回嵌入的维度(例如,output_dimensionality=256)request_options:请求选项字典(例如,{"timeout": 10})additional_headers:包含在 API 请求中的附加 HTTP 标头client_args:传递给底层 HTTP 客户端的附加参数
API 参考
有关GoogleGenerativeAIEmbeddings 功能和配置选项的详细文档,请参阅 API 参考。
通过 MCP 连接这些文档 到 Claude、VSCode 等,以获取实时答案。

