dspy.KNN
dspy.KNN(k: int, trainset: list[Example], vectorizer: Embedder)
A k-nearest neighbors retriever that finds similar examples from a training set.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
k
|
int
|
Number of nearest neighbors to retrieve |
required |
trainset
|
list[Example]
|
List of training examples to search through |
required |
vectorizer
|
Embedder
|
The |
required |
Example
import dspy
from sentence_transformers import SentenceTransformer
# Create a training dataset with examples
trainset = [
dspy.Example(input="hello", output="world"),
# ... more examples ...
]
# Initialize KNN with a sentence transformer model
knn = KNN(
k=3,
trainset=trainset,
vectorizer=dspy.Embedder(SentenceTransformer("all-MiniLM-L6-v2").encode)
)
# Find similar examples
similar_examples = knn(input="hello")