dspy.KNN
dspy.KNN(k: int, trainset: list[Example], vectorizer: Embedder)
一个 k 近邻检索器,用于从训练集中查找相似示例。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
k
|
int
|
要检索的最近邻居数量 |
必需 |
trainset
|
list[Example]
|
要搜索的训练示例列表 |
必需 |
vectorizer
|
Embedder
|
用于向量化的 |
必需 |
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")