嵌入
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
|
模型的名称,例如 您也可以使用
类型: |
提供商
|
模型提供商,如果未在模型参数中指定(见上文)。 支持的
类型: |
**kwargs
|
传递给嵌入模型的其他特定于模型的参数。 这些参数因提供商而异。请参考特定模型提供商的集成参考以获取所有可用参数。
类型: |
| 返回 | 描述 |
|---|---|
嵌入
|
一个可以为文本生成嵌入的 |
| 引发 | 描述 |
|---|---|
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维空间中的一个点)。
相似的文本通常会被映射到该空间中彼此接近的点。至于何为“相似”以及如何在该空间中衡量“距离”的具体细节,则取决于特定的嵌入模型。
这个抽象包含一个用于嵌入文档列表的方法和一个用于嵌入查询文本的方法。查询文本的嵌入预期是一个单一向量,而文档列表的嵌入预期是一个向量列表。
通常情况下,查询嵌入与文档嵌入是相同的,但该抽象允许独立处理它们。
除了同步方法,此接口还提供了这些方法的异步版本。
默认情况下,异步方法是使用同步方法实现的;但是,实现者可以选择使用异步原生实现来覆盖异步方法,以提高性能。