跳到主要内容
Open In ColabOpen on GitHub

kNN

在统计学中,k-最近邻算法(k-NN)是一种非参数监督学习方法,由Evelyn FixJoseph Hodges于1951年首次提出,后经Thomas Cover扩展。它用于分类和回归。

本笔记本介绍了如何使用底层采用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={})]