跳转到内容

嵌入

langchain.embeddings

嵌入模型。

参考文档

此页面包含嵌入的参考文档。有关使用嵌入的概念指南、教程和示例,请参阅文档

模块已移动

随着 langchain 1.0.0 的发布,一些嵌入模块被移至 langchain-classic,例如 CacheBackedEmbeddings 和所有社区嵌入。请参阅已移动模块的列表,以帮助您进行迁移。

init_embeddings

init_embeddings(
    model: str, *, provider: str | None = None, **kwargs: Any
) -> Embeddings

根据模型名称和可选的提供商初始化嵌入模型。

注意

需要安装所选模型提供商的集成包。

请参阅下面的 model_provider 参数以了解具体的包名称(例如,pip install langchain-openai)。

有关支持的模型参数以用作 **kwargs 的信息,请参阅提供商集成的 API 参考

参数 描述
model

模型的名称,例如 'openai:text-embedding-3-small'

您也可以使用 '{model_provider}:{model}' 格式在单个参数中指定模型和模型提供商,例如 'openai:text-embedding-3-small'

类型: str

提供商

模型提供商,如果未在模型参数中指定(见上文)。

支持的 provider 值和相应的集成包是

类型: str | None 默认值: None

**kwargs

传递给嵌入模型的其他特定于模型的参数。

这些参数因提供商而异。请参考特定模型提供商的集成参考以获取所有可用参数。

类型: Any 默认值: {}

返回 描述
嵌入

一个可以为文本生成嵌入的 Embeddings 实例。

引发 描述
ValueError

如果模型提供商不受支持或无法确定

ImportError

如果所需的提供商包未安装

示例
# pip install langchain langchain-openai

# Using a model string
model = init_embeddings("openai:text-embedding-3-small")
model.embed_query("Hello, world!")

# Using explicit provider
model = init_embeddings(model="text-embedding-3-small", provider="openai")
model.embed_documents(["Hello, world!", "Goodbye, world!"])

# With additional parameters
model = init_embeddings("openai:text-embedding-3-small", api_key="sk-...")

于 0.3.9 版本中添加

Embeddings

基类: ABC

嵌入模型的接口。

这是一个用于实现文本嵌入模型的接口。

文本嵌入模型用于将文本映射到一个向量(n维空间中的一个点)。

相似的文本通常会被映射到该空间中彼此接近的点。至于何为“相似”以及如何在该空间中衡量“距离”的具体细节,则取决于特定的嵌入模型。

这个抽象包含一个用于嵌入文档列表的方法和一个用于嵌入查询文本的方法。查询文本的嵌入预期是一个单一向量,而文档列表的嵌入预期是一个向量列表。

通常情况下,查询嵌入与文档嵌入是相同的,但该抽象允许独立处理它们。

除了同步方法,此接口还提供了这些方法的异步版本。

默认情况下,异步方法是使用同步方法实现的;但是,实现者可以选择使用异步原生实现来覆盖异步方法,以提高性能。

embed_documents abstractmethod

embed_documents(texts: list[str]) -> list[list[float]]

嵌入搜索文档。

参数 描述
texts

要嵌入的文本列表。

类型: list[str]

返回 描述
list[list[float]]

嵌入列表。

embed_query abstractmethod

embed_query(text: str) -> list[float]

嵌入查询文本。

参数 描述
text

要嵌入的文本。

类型: str

返回 描述
list[float]

嵌入。

aembed_documents async

aembed_documents(texts: list[str]) -> list[list[float]]

异步嵌入搜索文档。

参数 描述
texts

要嵌入的文本列表。

类型: list[str]

返回 描述
list[list[float]]

嵌入列表。

aembed_query async

aembed_query(text: str) -> list[float]

异步嵌入查询文本。

参数 描述
text

要嵌入的文本。

类型: str

返回 描述
list[float]

嵌入。

© . This site is unofficial and not affiliated with LangChain, Inc.