Skip to content

文本嵌入模型

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]

基于 MIT 许可发布 共建 共享 共管