Skip to main content
Open In ColabOpen on GitHub

kNN

In statistics, the k-nearest neighbours algorithm (k-NN) is a non-parametric supervised learning method first developed by Evelyn Fix and Joseph Hodges in 1951, and later expanded by Thomas Cover. It is used for classification and regression.

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