Current section

Files

Jump to
dspex lib snakebridge_generated dspy predict knn.ex
Raw

lib/snakebridge_generated/dspy/predict/knn.ex

# Generated by SnakeBridge v0.15.0 - DO NOT EDIT MANUALLY
# Regenerate with: mix compile
# Library: dspy 3.1.2
# Python module: dspy.predict
# Python class: KNN
defmodule Dspy.Predict.KNN do
@moduledoc """
Wrapper for Python class KNN.
"""
def __snakebridge_python_name__, do: "dspy.predict"
def __snakebridge_python_class__, do: "KNN"
def __snakebridge_library__, do: "dspy"
@opaque t :: SnakeBridge.Ref.t()
@doc """
A k-nearest neighbors retriever that finds similar examples from a training set.
## Parameters
- `k` - Number of nearest neighbors to retrieve
- `trainset` - List of training examples to search through
- `vectorizer` - The `Embedder` to use for vectorization
## Examples
```python
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")
```
"""
@spec new(integer(), list(term()), term(), keyword()) ::
{:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
def new(k, trainset, vectorizer, opts \\ []) do
SnakeBridge.Runtime.call_class(__MODULE__, :__init__, [k, trainset, vectorizer], opts)
end
end