文本嵌入模型
INFO
请前往Integrations查看与文本嵌入模型提供商的内置集成文档。
Embeddings 类是一个专为与文本嵌入模型进行交互而设计的类。有许多嵌入模型提供商(如 OpenAI、Cohere、Hugging Face 等)- 这个类旨在为它们提供一个标准接口。
Embeddings 类会为文本创建一个向量表示。这很有用,因为这意味着我们可以在向量空间中思考文本,并做一些类似语义搜索的事情,比如在向量空间中寻找最相似的文本片段。
LangChain 中的基本 Embeddings 类提供了两种方法:一个用于嵌入文档,另一个用于嵌入查询。前者.embed_documents
接受多个文本作为输入,而后者.embed_query
接受单个文本。之所以将它们作为两个单独的方法,是因为一些嵌入提供商对文档(要搜索的文档)和查询(搜索查询本身)有不同的嵌入方法。
.embed_query
将返回一个浮点数列表,而.embed_documents
将返回一个浮点数列表的列表。
入门指南
设置
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
embed_documents
嵌入文本列表
使用.embed_documents
来嵌入一个字符串列表,恢复一个嵌入列表:
python
embeddings = embeddings_model.embed_documents(
[
"嗨!",
"哦,你好!",
"你叫什么名字?",
"我的朋友们叫我World",
"Hello World!"
]
)
len(embeddings), len(embeddings[0])
embed_query
嵌入单个查询
使用.embed_query
来嵌入单个文本片段(例如,用于与其他嵌入的文本片段进行比较)。
python
embedded_query = embeddings_model.embed_query("对话中提到的名字是什么?")
embedded_query[:5]