
    j 	                     b   d dl Z d dlmZmZmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ e j$                  	 ddeej&                     ded	e	j*                  d
ej,                  deeeef      ded   fd       Ze j$                  d	e	j*                  d
ej,                  ded   fd       Zy)    N)AnyDictOptionalIterator)
experimentopik_clienttrace)experiment_item)error_info_collector)ErrorInfoDictr   dataset_item_id
trace_dataclientexecution_policyreturnc              #   B  K   d }	 t        j                  |       d  	 t        j
                         }|J |||_        |j                          ||nt        j                         } |j                  di |j                   | Bt        j                  ||j                  |j                  |      } | j                   |g       y y # t        $ r}t        j                  |      } d }~ww xY w# t        j
                         }|J |||_        |j                          ||nt        j                         } |j                  di |j                   | Bt        j                  ||j                  |j                  |      } | j                   |g       w w xY ww)N)r   trace_idproject_namer   )experiment_items_references )context_storageset_trace_data	Exceptionr   collectpop_trace_data
error_infoinit_end_timer   get_client_cachedr	   as_parametersr
   ExperimentItemReferencesidr   insert)r   r   r   r   r   r   	exceptionexperiment_item_s           w/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/evaluation/engine/helpers.pyevaluate_llm_task_contextr&      s     +/JN&&z2
 %335
%%%!$.J!  "!-;3P3P3R0z//0 !.GG /#'44!1	  J;K:LM "#  )11)<
 %335
%%%!$.J!  "!-;3P3P3R0z//0 !.GG /#'44!1	  J;K:LM "s5   FC
 B*F
	C.C))C..C1 1B+FFc              #     K   d }	 t        j                  |        d  	 t        j
                         } | J ||| _        | j                           |j                  di | j                   y # t        $ r}t        j                  |      } d }~ww xY w# t        j
                         } | J ||| _        | j                           |j                  di | j                   w xY ww)Nr   )
r   r   r   r   r   r   r   r   r	   r   )r   r   r   r#   s       r%   &evaluate_llm_task_result_spans_contextr(   3   s     
 +/J1&&z2
 %335
%%%!$.J!  "0z//0  )11)<
 %335
%%%!$.J!  "0z//0s5   C'A. AC'.	B7BBB AC$$C')N)
contextlibtypingr   r   r   r   opik.api_objectsr   r   r	   opik.api_objects.experimentr
   opik.decoratorr   
opik.typesr   opik.context_storager   contextmanager
Experimentstr	TraceDataOpikr&   r(   r       r%   <module>r6      s     0 0 ; ; 7 / $ .  26#N../#N#N #N 	#N
 tCH~.#N d^#N #NL 111 d^1 1r5   