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들과 비교해 유사도가 높은 순으로 반환합니다.

더 알아보기 (Learn more)