
    +#ho                     N    d dl Z d dlmZ d dlZd dlmZ ddlmZ  G d de      Zy)    N)List)BootstrapFewShot   )Teleprompterc                   D    e Zd Zdedeej                     fdZddddZy)
KNNFewShotktrainsetc                       |||      | _         y )N)KNN)selfr   r	   r
   s       X/var/www/html/sandstorm/venv/lib/python3.12/site-packages/dspy/teleprompt/knn_fewshot.py__init__zKNNFewShot.__init__   s    q(#    N)teachervalsetc                t     j                         } fd}t        j                  ||      |_        |S )Nc                  v     j                   di |}t               }|j                  |      } |di |S )N)r   r
   r    )r   r   compile)	argskwargsknn_trainsetfew_shot_bootstrapcompiled_programr   studentr   r   s	        r   forward_passz(KNNFewShot.compile.<locals>.forward_pass   sQ    #488-f-L!1!3199%	  :   $-f--r   )
reset_copytypes
MethodTypeforward)r   r   r   r
   r   student_copyr   s   ``` `  r   r   zKNNFewShot.compile   s3    ))+		.  %//lKr   )	__name__
__module____qualname__intr   dspExampler   r   r   r   r   r   r   
   s*    $s $d3;;.? $ +/ r   r   )	r   typingr   r'   dspy.telepromptr   
telepromptr   r   r   r   r   <module>r,      s       
 , $ r   