
    j              
          d dl Z d dl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                   e      Zd	ej&                  d
edej*                  fdZd	ej&                  dedefdZdej*                  dej0                  dee   deej2                     fdZd	ej&                  deej6                     dedee   ddf
dZy)    N)ListOptional)dataset
experimentopik_client)BatchFeedbackScoreDict   )	test_case)score_result)ScoringKeyMappingTypeclientexperiment_namereturnc                     | j                  |      }t        |      dk(  rt        d| d      t        |      dkD  rt        d| d      |d   }|S )N)namer   zExperiment with name z
 not foundr	   z%Found multiple experiments with name z$. Try to use `experiment_id` instead)get_experiments_by_namelen
ValueError)r   r   experimentsexperiment_s       x/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/evaluation/rest_operations.pyget_experiment_with_unique_namer      ss     00o0FK
;100ALMM	[	A	3O3DDhi
 	
 a.K    trace_idc                 z    | j                  |      }|j                  }| j                  |      }|j                  S )N)id)get_trace_content
project_idget_projectr   )r   r   tracesr   project_metadatas        r   get_trace_project_namer"      sB    %%%2F""J ))Z)8   r   r   dataset_scoring_key_mappingc           	      
   | j                         }|j                         D ci c]  }|d   |
 }}g }|D ]  }|j                  |j                        }|0t        j	                  d|j                   d|j
                          P|j                  $t        j	                  d|j
                   d       |j                  t        j                  |j                  |j                  |j                  |              |S c c}w )Nr   z'Unexpected error: Dataset item with id z% not found, skipping experiment item zEUnexpected error: Evaluation task output is None for experiment item z, skipping experiment item)r   dataset_item_idtask_outputdataset_item_content)	get_itemsgetr&   LOGGERerrorr   evaluation_task_outputappendr
   TestCaser   )r   r#   r$   experiment_itemsitemdataset_items_by_id
test_casesdataset_item_datas           r   get_experiment_test_casesr5   '   s   
 #,,. 9A8J8J8LM8L4:t+8LMJ /33D4H4HI$LL9$:N:N9OOtuyu|u|t}~ &&.LLWX\X_X_W``z{  $ 4 4 77%6		
 !0 7 Ns   D score_resultsproject_namec                    g }|D ]X  }|j                   rt        ||j                  |j                  |j                  |j
                        }|j                  |       Z t        |      dkD  r| j                  ||       y y )N)r   r   valuereasoncategory_namer   )scoresr7   )	scoring_failedr   r   r9   r:   r;   r.   r   log_traces_feedback_scores)r   r6   r   r7   all_trace_scoresscore_result_trace_scores          r   log_test_result_feedback_scoresrB   M   s     68&'',##%% '''55
 	, ' q ))#, 	* 	
 !r   )loggingtypingr   r   opik.api_objectsr   r   r   
opik.typesr    r
   metricsr   typesr   	getLogger__name__r+   Opikstr
Experimentr   r"   Datasetr/   r5   ScoreResultrB    r   r   <module>rR      s    ! = = -  ! (			8	$/2 !;#3#3 !s !s !#&&#oo# ""78# 
)

	#L

001
 
 3-	

 

r   