Skip to main content

文本嵌入模型

info

前往 Integrations 获取与文本嵌入模型提供者的内置集成文档。

Embeddings 类是一个用于与文本嵌入模型接口的类。现在有很多嵌入模型提供者(如 OpenAI、Cohere、Hugging Face 等) - 该类旨在为它们提供一个标准接口。

Embeddings 创建文本的向量表示。这很有用,因为这意味着我们可以在向量空间中考虑文本,并进行语义搜索,寻找在向量空间中最相似的文本片段。

LangChain 中的基础 Embeddings 类提供了两个方法:一个用于嵌入文档,一个用于嵌入查询。前者 .embed_documents 接受多个文本作为输入,而后者 .embed_query 接受单个文本。将这两个方法分开的原因是某些嵌入提供者对文档(进行搜索的对象)和查询(搜索查询本身)有不同的嵌入方法。 .embed_query 将返回一个浮点数列表,而 .embed_documents 返回一个浮点数列表的列表。

开始使用

设置

要开始,我们需要安装 OpenAI 合作伙伴包:
pip install langchain-openai

访问 API 需要一个 API 密钥,您可以通过创建一个帐户并前往 这里 来获取。一旦我们有了密钥,我们希望通过运行以下命令将其设置为环境变量:

export OPENAI_API_KEY="..."

如果您不想设置环境变量,可以在初始化 OpenAI LLM 类时直接通过 api_key 命名参数传递密钥:

from langchain_openai import OpenAIEmbeddings

embeddings_model = OpenAIEmbeddings(api_key="...")

否则,您可以在没有任何参数的情况下初始化:

from langchain_openai import OpenAIEmbeddings

embeddings_model = OpenAIEmbeddings()

embed_documents

嵌入文本列表

使用 .embed_documents 来嵌入字符串列表,返回嵌入列表:

embeddings = embeddings_model.embed_documents(
[
"Hi there!",
"Oh, hello!",
"What's your name?",
"My friends call me World",
"Hello World!"
]
)
len(embeddings), len(embeddings[0])
(5, 1536)

embed_query

嵌入单个查询

使用 .embed_query 嵌入一段文本(例如,用于与其他嵌入文本进行比较)。

embedded_query = embeddings_model.embed_query("What was the name mentioned in the conversation?")
embedded_query[:5]
[0.0053587136790156364,
-0.0004999046213924885,
0.038883671164512634,
-0.003001077566295862,
-0.00900818221271038]

此页面是否有帮助?


您还可以留下详细的反馈 在 GitHub 上