
    +#h{                     F    d dl Z d dlmZ ddlmZ ddlmZ  G d de      Zy)	    N)ensure_signature   )Module   )Predictc                   &     e Zd Zd fd	Zd Z xZS )MultiChainComparisonc           	         t         |           || _        t        |      }|j                  j                         ^ }| _        t        |      D ]6  }|j                  d|dz    t        j                  d|dz    dd            }8 |j                  dt        j                  dd	            }t        |fd
|i|| _        y )Nreasoning_attempt_r   zStudent Attempt #:z${reasoning attempt})prefixdesc	rationalez>Accurate Reasoning: Thank you everyone. Let's now holisticallyz${corrected reasoning}temperature)super__init__Mr   output_fieldskeyslast_keyrangeappenddspy
InputFieldprependOutputFieldr   predict)self	signaturer   r   config_idx	__class__s          `/var/www/html/sandstorm/venv/lib/python3.12/site-packages/dspy/predict/multi_chain_comparison.pyr   zMultiChainComparison.__init__	   s    $Y/	%3388:DM8 	C!(($SUG,.s1ugQ7>TI	 %%W-
	 yLkLVL    c                    g }|D ]  }|j                   j                         j                  d      d   j                         }|| j                     j                         j                  d      d   j                         }|j	                  d| d| d        t        |      | j                  k(  sJ t        |             i t        |      D ci c]  \  }}d|dz    | c}}|} | j                  di |S c c}}w )	N
r   u   «I'm trying to z# I'm not sure but my prediction is    »r   r    )	r   stripsplitr   r   lenr   	enumerater   )	r   completionskwargsattemptscr   answerr"   attempts	            r$   forwardzMultiChainComparison.forward#   s    	A))+11$7:@@BIt}}%++-33D9!<BBDFOO"9+-PQWPXXZ[	 8}&5H5&
 %.h$7 C %SUG,g5

 
 t||%f%%s   C<)   gffffff?)__name__
__module____qualname__r   r4   __classcell__)r#   s   @r$   r	   r	      s    M4&r%   r	   )r   dspy.signatures.signaturer   primitives.programr   r   r   r	   r)   r%   r$   <module>r<      s     6 ' .&6 .&r%   