
    j]	                     X    d dl Z d dlmZmZ ddlmZmZ ddlmZ ddlm	Z
  G d	 d
      Zy)    N)ListOptional   )rest_operationsexperiment_item   )opik_query_language   )clientc                   ~    e Zd ZdZdej
                  fdZ	 	 	 ddedee   de	de
d	ee   d
eej                     fdZy)ExperimentsClientz5Client for managing and querying experiments in bulk.rest_clientc                     || _         y )N)_rest_client)selfr   s     /Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/api_objects/experiment/experiments_client.py__init__zExperimentsClient.__init__   s
    '    Ndataset_nameexperiment_idstruncatemax_resultsfilter_stringreturnc                 6   |At        j                  t        j                  j	                  |      j                               }nd}| j                  j                  j                  |      j                  }t        j                  ||| j                  |||      S )a  
        Find experiment items associated with a specific dataset among a list of experiments.

        This method queries the dataset for experiment items matching the
        criteria provided by the input parameters. It leverages the
        ExperimentsClient to perform the underlying operation.

        Args:
            dataset_name: Name of the dataset to query for experiment items.
            experiment_ids: List of experiment IDs to filter the results.
            filter_string: Optional filter string to refine the
                query based on additional criteria (dataset fields, feedback scores, etc.).
            truncate: Whether to truncate image data stored in input, output,
                or metadata. Defaults to True.
            max_results: Maximum number of results to return. Defaults to 1000.

        Returns:
            A list of experiment item content objects that match the criteria.
        N)r   )
dataset_idr   r   r   r   filter_expression)jsondumpsr	   OpikQueryLanguage
for_tracesget_filter_expressionsr   datasetsget_dataset_by_identifieridr   !find_experiment_items_for_dataset)r   r   r   r   r   r   r   r   s           r   r&   z3ExperimentsClient.find_experiment_items_for_dataset   s    8 $ $

#55@@!((*! !% &&//II% J 

" 	 @@!)))#/
 	
r   )Ti  N)__name__
__module____qualname____doc__rest_api_clientOpikApir   strr   boolintr   r   ExperimentItemContentr&    r   r   r   r   	   st    ?(O$;$; ( '+1
1
 S	1
 	1

 1
  }1
 
o33	41
r   r   )r   typingr   r    r   r   r	   rest_apir   r+   r   r1   r   r   <module>r5      s     ! . " 17
 7
r   