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