Skip to main content
在统计学中,k-最近邻算法(k-NN) 是一种非参数监督学习方法,最初由 Evelyn FixJoseph Hodges 于 1951 年提出,后经 Thomas Cover 扩展。它用于分类和回归任务。
本 notebook 介绍如何使用底层基于 kNN 的检索器。 主要参考了 Andrej Karpathy 的代码。
from langchain_community.retrievers import KNNRetriever
from langchain_openai import OpenAIEmbeddings

从文本创建新检索器

retriever = KNNRetriever.from_texts(
    ["foo", "bar", "world", "hello", "foo bar"], OpenAIEmbeddings()
)

使用检索器

现在可以使用检索器了!
result = retriever.invoke("foo")
result
[Document(page_content='foo', metadata={}),
 Document(page_content='foo bar', metadata={}),
 Document(page_content='hello', metadata={}),
 Document(page_content='bar', metadata={})]