dspy.KNN
dspy.KNN
dspy.KNN은 학습 세트에서 유사한 example을 찾는 k-최근접 이웃(k-nearest neighbors) 검색기입니다.
출처: 문서
본문
Requires numpy:
dspy.KNN은 numpy가 필요합니다.pip install dspy[numpy]로 설치하세요.
dspy.KNN(k: int, trainset: list[Example], vectorizer: Embedder)
학습 세트에서 유사한 example을 찾는 k-최근접 이웃 검색기입니다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
k |
int |
검색할 최근접 이웃의 수. | required |
trainset |
list[Example] |
검색할 학습 example 목록. | required |
vectorizer |
Embedder |
벡터화에 사용할 Embedder. |
required |
Examples
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")
소스 코드는 dspy/predict/knn.py에 있습니다.
Methods
__call__(**kwargs) -> list
주어진 입력과 가장 유사한 k개의 학습 example을 반환합니다. 입력을 vectorizer로 임베딩한 뒤 trainset의 example들과 비교해 유사도가 높은 순으로 반환합니다.