Experiments Client¶
The Experiments client provides methods for managing experiments in the Opik platform.
- class opik.rest_api.experiments.client.ExperimentsClient(*, client_wrapper: SyncClientWrapper)¶
Bases:
object
- find_experiments(*, page: int | None = None, size: int | None = None, dataset_id: str | None = None, optimization_id: str | None = None, types: str | None = None, name: str | None = None, dataset_deleted: bool | None = None, prompt_id: str | None = None, sorting: str | None = None, filters: str | None = None, request_options: RequestOptions | None = None) ExperimentPagePublic ¶
Find experiments
- Parameters:
page (Optional[int])
size (Optional[int])
dataset_id (Optional[str])
optimization_id (Optional[str])
types (Optional[str])
name (Optional[str])
dataset_deleted (Optional[bool])
prompt_id (Optional[str])
sorting (Optional[str])
filters (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Experiments resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.find_experiments()
- create_experiment(*, dataset_name: str, id: str | None = OMIT, name: str | None = OMIT, metadata: Dict[str, Any | None] | None = OMIT, type: Literal['regular', 'trial', 'mini-batch'] | Any | None = OMIT, optimization_id: str | None = OMIT, prompt_version: PromptVersionLinkWrite | None = OMIT, prompt_versions: Sequence[PromptVersionLinkWrite] | None = OMIT, request_options: RequestOptions | None = None) None ¶
Create experiment
- Parameters:
dataset_name (str)
id (Optional[str])
name (Optional[str])
metadata (Optional[JsonNodeWrite])
type (Optional[ExperimentWriteType])
optimization_id (Optional[str])
prompt_version (Optional[PromptVersionLinkWrite])
prompt_versions (Optional[Sequence[PromptVersionLinkWrite]])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.create_experiment(dataset_name=’dataset_name’, )
- create_experiment_items(*, experiment_items: Sequence[ExperimentItem], request_options: RequestOptions | None = None) None ¶
Create experiment items
- Parameters:
experiment_items (Sequence[ExperimentItem])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi from Opik import ExperimentItem client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.create_experiment_items(experiment_items=[ExperimentItem(experiment_id=’experiment_id’, dataset_item_id=’dataset_item_id’, trace_id=’trace_id’, )], )
- delete_experiment_items(*, ids: Sequence[str], request_options: RequestOptions | None = None) None ¶
Delete experiment items
- Parameters:
ids (Sequence[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.delete_experiment_items(ids=[‘ids’], )
- delete_experiments_by_id(*, ids: Sequence[str], request_options: RequestOptions | None = None) None ¶
Delete experiments by id
- Parameters:
ids (Sequence[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.delete_experiments_by_id(ids=[‘ids’], )
- experiment_items_bulk(*, experiment_name: str, dataset_name: str, items: Sequence[ExperimentItemBulkRecordExperimentItemBulkWriteView], request_options: RequestOptions | None = None) None ¶
Record experiment items in bulk with traces, spans, and feedback scores. Maximum request size is 4MB.
- Parameters:
experiment_name (str)
dataset_name (str)
items (Sequence[ExperimentItemBulkRecordExperimentItemBulkWriteView])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi from Opik import ExperimentItemBulkRecordExperimentItemBulkWriteView client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.experiment_items_bulk(experiment_name=’experiment_name’, dataset_name=’dataset_name’, items=[ExperimentItemBulkRecordExperimentItemBulkWriteView(dataset_item_id=’dataset_item_id’, )], )
- find_feedback_score_names(*, experiment_ids: str | None = None, request_options: RequestOptions | None = None) List[str] ¶
Find Feedback Score names
- Parameters:
experiment_ids (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Feedback Scores resource
- Return type:
List[str]
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.find_feedback_score_names()
- get_experiment_by_id(id: str, *, request_options: RequestOptions | None = None) ExperimentPublic ¶
Get experiment by id
- Parameters:
id (str)
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Experiment resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.get_experiment_by_id(id=’id’, )
- get_experiment_item_by_id(id: str, *, request_options: RequestOptions | None = None) ExperimentItemPublic ¶
Get experiment item by id
- Parameters:
id (str)
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Experiment item resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.experiments.get_experiment_item_by_id(id=’id’, )
- stream_experiment_items(*, experiment_name: str, limit: int | None = OMIT, last_retrieved_id: str | None = OMIT, truncate: bool | None = OMIT, request_options: RequestOptions | None = None) Iterator[bytes] ¶
Stream experiment items
- Parameters:
experiment_name (str)
limit (Optional[int])
last_retrieved_id (Optional[str])
truncate (Optional[bool]) – Truncate image included in either input, output or metadata
request_options (Optional[RequestOptions]) – Request-specific configuration. You can pass in configuration such as chunk_size, and more to customize the request and response.
- Returns:
Experiment items stream or error during process
- Return type:
Iterator[bytes]
- stream_experiments(*, name: str, limit: int | None = OMIT, last_retrieved_id: str | None = OMIT, request_options: RequestOptions | None = None) Iterator[bytes] ¶
Stream experiments
- Parameters:
name (str)
limit (Optional[int])
last_retrieved_id (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration. You can pass in configuration such as chunk_size, and more to customize the request and response.
- Returns:
Experiments stream or error during process
- Return type:
Iterator[bytes]
Usage Example¶
import opik
client = opik.Opik()
# Find experiments
experiments = client.rest_client.experiments.find_experiments(
page=0,
size=10
)
# Get an experiment by ID
experiment = client.rest_client.experiments.get_experiment_by_id("experiment-id")
# Create a new experiment
client.rest_client.experiments.create_experiment(
name="my-experiment",
dataset_name="my-dataset"
)
# Stream experiment items
items_generator = client.rest_client.experiments.stream_experiment_items(
experiment_id="experiment-id"
)