Skip to main content
本指南将帮助您开始使用 LangChain 的 OpenAIEmbeddings 嵌入模型。有关 OpenAIEmbeddings 功能和配置选项的详细文档,请参阅 API 参考

概述

集成详情

设置

要访问 OpenAIEmbeddings 嵌入模型,您需要创建一个 OpenAI 账户,获取 API 密钥,并安装 @langchain/openai 集成包。

凭证

前往 platform.openai.com 注册 OpenAI 并生成 API 密钥。完成后,设置 OPENAI_API_KEY 环境变量:
如果您想获得模型调用的自动跟踪,也可以取消注释以下行来设置您的 LangSmith API 密钥:

安装

LangChain OpenAIEmbeddings 集成位于 @langchain/openai 包中:

实例化

现在我们可以实例化模型对象并生成聊天补全:
如果您属于某个组织,可以将 process.env.OPENAI_ORGANIZATION 设置为您的 OpenAI 组织 ID,或者在初始化模型时将其作为 organization 传入。

索引与检索

嵌入模型通常用于检索增强生成(RAG)流程中,既作为数据索引的一部分,也用于后续检索。更多详细说明,请参阅 学习 标签页 下的 RAG 教程。 下面,了解如何使用我们上面初始化的 embeddings 对象来索引和检索数据。在此示例中,我们将使用演示用的 MemoryVectorStore 来索引和检索一个示例文档。

直接使用

在底层,向量存储和检索器实现分别调用 embeddings.embedDocument(...)embeddings.embedQuery(...) 来为 fromDocuments 和检索器的 invoke 操作中使用的文本创建嵌入。 您可以直接调用这些方法来获取您自己用例的嵌入。

嵌入单个文本

您可以使用 embedQuery 嵌入用于搜索的查询。这会生成特定于查询的向量表示:

嵌入多个文本

您可以使用 embedDocuments 嵌入多个文本用于索引。此方法内部使用的机制可能(但不一定)与嵌入查询不同:

指定维度

对于 text-embedding-3 系列模型,您可以指定返回嵌入的大小。例如,默认情况下 text-embedding-3-large 返回维度为 3072 的嵌入:
通过传入 dimensions: 1024,我们可以将嵌入的大小减少到 1024:

自定义 URL

您可以通过传递 configuration 参数来自定义 SDK 发送请求的基础 URL,如下所示:
您还可以传递官方 SDK 接受的其他 ClientOptions 参数。 如果您托管在 Azure OpenAI 上,请参阅专用页面

API 参考

有关所有 OpenAIEmbeddings 功能和配置的详细文档,请前往 API 参考