Optimizations Client

The Optimizations client provides methods for managing optimization experiments in the Opik platform.

class opik.rest_api.optimizations.client.OptimizationsClient(*, client_wrapper: SyncClientWrapper)

Bases: object

find_optimizations(*, page: int | None = None, size: int | None = None, dataset_id: str | None = None, name: str | None = None, dataset_deleted: bool | None = None, request_options: RequestOptions | None = None) OptimizationPagePublic

Find optimizations

Parameters:
  • page (Optional[int])

  • size (Optional[int])

  • dataset_id (Optional[str])

  • name (Optional[str])

  • dataset_deleted (Optional[bool])

  • request_options (Optional[RequestOptions]) – Request-specific configuration.

Returns:

Optimizations resource

Return type:

OptimizationPagePublic

Examples

from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.optimizations.find_optimizations()

create_optimization(*, dataset_name: str, objective_name: str, status: Literal['running', 'completed', 'cancelled'] | Any, id: str | None = OMIT, name: str | None = OMIT, metadata: Dict[str, Any | None] | None = OMIT, last_updated_at: datetime | None = OMIT, request_options: RequestOptions | None = None) None

Create optimization

Parameters:
  • dataset_name (str)

  • objective_name (str)

  • status (OptimizationWriteStatus)

  • id (Optional[str])

  • name (Optional[str])

  • metadata (Optional[JsonNodeWrite])

  • last_updated_at (Optional[dt.datetime])

  • 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.optimizations.create_optimization(dataset_name=’dataset_name’, objective_name=’objective_name’, status=”running”, )

upsert_optimization(*, dataset_name: str, objective_name: str, status: Literal['running', 'completed', 'cancelled'] | Any, id: str | None = OMIT, name: str | None = OMIT, metadata: Dict[str, Any | None] | None = OMIT, last_updated_at: datetime | None = OMIT, request_options: RequestOptions | None = None) None

Upsert optimization

Parameters:
  • dataset_name (str)

  • objective_name (str)

  • status (OptimizationWriteStatus)

  • id (Optional[str])

  • name (Optional[str])

  • metadata (Optional[JsonNodeWrite])

  • last_updated_at (Optional[dt.datetime])

  • 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.optimizations.upsert_optimization(dataset_name=’dataset_name’, objective_name=’objective_name’, status=”running”, )

delete_optimizations_by_id(*, ids: Sequence[str], request_options: RequestOptions | None = None) None

Delete optimizations 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.optimizations.delete_optimizations_by_id(ids=[‘ids’], )

get_optimization_by_id(id: str, *, request_options: RequestOptions | None = None) OptimizationPublic

Get optimization by id

Parameters:
  • id (str)

  • request_options (Optional[RequestOptions]) – Request-specific configuration.

Returns:

Optimization resource

Return type:

OptimizationPublic

Examples

from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.optimizations.get_optimization_by_id(id=’id’, )

update_optimizations_by_id(id: str, *, name: str | None = OMIT, status: Literal['running', 'completed', 'cancelled'] | Any | None = OMIT, request_options: RequestOptions | None = None) None

Update optimization by id

Parameters:
  • id (str)

  • name (Optional[str])

  • status (Optional[OptimizationUpdateStatus])

  • 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.optimizations.update_optimizations_by_id(id=’id’, )

Usage Example

import opik

client = opik.Opik()

# Create an optimization
client.rest_client.optimizations.create_optimization(
    name="my-optimization",
    dataset_name="my-dataset",
    objective_name="accuracy",
    status="running"
)

# Get an optimization by ID
optimization = client.rest_client.optimizations.get_optimization_by_id(
    "optimization-id"
)

# Update optimization status
client.rest_client.optimizations.update_optimization(
    id="optimization-id",
    status="completed"
)

# Delete optimizations
client.rest_client.optimizations.delete_optimizations_by_id(
    ids=["optimization-id-1", "optimization-id-2"]
)