跳转到内容

嵌入

langchain_core.embeddings.embeddings.Embeddings

基类: ABC

嵌入模型的接口。

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

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

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

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

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

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

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

方法 描述
embed_documents

嵌入搜索文档。

embed_query

嵌入查询文本。

aembed_documents

异步嵌入搜索文档。

aembed_query

异步嵌入查询文本。

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]

嵌入。

langchain_core.embeddings.fake.DeterministicFakeEmbedding

基类:Embeddings, BaseModel

用于单元测试的确定性伪嵌入模型。

此嵌入模型通过从一个正态分布中采样来创建嵌入,该分布使用基于文本哈希值的种子。

玩具模型

请勿在测试之外使用此模型,因为它不是一个真正的嵌入模型。

实例化
from langchain_core.embeddings import DeterministicFakeEmbedding

embed = DeterministicFakeEmbedding(size=100)
嵌入单个文本

input_text = "The meaning of life is 42"
vector = embed.embed_query(input_text)
print(vector[:3])
[-0.700234640213188, -0.581266257710429, -1.1328482266445354]

嵌入多个文本

input_texts = ["Document 1...", "Document 2..."]
vectors = embed.embed_documents(input_texts)
print(len(vectors))
# The first 3 coordinates for the first vector
print(vectors[0][:3])
2
[-0.5670477847544458, -0.31403828652395727, -0.5840547508955257]

方法 描述
embed_documents

嵌入搜索文档。

embed_query

嵌入查询文本。

aembed_documents

异步嵌入搜索文档。

aembed_query

异步嵌入查询文本。

size instance-attribute

size: int

嵌入向量的大小。

embed_documents

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

嵌入搜索文档。

参数 描述
texts

要嵌入的文本列表。

类型: list[str]

返回 描述
list[list[float]]

嵌入列表。

embed_query

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]

嵌入。

langchain_core.embeddings.fake.FakeEmbeddings

基类:Embeddings, BaseModel

用于单元测试的伪嵌入模型。

此嵌入模型通过从一个正态分布中采样来创建嵌入。

玩具模型

请勿在测试之外使用此模型,因为它不是一个真正的嵌入模型。

实例化
from langchain_core.embeddings import FakeEmbeddings

embed = FakeEmbeddings(size=100)
嵌入单个文本

input_text = "The meaning of life is 42"
vector = embed.embed_query(input_text)
print(vector[:3])
[-0.700234640213188, -0.581266257710429, -1.1328482266445354]

嵌入多个文本

input_texts = ["Document 1...", "Document 2..."]
vectors = embed.embed_documents(input_texts)
print(len(vectors))
# The first 3 coordinates for the first vector
print(vectors[0][:3])
2
[-0.5670477847544458, -0.31403828652395727, -0.5840547508955257]

方法 描述
embed_documents

嵌入搜索文档。

embed_query

嵌入查询文本。

aembed_documents

异步嵌入搜索文档。

aembed_query

异步嵌入查询文本。

size instance-attribute

size: int

嵌入向量的大小。

embed_documents

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

嵌入搜索文档。

参数 描述
texts

要嵌入的文本列表。

类型: list[str]

返回 描述
list[list[float]]

嵌入列表。

embed_query

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.