REST API Objects¶
This page documents all the public data types and response models used by the REST API methods. These objects represent the data structures returned by REST API calls and used as parameters.
The types are automatically generated from the REST API definition and include classes for resources, page objects for pagination, filter objects for queries, and various utility types.
Note
These are the raw REST API data types. For the main SDK objects like Dataset, Experiment, etc.,
see the main Opik documentation and the Objects section in the main documentation.
- class opik.rest_api.types.AggregationData(*, experiment_count: int | None = None, trace_count: int | None = None, total_estimated_cost: float | None = None, total_estimated_cost_avg: float | None = None, duration: PercentageValues | None = None, feedback_scores: List[FeedbackScoreAverage] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- experiment_count: int | None¶
- trace_count: int | None¶
- total_estimated_cost: float | None¶
- total_estimated_cost_avg: float | None¶
- duration: PercentageValues | None¶
- feedback_scores: List[FeedbackScoreAverage] | None¶
- class opik.rest_api.types.Alert(*, id: str | None = None, name: str | None = None, enabled: bool | None = None, alert_type: Literal['general', 'slack', 'pagerduty'] | Any | None = None, metadata: Dict[str, str] | None = None, webhook: Webhook, triggers: List[AlertTrigger] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- enabled: bool | None¶
- alert_type: Literal['general', 'slack', 'pagerduty'] | Any | None¶
- metadata: Dict[str, str] | None¶
- triggers: List[AlertTrigger] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.AlertPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: List[AlertPublic] | None = None, sortable_by: List[str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[AlertPublic] | None¶
- sortable_by: List[str] | None¶
- class opik.rest_api.types.AlertPublic(*, id: str | None = None, name: str | None = None, enabled: bool | None = None, alert_type: Literal['general', 'slack', 'pagerduty'] | Any | None = None, metadata: Dict[str, str] | None = None, webhook: WebhookPublic, triggers: List[AlertTriggerPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- enabled: bool | None¶
- alert_type: Literal['general', 'slack', 'pagerduty'] | Any | None¶
- metadata: Dict[str, str] | None¶
- webhook: WebhookPublic¶
- triggers: List[AlertTriggerPublic] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.AlertTrigger(*, id: str | None = None, alert_id: str | None = None, event_type: Literal['trace:errors', 'trace:feedback_score', 'trace_thread:feedback_score', 'prompt:created', 'prompt:committed', 'trace:guardrails_triggered', 'prompt:deleted'] | Any, trigger_configs: List[AlertTriggerConfig] | None = None, created_at: datetime | None = None, created_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- alert_id: str | None¶
- event_type: Literal['trace:errors', 'trace:feedback_score', 'trace_thread:feedback_score', 'prompt:created', 'prompt:committed', 'trace:guardrails_triggered', 'prompt:deleted'] | Any¶
- trigger_configs: List[AlertTriggerConfig] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- class opik.rest_api.types.AlertTriggerConfig(*, id: str | None = None, alert_trigger_id: str | None = None, type: Literal['scope:project', 'threshold:feedback_score'] | Any, config_value: Dict[str, str] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- alert_trigger_id: str | None¶
- type: Literal['scope:project', 'threshold:feedback_score'] | Any¶
- config_value: Dict[str, str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.AlertTriggerConfigPublic(*, id: str | None = None, alert_trigger_id: str | None = None, type: Literal['scope:project', 'threshold:feedback_score'] | Any, config_value: Dict[str, str] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- alert_trigger_id: str | None¶
- type: Literal['scope:project', 'threshold:feedback_score'] | Any¶
- config_value: Dict[str, str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.AlertTriggerConfigWrite(*, id: str | None = None, type: Literal['scope:project', 'threshold:feedback_score'] | Any, config_value: Dict[str, str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- type: Literal['scope:project', 'threshold:feedback_score'] | Any¶
- config_value: Dict[str, str] | None¶
- class opik.rest_api.types.AlertTriggerPublic(*, id: str | None = None, alert_id: str | None = None, event_type: Literal['trace:errors', 'trace:feedback_score', 'trace_thread:feedback_score', 'prompt:created', 'prompt:committed', 'trace:guardrails_triggered', 'prompt:deleted'] | Any, trigger_configs: List[AlertTriggerConfigPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- alert_id: str | None¶
- event_type: Literal['trace:errors', 'trace:feedback_score', 'trace_thread:feedback_score', 'prompt:created', 'prompt:committed', 'trace:guardrails_triggered', 'prompt:deleted'] | Any¶
- trigger_configs: List[AlertTriggerConfigPublic] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- class opik.rest_api.types.AlertTriggerWrite(*, id: str | None = None, event_type: Literal['trace:errors', 'trace:feedback_score', 'trace_thread:feedback_score', 'prompt:created', 'prompt:committed', 'trace:guardrails_triggered', 'prompt:deleted'] | Any, trigger_configs: List[AlertTriggerConfigWrite] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- event_type: Literal['trace:errors', 'trace:feedback_score', 'trace_thread:feedback_score', 'prompt:created', 'prompt:committed', 'trace:guardrails_triggered', 'prompt:deleted'] | Any¶
- trigger_configs: List[AlertTriggerConfigWrite] | None¶
- class opik.rest_api.types.AlertWrite(*, id: str | None = None, name: str | None = None, enabled: bool | None = None, alert_type: Literal['general', 'slack', 'pagerduty'] | Any | None = None, metadata: Dict[str, str] | None = None, webhook: WebhookWrite, triggers: List[AlertTriggerWrite] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- enabled: bool | None¶
- alert_type: Literal['general', 'slack', 'pagerduty'] | Any | None¶
- metadata: Dict[str, str] | None¶
- webhook: WebhookWrite¶
- triggers: List[AlertTriggerWrite] | None¶
- class opik.rest_api.types.AnnotationQueue(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, description: str | None = None, instructions: str | None = None, scope: Literal['trace', 'thread'] | Any, comments_enabled: bool | None = None, feedback_definition_names: List[str] | None = None, reviewers: List[AnnotationQueueReviewer] | None = None, feedback_scores: List[FeedbackScoreAverage] | None = None, items_count: int | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModelList of annotation queues to create
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_id: str¶
- project_name: str | None¶
- name: str¶
- description: str | None¶
- instructions: str | None¶
- scope: Literal['trace', 'thread'] | Any¶
- comments_enabled: bool | None¶
- feedback_definition_names: List[str] | None¶
- reviewers: List[AnnotationQueueReviewer] | None¶
- feedback_scores: List[FeedbackScoreAverage] | None¶
- items_count: int | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.AnnotationQueueBatch(*, annotation_queues: List[AnnotationQueue], **extra_data: Any)¶
Bases:
UniversalBaseModelBatch of annotation queues to create
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- annotation_queues: List[AnnotationQueue]¶
List of annotation queues to create
- class opik.rest_api.types.AnnotationQueueItemIds(*, ids: List[str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- ids: List[str]¶
- class opik.rest_api.types.AnnotationQueuePagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.annotation_queue_public.AnnotationQueuePublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff751d00>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[AnnotationQueuePublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff751d00>]¶
- class opik.rest_api.types.AnnotationQueuePublic(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, description: str | None = None, instructions: str | None = None, scope: Literal['trace', 'thread'] | Any, comments_enabled: bool | None = None, feedback_definition_names: List[str] | None = None, reviewers: List[AnnotationQueueReviewerPublic] | None = None, feedback_scores: List[FeedbackScoreAveragePublic] | None = None, items_count: int | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_id: str¶
- project_name: str | None¶
- name: str¶
- description: str | None¶
- instructions: str | None¶
- scope: Literal['trace', 'thread'] | Any¶
- comments_enabled: bool | None¶
- feedback_definition_names: List[str] | None¶
- reviewers: List[AnnotationQueueReviewerPublic] | None¶
- feedback_scores: List[FeedbackScoreAveragePublic] | None¶
- items_count: int | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.AnnotationQueueReviewer(*, username: str | None = None, status: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- username: str | None¶
- status: int | None¶
- class opik.rest_api.types.AnnotationQueueReviewerPublic(*, username: str | None = None, status: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- username: str | None¶
- status: int | None¶
- class opik.rest_api.types.AnnotationQueueWrite(*, id: str | None = None, project_id: str, name: str, description: str | None = None, instructions: str | None = None, scope: Literal['trace', 'thread'] | Any, comments_enabled: bool | None = None, feedback_definition_names: List[str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModelList of annotation queues to create
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_id: str¶
- name: str¶
- description: str | None¶
- instructions: str | None¶
- scope: Literal['trace', 'thread'] | Any¶
- comments_enabled: bool | None¶
- feedback_definition_names: List[str] | None¶
- class opik.rest_api.types.AssistantMessage(*, role: Literal['system', 'user', 'assistant', 'tool', 'function'] | Any | None = None, content: str | None = None, reasoning_content: str | None = None, name: str | None = None, tool_calls: List[ToolCall] | None = None, refusal: str | None = None, function_call: FunctionCall | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: Literal['system', 'user', 'assistant', 'tool', 'function'] | Any | None¶
- content: str | None¶
- reasoning_content: str | None¶
- name: str | None¶
- refusal: str | None¶
- function_call: FunctionCall | None¶
- class opik.rest_api.types.Attachment(*, link: str | None = None, file_name: str, file_size: int, mime_type: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- link: str | None¶
- file_name: str¶
- file_size: int¶
- mime_type: str¶
- class opik.rest_api.types.AttachmentPage(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.attachment.Attachment] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff683cb0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[Attachment] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff683cb0>]¶
- class opik.rest_api.types.AutomationRuleEvaluatorLlmAsJudge(*, code: LlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: LlmAsJudgeCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorLlmAsJudgePublic(*, code: LlmAsJudgeCodePublic | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: LlmAsJudgeCodePublic | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorLlmAsJudgeWrite(*, code: LlmAsJudgeCodeWrite | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: LlmAsJudgeCodeWrite | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorObjectPublic_LlmAsJudge(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['llm_as_judge'] = 'llm_as_judge', code: LlmAsJudgeCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['llm_as_judge']¶
- code: Optional[LlmAsJudgeCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorObjectPublic_TraceThreadLlmAsJudge(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_llm_as_judge'] = 'trace_thread_llm_as_judge', code: TraceThreadLlmAsJudgeCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_llm_as_judge']¶
- code: Optional[TraceThreadLlmAsJudgeCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorObjectPublic_TraceThreadUserDefinedMetricPython(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_user_defined_metric_python'] = 'trace_thread_user_defined_metric_python', code: TraceThreadUserDefinedMetricPythonCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_user_defined_metric_python']¶
- code: Optional[TraceThreadUserDefinedMetricPythonCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorObjectPublic_UserDefinedMetricPython(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['user_defined_metric_python'] = 'user_defined_metric_python', code: UserDefinedMetricPythonCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['user_defined_metric_python']¶
- code: Optional[UserDefinedMetricPythonCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: List[AutomationRuleEvaluatorObjectPublic_LlmAsJudge | AutomationRuleEvaluatorObjectPublic_UserDefinedMetricPython | AutomationRuleEvaluatorObjectPublic_TraceThreadLlmAsJudge | AutomationRuleEvaluatorObjectPublic_TraceThreadUserDefinedMetricPython] | None = None, sortable_by: List[str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[AutomationRuleEvaluatorObjectPublic_LlmAsJudge | AutomationRuleEvaluatorObjectPublic_UserDefinedMetricPython | AutomationRuleEvaluatorObjectPublic_TraceThreadLlmAsJudge | AutomationRuleEvaluatorObjectPublic_TraceThreadUserDefinedMetricPython] | None¶
- sortable_by: List[str] | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorPublic_LlmAsJudge(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['llm_as_judge'] = 'llm_as_judge', code: LlmAsJudgeCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['llm_as_judge']¶
- code: Optional[LlmAsJudgeCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorPublic_TraceThreadLlmAsJudge(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_llm_as_judge'] = 'trace_thread_llm_as_judge', code: TraceThreadLlmAsJudgeCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_llm_as_judge']¶
- code: Optional[TraceThreadLlmAsJudgeCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorPublic_TraceThreadUserDefinedMetricPython(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_user_defined_metric_python'] = 'trace_thread_user_defined_metric_python', code: TraceThreadUserDefinedMetricPythonCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_user_defined_metric_python']¶
- code: Optional[TraceThreadUserDefinedMetricPythonCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorPublic_UserDefinedMetricPython(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterPublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['user_defined_metric_python'] = 'user_defined_metric_python', code: UserDefinedMetricPythonCodePublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['user_defined_metric_python']¶
- code: Optional[UserDefinedMetricPythonCodePublic]¶
- class opik.rest_api.types.AutomationRuleEvaluatorTraceThreadLlmAsJudge(*, code: TraceThreadLlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadLlmAsJudgeCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorTraceThreadLlmAsJudgePublic(*, code: TraceThreadLlmAsJudgeCodePublic | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadLlmAsJudgeCodePublic | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorTraceThreadLlmAsJudgeWrite(*, code: TraceThreadLlmAsJudgeCodeWrite | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadLlmAsJudgeCodeWrite | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython(*, code: TraceThreadUserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadUserDefinedMetricPythonCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublic(*, code: TraceThreadUserDefinedMetricPythonCodePublic | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadUserDefinedMetricPythonCodePublic | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWrite(*, code: TraceThreadUserDefinedMetricPythonCodeWrite | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadUserDefinedMetricPythonCodeWrite | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdateLlmAsJudge(*, code: LlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: LlmAsJudgeCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudge(*, code: TraceThreadLlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadLlmAsJudgeCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPython(*, code: TraceThreadUserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: TraceThreadUserDefinedMetricPythonCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdateUserDefinedMetricPython(*, code: UserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: UserDefinedMetricPythonCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdate_LlmAsJudge(*, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, project_id: str, action: Literal['evaluator'] = 'evaluator', type: Literal['llm_as_judge'] = 'llm_as_judge', code: LlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['llm_as_judge']¶
- code: Optional[LlmAsJudgeCode]¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdate_TraceThreadLlmAsJudge(*, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, project_id: str, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_llm_as_judge'] = 'trace_thread_llm_as_judge', code: TraceThreadLlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_llm_as_judge']¶
- code: Optional[TraceThreadLlmAsJudgeCode]¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdate_TraceThreadUserDefinedMetricPython(*, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, project_id: str, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_user_defined_metric_python'] = 'trace_thread_user_defined_metric_python', code: TraceThreadUserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_user_defined_metric_python']¶
- code: Optional[TraceThreadUserDefinedMetricPythonCode]¶
- class opik.rest_api.types.AutomationRuleEvaluatorUpdate_UserDefinedMetricPython(*, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, project_id: str, action: Literal['evaluator'] = 'evaluator', type: Literal['user_defined_metric_python'] = 'user_defined_metric_python', code: UserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['user_defined_metric_python']¶
- code: Optional[UserDefinedMetricPythonCode]¶
- class opik.rest_api.types.AutomationRuleEvaluatorUserDefinedMetricPython(*, code: UserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: UserDefinedMetricPythonCode | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUserDefinedMetricPythonPublic(*, code: UserDefinedMetricPythonCodePublic | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: UserDefinedMetricPythonCodePublic | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorUserDefinedMetricPythonWrite(*, code: UserDefinedMetricPythonCodeWrite | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: UserDefinedMetricPythonCodeWrite | None¶
- class opik.rest_api.types.AutomationRuleEvaluatorWrite_LlmAsJudge(*, project_id: str, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterWrite] | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['llm_as_judge'] = 'llm_as_judge', code: LlmAsJudgeCodeWrite | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['llm_as_judge']¶
- code: Optional[LlmAsJudgeCodeWrite]¶
- class opik.rest_api.types.AutomationRuleEvaluatorWrite_TraceThreadLlmAsJudge(*, project_id: str, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterWrite] | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_llm_as_judge'] = 'trace_thread_llm_as_judge', code: TraceThreadLlmAsJudgeCodeWrite | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_llm_as_judge']¶
- code: Optional[TraceThreadLlmAsJudgeCodeWrite]¶
- class opik.rest_api.types.AutomationRuleEvaluatorWrite_TraceThreadUserDefinedMetricPython(*, project_id: str, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterWrite] | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_user_defined_metric_python'] = 'trace_thread_user_defined_metric_python', code: TraceThreadUserDefinedMetricPythonCodeWrite | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_user_defined_metric_python']¶
- code: Optional[TraceThreadUserDefinedMetricPythonCodeWrite]¶
- class opik.rest_api.types.AutomationRuleEvaluatorWrite_UserDefinedMetricPython(*, project_id: str, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilterWrite] | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['user_defined_metric_python'] = 'user_defined_metric_python', code: UserDefinedMetricPythonCodeWrite | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['user_defined_metric_python']¶
- code: Optional[UserDefinedMetricPythonCodeWrite]¶
- class opik.rest_api.types.AutomationRuleEvaluator_LlmAsJudge(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['llm_as_judge'] = 'llm_as_judge', code: LlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['llm_as_judge']¶
- code: Optional[LlmAsJudgeCode]¶
- class opik.rest_api.types.AutomationRuleEvaluator_TraceThreadLlmAsJudge(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_llm_as_judge'] = 'trace_thread_llm_as_judge', code: TraceThreadLlmAsJudgeCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_llm_as_judge']¶
- code: Optional[TraceThreadLlmAsJudgeCode]¶
- class opik.rest_api.types.AutomationRuleEvaluator_TraceThreadUserDefinedMetricPython(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['trace_thread_user_defined_metric_python'] = 'trace_thread_user_defined_metric_python', code: TraceThreadUserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['trace_thread_user_defined_metric_python']¶
- code: Optional[TraceThreadUserDefinedMetricPythonCode]¶
- class opik.rest_api.types.AutomationRuleEvaluator_UserDefinedMetricPython(*, id: str | None = None, project_id: str, project_name: str | None = None, name: str, sampling_rate: float | None = None, enabled: bool | None = None, filters: List[TraceFilter] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, action: Literal['evaluator'] = 'evaluator', type: Literal['user_defined_metric_python'] = 'user_defined_metric_python', code: UserDefinedMetricPythonCode | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['user_defined_metric_python']¶
- code: Optional[UserDefinedMetricPythonCode]¶
- class opik.rest_api.types.AvgValueStatPublic(*, value: float | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: float | None¶
- class opik.rest_api.types.BatchDelete(*, ids: List[str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- ids: List[str]¶
- class opik.rest_api.types.BatchDeleteByProject(*, ids: List[str], project_id: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- ids: List[str]¶
- project_id: str | None¶
- class opik.rest_api.types.BiInformation(*, workspace_id: str | None = None, user: str | None = None, count: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- workspace_id: str | None¶
- user: str | None¶
- count: int | None¶
- class opik.rest_api.types.BiInformationResponse(*, bi_information: List[BiInformation] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- bi_information: List[BiInformation] | None¶
- class opik.rest_api.types.CategoricalFeedbackDefinition(*, details: CategoricalFeedbackDetail | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: CategoricalFeedbackDetail | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.CategoricalFeedbackDefinitionCreate(*, details: CategoricalFeedbackDetailCreate | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: CategoricalFeedbackDetailCreate | None¶
- class opik.rest_api.types.CategoricalFeedbackDefinitionPublic(*, details: CategoricalFeedbackDetailPublic | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: CategoricalFeedbackDetailPublic | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.CategoricalFeedbackDefinitionUpdate(*, details: CategoricalFeedbackDetailUpdate | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: CategoricalFeedbackDetailUpdate | None¶
- class opik.rest_api.types.CategoricalFeedbackDetail(*, categories: Dict[str, float], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- categories: Dict[str, float]¶
- class opik.rest_api.types.CategoricalFeedbackDetailCreate(*, categories: Dict[str, float], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- categories: Dict[str, float]¶
- class opik.rest_api.types.CategoricalFeedbackDetailPublic(*, categories: Dict[str, float], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- categories: Dict[str, float]¶
- class opik.rest_api.types.CategoricalFeedbackDetailUpdate(*, categories: Dict[str, float], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- categories: Dict[str, float]¶
- class opik.rest_api.types.ChatCompletionChoice(*, index: int | None = None, message: AssistantMessage | None = None, delta: Delta | None = None, finish_reason: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- index: int | None¶
- message: AssistantMessage | None¶
- finish_reason: str | None¶
- class opik.rest_api.types.ChatCompletionResponse(*, id: str | None = None, created: int | None = None, model: str | None = None, choices: List[ChatCompletionChoice] | None = None, usage: Usage | None = None, system_fingerprint: str | None = None, service_tier: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- created: int | None¶
- model: str | None¶
- choices: List[ChatCompletionChoice] | None¶
- system_fingerprint: str | None¶
- service_tier: str | None¶
- class opik.rest_api.types.Check(*, name: Literal['TOPIC', 'PII'] | Any | None = None, result: Literal['passed', 'failed'] | Any | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: Literal['TOPIC', 'PII'] | Any | None¶
- result: Literal['passed', 'failed'] | Any | None¶
- class opik.rest_api.types.CheckPublic(*, name: Literal['TOPIC', 'PII'] | Any | None = None, result: Literal['passed', 'failed'] | Any | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: Literal['TOPIC', 'PII'] | Any | None¶
- result: Literal['passed', 'failed'] | Any | None¶
- class opik.rest_api.types.ChunkedOutputJsonNode(*, type: ChunkedOutputJsonNodeType | None = None, closed: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: ChunkedOutputJsonNodeType | None¶
- closed: bool | None¶
- class opik.rest_api.types.ChunkedOutputJsonNodePublic(*, type: ChunkedOutputJsonNodePublicType | None = None, closed: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: ChunkedOutputJsonNodePublicType | None¶
- closed: bool | None¶
- class opik.rest_api.types.ChunkedOutputJsonNodePublicType(*, type_name: ~typing.Annotated[str | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff39cf20>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_name: FieldMetadata object at 0x7f9dff39cf20>]¶
- class opik.rest_api.types.ChunkedOutputJsonNodeType(*, type_name: ~typing.Annotated[str | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff33f8f0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type_name: FieldMetadata object at 0x7f9dff33f8f0>]¶
- class opik.rest_api.types.Column(*, name: str | None = None, types: ~typing.List[~typing.Literal['string', 'number', 'object', 'boolean', 'array', 'null'] | ~typing.Any] | None = None, filter_field_prefix: str | None = None, filter_field: ~typing.Annotated[str | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff39d400>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- types: List[Literal['string', 'number', 'object', 'boolean', 'array', 'null'] | Any] | None¶
- filter_field_prefix: str | None¶
- filter_field: FieldMetadata object at 0x7f9dff39d400>]¶
The field to use for filtering
- class opik.rest_api.types.ColumnCompare(*, name: str | None = None, types: ~typing.List[~typing.Literal['string', 'number', 'object', 'boolean', 'array', 'null'] | ~typing.Any] | None = None, filter_field_prefix: str | None = None, filter_field: ~typing.Annotated[str | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff5b7a10>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- types: List[Literal['string', 'number', 'object', 'boolean', 'array', 'null'] | Any] | None¶
- filter_field_prefix: str | None¶
- filter_field: FieldMetadata object at 0x7f9dff5b7a10>]¶
The field to use for filtering
- class opik.rest_api.types.ColumnPublic(*, name: str | None = None, types: ~typing.List[~typing.Literal['string', 'number', 'object', 'boolean', 'array', 'null'] | ~typing.Any] | None = None, filter_field_prefix: str | None = None, filter_field: ~typing.Annotated[str | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff62d6d0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- types: List[Literal['string', 'number', 'object', 'boolean', 'array', 'null'] | Any] | None¶
- filter_field_prefix: str | None¶
- filter_field: FieldMetadata object at 0x7f9dff62d6d0>]¶
The field to use for filtering
- class opik.rest_api.types.Comment(*, id: str | None = None, text: str, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- text: str¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.CommentCompare(*, id: str | None = None, text: str, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- text: str¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.CommentPublic(*, id: str | None = None, text: str, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- text: str¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.CompleteMultipartUploadRequest(*, file_name: str, project_name: str | None = None, entity_type: Literal['trace', 'span'] | Any, entity_id: str, container_id: str | None = None, file_size: int, mime_type: str | None = None, upload_id: str, uploaded_file_parts: List[MultipartUploadPart], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- file_name: str¶
- project_name: str | None¶
If null, the default project is used
- entity_type: Literal['trace', 'span'] | Any¶
- entity_id: str¶
- container_id: str | None¶
- file_size: int¶
- mime_type: str | None¶
- upload_id: str¶
- uploaded_file_parts: List[MultipartUploadPart]¶
- class opik.rest_api.types.CompletionTokensDetails(*, reasoning_tokens: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- reasoning_tokens: int | None¶
- class opik.rest_api.types.CountValueStatPublic(*, value: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: int | None¶
- class opik.rest_api.types.DataPointDouble(*, time: datetime, value: float | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- time: datetime¶
- value: float | None¶
- class opik.rest_api.types.DataPointNumberPublic(*, time: datetime, value: float | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- time: datetime¶
- value: float | None¶
- class opik.rest_api.types.DatasetExpansion(*, model: str, sample_count: int | None = None, preserve_fields: List[str] | None = None, variation_instructions: str | None = None, custom_prompt: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model: str¶
The model to use for synthetic data generation
- sample_count: int | None¶
Number of synthetic samples to generate
- preserve_fields: List[str] | None¶
Fields to preserve patterns from original data
- variation_instructions: str | None¶
Additional instructions for data variation
- custom_prompt: str | None¶
Custom prompt to use for generation instead of auto-generated one
- class opik.rest_api.types.DatasetExpansionResponse(*, generated_samples: List[DatasetItem] | None = None, model: str | None = None, total_generated: int | None = None, generation_time: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- generated_samples: List[DatasetItem] | None¶
List of generated synthetic dataset items
- model: str | None¶
Model used for generation
- total_generated: int | None¶
Total number of samples generated
- generation_time: datetime | None¶
Generation timestamp
- class opik.rest_api.types.DatasetItem(*, id: str | None = None, trace_id: str | None = None, span_id: str | None = None, source: Literal['manual', 'trace', 'span', 'sdk'] | Any, data: Dict[str, Any | None], experiment_items: List[ExperimentItem] | None = None, dataset_id: str | None = None, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- trace_id: str | None¶
- span_id: str | None¶
- source: Literal['manual', 'trace', 'span', 'sdk'] | Any¶
- data: Dict[str, Any | None]¶
- experiment_items: List[ExperimentItem] | None¶
- dataset_id: str | None¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.DatasetItemBatch(*, dataset_name: str | None = None, dataset_id: str | None = None, items: List[DatasetItem], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- dataset_name: str | None¶
If null, dataset_id must be provided
- dataset_id: str | None¶
If null, dataset_name must be provided
- items: List[DatasetItem]¶
- class opik.rest_api.types.DatasetItemCompare(*, id: str | None = None, trace_id: str | None = None, span_id: str | None = None, source: Literal['manual', 'trace', 'span', 'sdk'] | Any, data: Dict[str, Any | None], experiment_items: List[ExperimentItemCompare] | None = None, dataset_id: str | None = None, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- trace_id: str | None¶
- span_id: str | None¶
- source: Literal['manual', 'trace', 'span', 'sdk'] | Any¶
- data: Dict[str, Any | None]¶
- experiment_items: List[ExperimentItemCompare] | None¶
- dataset_id: str | None¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.DatasetItemPageCompare(*, content: ~typing.List[~opik.rest_api.types.dataset_item_compare.DatasetItemCompare] | None = None, page: int | None = None, size: int | None = None, total: int | None = None, columns: ~typing.List[~opik.rest_api.types.column_compare.ColumnCompare] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff958bf0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- content: List[DatasetItemCompare] | None¶
- page: int | None¶
- size: int | None¶
- total: int | None¶
- columns: List[ColumnCompare] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff958bf0>]¶
- class opik.rest_api.types.DatasetItemPagePublic(*, content: ~typing.List[~opik.rest_api.types.dataset_item_public.DatasetItemPublic] | None = None, page: int | None = None, size: int | None = None, total: int | None = None, columns: ~typing.List[~opik.rest_api.types.column_public.ColumnPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff39ff20>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- content: List[DatasetItemPublic] | None¶
- page: int | None¶
- size: int | None¶
- total: int | None¶
- columns: List[ColumnPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff39ff20>]¶
- class opik.rest_api.types.DatasetItemPublic(*, id: str | None = None, trace_id: str | None = None, span_id: str | None = None, source: Literal['manual', 'trace', 'span', 'sdk'] | Any, data: Dict[str, Any | None], experiment_items: List[ExperimentItemPublic] | None = None, dataset_id: str | None = None, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- trace_id: str | None¶
- span_id: str | None¶
- source: Literal['manual', 'trace', 'span', 'sdk'] | Any¶
- data: Dict[str, Any | None]¶
- experiment_items: List[ExperimentItemPublic] | None¶
- dataset_id: str | None¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.DatasetItemWrite(*, id: str | None = None, trace_id: str | None = None, span_id: str | None = None, source: Literal['manual', 'trace', 'span', 'sdk'] | Any, data: Dict[str, Any | None], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- trace_id: str | None¶
- span_id: str | None¶
- source: Literal['manual', 'trace', 'span', 'sdk'] | Any¶
- data: Dict[str, Any | None]¶
- class opik.rest_api.types.DatasetPagePublic(*, content: ~typing.List[~opik.rest_api.types.dataset_public.DatasetPublic] | None = None, page: int | None = None, size: int | None = None, total: int | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff212000>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- content: List[DatasetPublic] | None¶
- page: int | None¶
- size: int | None¶
- total: int | None¶
- sortable_by: FieldMetadata object at 0x7f9dff212000>]¶
- class opik.rest_api.types.DatasetPublic(*, id: str | None = None, name: str, visibility: Literal['private', 'public'] | Any | None = None, tags: List[str] | None = None, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, experiment_count: int | None = None, dataset_items_count: int | None = None, optimization_count: int | None = None, most_recent_experiment_at: datetime | None = None, last_created_experiment_at: datetime | None = None, most_recent_optimization_at: datetime | None = None, last_created_optimization_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str¶
- visibility: Literal['private', 'public'] | Any | None¶
- tags: List[str] | None¶
- description: str | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- experiment_count: int | None¶
- dataset_items_count: int | None¶
- optimization_count: int | None¶
- most_recent_experiment_at: datetime | None¶
- last_created_experiment_at: datetime | None¶
- most_recent_optimization_at: datetime | None¶
- last_created_optimization_at: datetime | None¶
- class opik.rest_api.types.DeleteAttachmentsRequest(*, file_names: List[str], entity_type: Literal['trace', 'span'] | Any, entity_id: str, container_id: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- file_names: List[str]¶
- entity_type: Literal['trace', 'span'] | Any¶
- entity_id: str¶
- container_id: str¶
- class opik.rest_api.types.DeleteFeedbackScore(*, name: str, author: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- author: str | None¶
- class opik.rest_api.types.DeleteIdsHolder(*, ids: List[str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- ids: List[str]¶
- class opik.rest_api.types.Delta(*, role: str | None = None, content: str | None = None, reasoning_content: str | None = None, tool_calls: List[ToolCall] | None = None, function_call: FunctionCall | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: str | None¶
- content: str | None¶
- reasoning_content: str | None¶
- function_call: FunctionCall | None¶
- class opik.rest_api.types.ErrorCountWithDeviation(*, count: int | None = None, deviation: int | None = None, deviation_percentage: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- count: int | None¶
- deviation: int | None¶
- deviation_percentage: int | None¶
- class opik.rest_api.types.ErrorCountWithDeviationDetailed(*, count: int | None = None, deviation: int | None = None, deviation_percentage: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- count: int | None¶
- deviation: int | None¶
- deviation_percentage: int | None¶
- class opik.rest_api.types.ErrorInfo(*, exception_type: str, message: str | None = None, traceback: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- exception_type: str¶
- message: str | None¶
- traceback: str¶
- class opik.rest_api.types.ErrorInfoExperimentItemBulkWriteView(*, exception_type: str, message: str | None = None, traceback: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- exception_type: str¶
- message: str | None¶
- traceback: str¶
- class opik.rest_api.types.ErrorInfoPublic(*, exception_type: str, message: str | None = None, traceback: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- exception_type: str¶
- message: str | None¶
- traceback: str¶
- class opik.rest_api.types.ErrorInfoWrite(*, exception_type: str, message: str | None = None, traceback: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- exception_type: str¶
- message: str | None¶
- traceback: str¶
- class opik.rest_api.types.ErrorMessage(*, code: int | None = None, message: str | None = None, details: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: int | None¶
- message: str | None¶
- details: str | None¶
- class opik.rest_api.types.ErrorMessageDetail(*, code: int | None = None, message: str | None = None, details: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: int | None¶
- message: str | None¶
- details: str | None¶
- class opik.rest_api.types.ErrorMessageDetailed(*, errors: List[str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- errors: List[str] | None¶
- class opik.rest_api.types.ErrorMessagePublic(*, code: int | None = None, message: str | None = None, details: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- code: int | None¶
- message: str | None¶
- details: str | None¶
- class opik.rest_api.types.ExperimentGroupAggregationsResponse(*, content: Dict[str, GroupContentWithAggregations] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- content: Dict[str, GroupContentWithAggregations] | None¶
- class opik.rest_api.types.ExperimentGroupResponse(*, content: Dict[str, GroupContent] | None = None, details: GroupDetails | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- content: Dict[str, GroupContent] | None¶
- details: GroupDetails | None¶
- class opik.rest_api.types.ExperimentItem(*, id: str | None = None, experiment_id: str, dataset_item_id: str, trace_id: str, input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, feedback_scores: List[FeedbackScore] | None = None, comments: List[Comment] | None = None, total_estimated_cost: float | None = None, duration: float | None = None, usage: Dict[str, int] | None = None, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, trace_visibility_mode: Literal['default', 'hidden'] | Any | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- experiment_id: str¶
- dataset_item_id: str¶
- trace_id: str¶
- input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- feedback_scores: List[FeedbackScore] | None¶
- total_estimated_cost: float | None¶
- duration: float | None¶
- usage: Dict[str, int] | None¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- trace_visibility_mode: Literal['default', 'hidden'] | Any | None¶
- class opik.rest_api.types.ExperimentItemBulkRecord(*, dataset_item_id: str, evaluate_task_result: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, trace: Trace | None = None, spans: List[Span] | None = None, feedback_scores: List[FeedbackScore] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- dataset_item_id: str¶
- evaluate_task_result: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- trace: Trace | None¶
- spans: List[Span] | None¶
- feedback_scores: List[FeedbackScore] | None¶
- class opik.rest_api.types.ExperimentItemBulkRecordExperimentItemBulkWriteView(*, dataset_item_id: str, evaluate_task_result: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, trace: TraceExperimentItemBulkWriteView | None = None, spans: List[SpanExperimentItemBulkWriteView] | None = None, feedback_scores: List[FeedbackScoreExperimentItemBulkWriteView] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- dataset_item_id: str¶
- evaluate_task_result: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- trace: TraceExperimentItemBulkWriteView | None¶
- spans: List[SpanExperimentItemBulkWriteView] | None¶
- feedback_scores: List[FeedbackScoreExperimentItemBulkWriteView] | None¶
- class opik.rest_api.types.ExperimentItemBulkUpload(*, experiment_name: str, dataset_name: str, experiment_id: str | None = None, items: List[ExperimentItemBulkRecord], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- experiment_name: str¶
- dataset_name: str¶
- experiment_id: str | None¶
Optional experiment ID. If provided, items will be added to the existing experiment and experimentName will be ignored. If not provided or experiment with that ID doesn’t exist, a new experiment will be created with the given experimentName
- items: List[ExperimentItemBulkRecord]¶
- class opik.rest_api.types.ExperimentItemCompare(*, id: str | None = None, experiment_id: str, dataset_item_id: str, trace_id: str, input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, feedback_scores: List[FeedbackScoreCompare] | None = None, comments: List[CommentCompare] | None = None, total_estimated_cost: float | None = None, duration: float | None = None, usage: Dict[str, int] | None = None, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, trace_visibility_mode: Literal['default', 'hidden'] | Any | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- experiment_id: str¶
- dataset_item_id: str¶
- trace_id: str¶
- input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- feedback_scores: List[FeedbackScoreCompare] | None¶
- comments: List[CommentCompare] | None¶
- total_estimated_cost: float | None¶
- duration: float | None¶
- usage: Dict[str, int] | None¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- trace_visibility_mode: Literal['default', 'hidden'] | Any | None¶
- class opik.rest_api.types.ExperimentItemPublic(*, id: str | None = None, experiment_id: str, dataset_item_id: str, trace_id: str, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, trace_visibility_mode: Literal['default', 'hidden'] | Any | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- experiment_id: str¶
- dataset_item_id: str¶
- trace_id: str¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- trace_visibility_mode: Literal['default', 'hidden'] | Any | None¶
- class opik.rest_api.types.ExperimentPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.experiment_public.ExperimentPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff450410>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[ExperimentPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff450410>]¶
- class opik.rest_api.types.ExperimentPublic(*, id: str | None = None, dataset_name: str, dataset_id: str | None = None, name: str | None = None, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, type: Literal['regular', 'trial', 'mini-batch'] | Any | None = None, optimization_id: str | None = None, feedback_scores: List[FeedbackScoreAveragePublic] | None = None, comments: List[CommentPublic] | None = None, trace_count: int | None = None, created_at: datetime | None = None, duration: PercentageValuesPublic | None = None, total_estimated_cost: float | None = None, total_estimated_cost_avg: float | None = None, usage: Dict[str, float] | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, status: Literal['running', 'completed', 'cancelled'] | Any | None = None, prompt_version: PromptVersionLinkPublic | None = None, prompt_versions: List[PromptVersionLinkPublic] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- dataset_name: str¶
- dataset_id: str | None¶
- name: str | None¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- type: Literal['regular', 'trial', 'mini-batch'] | Any | None¶
- optimization_id: str | None¶
- feedback_scores: List[FeedbackScoreAveragePublic] | None¶
- comments: List[CommentPublic] | None¶
- trace_count: int | None¶
- created_at: datetime | None¶
- duration: PercentageValuesPublic | None¶
- total_estimated_cost: float | None¶
- total_estimated_cost_avg: float | None¶
- usage: Dict[str, float] | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- status: Literal['running', 'completed', 'cancelled'] | Any | None¶
- prompt_version: PromptVersionLinkPublic | None¶
- prompt_versions: List[PromptVersionLinkPublic] | None¶
- class opik.rest_api.types.FeedbackCreate_Categorical(*, id: str | None = None, name: str, description: str | None = None, type: Literal['categorical'] = 'categorical', details: CategoricalFeedbackDetailCreate | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['categorical']¶
- details: Optional[CategoricalFeedbackDetailCreate]¶
- class opik.rest_api.types.FeedbackCreate_Numerical(*, id: str | None = None, name: str, description: str | None = None, type: Literal['numerical'] = 'numerical', details: NumericalFeedbackDetailCreate | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['numerical']¶
- details: Optional[NumericalFeedbackDetailCreate]¶
- class opik.rest_api.types.FeedbackDefinitionPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: List[FeedbackObjectPublic_Numerical | FeedbackObjectPublic_Categorical] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[FeedbackObjectPublic_Numerical | FeedbackObjectPublic_Categorical] | None¶
- class opik.rest_api.types.FeedbackObjectPublic_Categorical(*, id: str | None = None, name: str, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, type: Literal['categorical'] = 'categorical', details: CategoricalFeedbackDetailPublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['categorical']¶
- details: Optional[CategoricalFeedbackDetailPublic]¶
- created_at: Optional[dt.datetime]¶
- created_by: Optional[str]¶
- last_updated_at: Optional[dt.datetime]¶
- last_updated_by: Optional[str]¶
- class opik.rest_api.types.FeedbackObjectPublic_Numerical(*, id: str | None = None, name: str, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, type: Literal['numerical'] = 'numerical', details: NumericalFeedbackDetailPublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['numerical']¶
- details: Optional[NumericalFeedbackDetailPublic]¶
- created_at: Optional[dt.datetime]¶
- created_by: Optional[str]¶
- last_updated_at: Optional[dt.datetime]¶
- last_updated_by: Optional[str]¶
- class opik.rest_api.types.FeedbackPublic_Categorical(*, id: str | None = None, name: str, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, type: Literal['categorical'] = 'categorical', details: CategoricalFeedbackDetailPublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['categorical']¶
- details: Optional[CategoricalFeedbackDetailPublic]¶
- created_at: Optional[dt.datetime]¶
- created_by: Optional[str]¶
- last_updated_at: Optional[dt.datetime]¶
- last_updated_by: Optional[str]¶
- class opik.rest_api.types.FeedbackPublic_Numerical(*, id: str | None = None, name: str, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, type: Literal['numerical'] = 'numerical', details: NumericalFeedbackDetailPublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['numerical']¶
- details: Optional[NumericalFeedbackDetailPublic]¶
- created_at: Optional[dt.datetime]¶
- created_by: Optional[str]¶
- last_updated_at: Optional[dt.datetime]¶
- last_updated_by: Optional[str]¶
- class opik.rest_api.types.FeedbackScore(*, name: str, category_name: str | None = None, value: float, reason: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, value_by_author: Dict[str, ValueEntry] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- category_name: str | None¶
- value: float¶
- reason: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- value_by_author: Dict[str, ValueEntry] | None¶
- class opik.rest_api.types.FeedbackScoreAverage(*, name: str, value: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- value: float¶
- class opik.rest_api.types.FeedbackScoreAverageDetailed(*, name: str, value: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- value: float¶
- class opik.rest_api.types.FeedbackScoreAveragePublic(*, name: str, value: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- value: float¶
- class opik.rest_api.types.FeedbackScoreBatch(*, scores: List[FeedbackScoreBatchItem], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- scores: List[FeedbackScoreBatchItem]¶
- class opik.rest_api.types.FeedbackScoreBatchItem(*, project_name: str | None = None, project_id: str | None = None, name: str, category_name: str | None = None, value: float, reason: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any, author: str | None = None, id: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_name: str | None¶
If null, the default project is used
- project_id: str | None¶
- name: str¶
- category_name: str | None¶
- value: float¶
- reason: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any¶
- author: str | None¶
- id: str¶
- class opik.rest_api.types.FeedbackScoreBatchItemThread(*, project_name: str | None = None, project_id: str | None = None, name: str, category_name: str | None = None, value: float, reason: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any, author: str | None = None, thread_id: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_name: str | None¶
If null, the default project is used
- project_id: str | None¶
- name: str¶
- category_name: str | None¶
- value: float¶
- reason: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any¶
- author: str | None¶
- thread_id: str¶
- class opik.rest_api.types.FeedbackScoreCompare(*, name: str, category_name: str | None = None, value: float, reason: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, value_by_author: Dict[str, ValueEntryCompare] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- category_name: str | None¶
- value: float¶
- reason: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- value_by_author: Dict[str, ValueEntryCompare] | None¶
- class opik.rest_api.types.FeedbackScoreExperimentItemBulkWriteView(*, name: str, category_name: str | None = None, value: float, reason: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, value_by_author: Dict[str, ValueEntryExperimentItemBulkWriteView] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- category_name: str | None¶
- value: float¶
- reason: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- value_by_author: Dict[str, ValueEntryExperimentItemBulkWriteView] | None¶
- class opik.rest_api.types.FeedbackScoreNames(*, scores: List[ScoreName] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class opik.rest_api.types.FeedbackScorePublic(*, name: str, category_name: str | None = None, value: float, reason: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any, created_at: datetime | None = None, last_updated_at: datetime | None = None, created_by: str | None = None, last_updated_by: str | None = None, value_by_author: Dict[str, ValueEntryPublic] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- category_name: str | None¶
- value: float¶
- reason: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any¶
- created_at: datetime | None¶
- last_updated_at: datetime | None¶
- created_by: str | None¶
- last_updated_by: str | None¶
- value_by_author: Dict[str, ValueEntryPublic] | None¶
- class opik.rest_api.types.FeedbackUpdate_Categorical(*, id: str | None = None, name: str, description: str | None = None, type: Literal['categorical'] = 'categorical', details: CategoricalFeedbackDetailUpdate | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['categorical']¶
- details: Optional[CategoricalFeedbackDetailUpdate]¶
- class opik.rest_api.types.FeedbackUpdate_Numerical(*, id: str | None = None, name: str, description: str | None = None, type: Literal['numerical'] = 'numerical', details: NumericalFeedbackDetailUpdate | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['numerical']¶
- details: Optional[NumericalFeedbackDetailUpdate]¶
- class opik.rest_api.types.Feedback_Categorical(*, id: str | None = None, name: str, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, type: Literal['categorical'] = 'categorical', details: CategoricalFeedbackDetail | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['categorical']¶
- details: Optional[CategoricalFeedbackDetail]¶
- created_at: Optional[dt.datetime]¶
- created_by: Optional[str]¶
- last_updated_at: Optional[dt.datetime]¶
- last_updated_by: Optional[str]¶
- class opik.rest_api.types.Feedback_Numerical(*, id: str | None = None, name: str, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, type: Literal['numerical'] = 'numerical', details: NumericalFeedbackDetail | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['numerical']¶
- details: Optional[NumericalFeedbackDetail]¶
- created_at: Optional[dt.datetime]¶
- created_by: Optional[str]¶
- last_updated_at: Optional[dt.datetime]¶
- last_updated_by: Optional[str]¶
- class opik.rest_api.types.Function(*, name: str | None = None, description: str | None = None, strict: bool | None = None, parameters: Dict[str, Dict[str, Any | None]] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- description: str | None¶
- strict: bool | None¶
- parameters: Dict[str, Dict[str, Any | None]] | None¶
- class opik.rest_api.types.FunctionCall(*, name: str | None = None, arguments: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- arguments: str | None¶
- class opik.rest_api.types.GroupContent(*, label: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- label: str | None¶
- class opik.rest_api.types.GroupContentWithAggregations(*, aggregations: AggregationData | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- aggregations: AggregationData | None¶
- class opik.rest_api.types.GroupDetail(*, group_sorting: List[str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- group_sorting: List[str] | None¶
- class opik.rest_api.types.GroupDetails(*, groups_details: List[GroupDetail] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- groups_details: List[GroupDetail] | None¶
- class opik.rest_api.types.Guardrail(*, id: str | None = None, entity_id: str, secondary_id: str, project_name: str | None = None, project_id: str | None = None, name: Literal['TOPIC', 'PII'] | Any, result: Literal['passed', 'failed'] | Any, config: Dict[str, Any | None], details: Dict[str, Any | None], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- entity_id: str¶
- secondary_id: str¶
- project_name: str | None¶
If null, the default project is used
- project_id: str | None¶
- name: Literal['TOPIC', 'PII'] | Any¶
- result: Literal['passed', 'failed'] | Any¶
- config: Dict[str, Any | None]¶
- details: Dict[str, Any | None]¶
- class opik.rest_api.types.GuardrailBatch(*, guardrails: List[Guardrail], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class opik.rest_api.types.GuardrailWrite(*, entity_id: str, secondary_id: str, project_name: str | None = None, project_id: str | None = None, name: Literal['TOPIC', 'PII'] | Any, result: Literal['passed', 'failed'] | Any, config: Dict[str, Any | None], details: Dict[str, Any | None], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- entity_id: str¶
- secondary_id: str¶
- project_name: str | None¶
If null, the default project is used
- project_id: str | None¶
- name: Literal['TOPIC', 'PII'] | Any¶
- result: Literal['passed', 'failed'] | Any¶
- config: Dict[str, Any | None]¶
- details: Dict[str, Any | None]¶
- class opik.rest_api.types.GuardrailsValidation(*, span_id: str | None = None, checks: List[Check] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- span_id: str | None¶
- class opik.rest_api.types.GuardrailsValidationPublic(*, span_id: str | None = None, checks: List[CheckPublic] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- span_id: str | None¶
- checks: List[CheckPublic] | None¶
- class opik.rest_api.types.JsonSchema(*, name: str | None = None, strict: bool | None = None, schema_: ~typing.Annotated[~typing.Dict[str, ~typing.Dict[str, ~typing.Any | None]] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff5df260>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- strict: bool | None¶
- schema_: FieldMetadata object at 0x7f9dff5df260>]¶
- class opik.rest_api.types.LlmAsJudgeCode(*, model: ~opik.rest_api.types.llm_as_judge_model_parameters.LlmAsJudgeModelParameters, messages: ~typing.List[~opik.rest_api.types.llm_as_judge_message.LlmAsJudgeMessage], variables: ~typing.Dict[str, str], schema_: ~typing.Annotated[~typing.List[~opik.rest_api.types.llm_as_judge_output_schema.LlmAsJudgeOutputSchema], <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff95aff0>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model: LlmAsJudgeModelParameters¶
- messages: List[LlmAsJudgeMessage]¶
- variables: Dict[str, str]¶
- schema_: FieldMetadata object at 0x7f9dff95aff0>]¶
- class opik.rest_api.types.LlmAsJudgeCodePublic(*, model: ~opik.rest_api.types.llm_as_judge_model_parameters_public.LlmAsJudgeModelParametersPublic, messages: ~typing.List[~opik.rest_api.types.llm_as_judge_message_public.LlmAsJudgeMessagePublic], variables: ~typing.Dict[str, str], schema_: ~typing.Annotated[~typing.List[~opik.rest_api.types.llm_as_judge_output_schema_public.LlmAsJudgeOutputSchemaPublic], <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff9a0e00>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- messages: List[LlmAsJudgeMessagePublic]¶
- variables: Dict[str, str]¶
- schema_: FieldMetadata object at 0x7f9dff9a0e00>]¶
- class opik.rest_api.types.LlmAsJudgeCodeWrite(*, model: ~opik.rest_api.types.llm_as_judge_model_parameters_write.LlmAsJudgeModelParametersWrite, messages: ~typing.List[~opik.rest_api.types.llm_as_judge_message_write.LlmAsJudgeMessageWrite], variables: ~typing.Dict[str, str], schema_: ~typing.Annotated[~typing.List[~opik.rest_api.types.llm_as_judge_output_schema_write.LlmAsJudgeOutputSchemaWrite], <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff453e30>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- messages: List[LlmAsJudgeMessageWrite]¶
- variables: Dict[str, str]¶
- schema_: FieldMetadata object at 0x7f9dff453e30>]¶
- class opik.rest_api.types.LlmAsJudgeMessage(*, role: Literal['SYSTEM', 'USER', 'AI', 'TOOL_EXECUTION_RESULT', 'CUSTOM'] | Any, content: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: Literal['SYSTEM', 'USER', 'AI', 'TOOL_EXECUTION_RESULT', 'CUSTOM'] | Any¶
- content: str¶
- class opik.rest_api.types.LlmAsJudgeMessagePublic(*, role: Literal['SYSTEM', 'USER', 'AI', 'TOOL_EXECUTION_RESULT', 'CUSTOM'] | Any, content: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: Literal['SYSTEM', 'USER', 'AI', 'TOOL_EXECUTION_RESULT', 'CUSTOM'] | Any¶
- content: str¶
- class opik.rest_api.types.LlmAsJudgeMessageWrite(*, role: Literal['SYSTEM', 'USER', 'AI', 'TOOL_EXECUTION_RESULT', 'CUSTOM'] | Any, content: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: Literal['SYSTEM', 'USER', 'AI', 'TOOL_EXECUTION_RESULT', 'CUSTOM'] | Any¶
- content: str¶
- class opik.rest_api.types.LlmAsJudgeModelParameters(*, name: str, temperature: float, seed: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- temperature: float¶
- seed: int | None¶
- class opik.rest_api.types.LlmAsJudgeModelParametersPublic(*, name: str, temperature: float, seed: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- temperature: float¶
- seed: int | None¶
- class opik.rest_api.types.LlmAsJudgeModelParametersWrite(*, name: str, temperature: float, seed: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- temperature: float¶
- seed: int | None¶
- class opik.rest_api.types.LlmAsJudgeOutputSchema(*, name: str, type: Literal['BOOLEAN', 'INTEGER', 'DOUBLE'] | Any, description: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- type: Literal['BOOLEAN', 'INTEGER', 'DOUBLE'] | Any¶
- description: str¶
- class opik.rest_api.types.LlmAsJudgeOutputSchemaPublic(*, name: str, type: Literal['BOOLEAN', 'INTEGER', 'DOUBLE'] | Any, description: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- type: Literal['BOOLEAN', 'INTEGER', 'DOUBLE'] | Any¶
- description: str¶
- class opik.rest_api.types.LlmAsJudgeOutputSchemaWrite(*, name: str, type: Literal['BOOLEAN', 'INTEGER', 'DOUBLE'] | Any, description: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- type: Literal['BOOLEAN', 'INTEGER', 'DOUBLE'] | Any¶
- description: str¶
- class opik.rest_api.types.LogItem(*, timestamp: datetime | None = None, rule_id: str | None = None, level: Literal['INFO', 'WARN', 'ERROR', 'DEBUG', 'TRACE'] | Any | None = None, message: str | None = None, markers: Dict[str, str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- timestamp: datetime | None¶
- rule_id: str | None¶
- level: Literal['INFO', 'WARN', 'ERROR', 'DEBUG', 'TRACE'] | Any | None¶
- message: str | None¶
- markers: Dict[str, str] | None¶
- class opik.rest_api.types.LogPage(*, content: List[LogItem] | None = None, page: int | None = None, size: int | None = None, total: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- class opik.rest_api.types.ManualEvaluationRequest(*, project_id: str, entity_ids: List[str], rule_ids: List[str], entity_type: Literal['trace', 'thread'] | Any, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_id: str¶
Project ID
- entity_ids: List[str]¶
List of entity IDs (trace IDs or thread IDs) to evaluate
- rule_ids: List[str]¶
List of automation rule IDs to apply
- entity_type: Literal['trace', 'thread'] | Any¶
Type of entity to evaluate (trace or thread)
- class opik.rest_api.types.ManualEvaluationResponse(*, entities_queued: int | None = None, rules_applied: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- entities_queued: int | None¶
Number of entities queued for evaluation
- rules_applied: int | None¶
Number of rules that will be applied
- class opik.rest_api.types.MultipartUploadPart(*, e_tag: str, part_number: int, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- e_tag: str¶
- part_number: int¶
- class opik.rest_api.types.NumericalFeedbackDefinition(*, details: NumericalFeedbackDetail | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: NumericalFeedbackDetail | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.NumericalFeedbackDefinitionCreate(*, details: NumericalFeedbackDetailCreate | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: NumericalFeedbackDetailCreate | None¶
- class opik.rest_api.types.NumericalFeedbackDefinitionPublic(*, details: NumericalFeedbackDetailPublic | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: NumericalFeedbackDetailPublic | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.NumericalFeedbackDefinitionUpdate(*, details: NumericalFeedbackDetailUpdate | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- details: NumericalFeedbackDetailUpdate | None¶
- class opik.rest_api.types.NumericalFeedbackDetail(*, max: float, min: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- max: float¶
- min: float¶
- class opik.rest_api.types.NumericalFeedbackDetailCreate(*, max: float, min: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- max: float¶
- min: float¶
- class opik.rest_api.types.NumericalFeedbackDetailPublic(*, max: float, min: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- max: float¶
- min: float¶
- class opik.rest_api.types.NumericalFeedbackDetailUpdate(*, max: float, min: float, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- max: float¶
- min: float¶
- class opik.rest_api.types.Optimization(*, id: str | None = None, name: str | None = None, dataset_name: str, objective_name: str, status: Literal['running', 'completed', 'cancelled'] | Any, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, dataset_id: str | None = None, num_trials: int | None = None, feedback_scores: List[FeedbackScoreAverage] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- dataset_name: str¶
- objective_name: str¶
- status: Literal['running', 'completed', 'cancelled'] | Any¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- dataset_id: str | None¶
- num_trials: int | None¶
- feedback_scores: List[FeedbackScoreAverage] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.OptimizationPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.optimization_public.OptimizationPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff163ef0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[OptimizationPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff163ef0>]¶
- class opik.rest_api.types.OptimizationPublic(*, id: str | None = None, name: str | None = None, dataset_name: str, objective_name: str, status: Literal['running', 'completed', 'cancelled'] | Any, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, dataset_id: str | None = None, num_trials: int | None = None, feedback_scores: List[FeedbackScoreAveragePublic] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- dataset_name: str¶
- objective_name: str¶
- status: Literal['running', 'completed', 'cancelled'] | Any¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- dataset_id: str | None¶
- num_trials: int | None¶
- feedback_scores: List[FeedbackScoreAveragePublic] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.OptimizationWrite(*, id: str | None = None, name: str | None = None, dataset_name: str, objective_name: str, status: Literal['running', 'completed', 'cancelled'] | Any, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, last_updated_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- dataset_name: str¶
- objective_name: str¶
- status: Literal['running', 'completed', 'cancelled'] | Any¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- last_updated_at: datetime | None¶
- class opik.rest_api.types.PageColumns(*, columns: List[Column] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class opik.rest_api.types.PercentageValueStatPublic(*, value: PercentageValuesPublic | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: PercentageValuesPublic | None¶
- class opik.rest_api.types.PercentageValues(*, p_50: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff9a1310>] = None, p_90: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff5dc110>] = None, p_99: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff5dc350>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- p_50: FieldMetadata object at 0x7f9dff9a1310>]¶
- p_90: FieldMetadata object at 0x7f9dff5dc110>]¶
- p_99: FieldMetadata object at 0x7f9dff5dc350>]¶
- class opik.rest_api.types.PercentageValuesDetailed(*, p_50: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff1c0a40>] = None, p_90: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff1c0d10>] = None, p_99: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff1c0fe0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- p_50: FieldMetadata object at 0x7f9dff1c0a40>]¶
- p_90: FieldMetadata object at 0x7f9dff1c0d10>]¶
- p_99: FieldMetadata object at 0x7f9dff1c0fe0>]¶
- class opik.rest_api.types.PercentageValuesPublic(*, p_50: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff287a10>] = None, p_90: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff287dd0>] = None, p_99: ~typing.Annotated[float | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff287f80>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- p_50: FieldMetadata object at 0x7f9dff287a10>]¶
- p_90: FieldMetadata object at 0x7f9dff287dd0>]¶
- p_99: FieldMetadata object at 0x7f9dff287f80>]¶
- class opik.rest_api.types.ProjectDetailed(*, id: str | None = None, name: str, visibility: Literal['private', 'public'] | Any | None = None, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, last_updated_trace_at: datetime | None = None, feedback_scores: List[FeedbackScoreAverageDetailed] | None = None, duration: PercentageValuesDetailed | None = None, total_estimated_cost: float | None = None, total_estimated_cost_sum: float | None = None, usage: Dict[str, float] | None = None, trace_count: int | None = None, guardrails_failed_count: int | None = None, error_count: ErrorCountWithDeviationDetailed | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str¶
- visibility: Literal['private', 'public'] | Any | None¶
- description: str | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- last_updated_trace_at: datetime | None¶
- feedback_scores: List[FeedbackScoreAverageDetailed] | None¶
- duration: PercentageValuesDetailed | None¶
- total_estimated_cost: float | None¶
- total_estimated_cost_sum: float | None¶
- usage: Dict[str, float] | None¶
- trace_count: int | None¶
- guardrails_failed_count: int | None¶
- error_count: ErrorCountWithDeviationDetailed | None¶
- class opik.rest_api.types.ProjectMetricResponsePublic(*, project_id: str | None = None, metric_type: Literal['FEEDBACK_SCORES', 'TRACE_COUNT', 'TOKEN_USAGE', 'DURATION', 'COST', 'GUARDRAILS_FAILED_COUNT', 'THREAD_COUNT', 'THREAD_DURATION', 'THREAD_FEEDBACK_SCORES'] | Any | None = None, interval: Literal['HOURLY', 'DAILY', 'WEEKLY'] | Any | None = None, results: List[ResultsNumberPublic] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_id: str | None¶
- metric_type: Literal['FEEDBACK_SCORES', 'TRACE_COUNT', 'TOKEN_USAGE', 'DURATION', 'COST', 'GUARDRAILS_FAILED_COUNT', 'THREAD_COUNT', 'THREAD_DURATION', 'THREAD_FEEDBACK_SCORES'] | Any | None¶
- interval: Literal['HOURLY', 'DAILY', 'WEEKLY'] | Any | None¶
- results: List[ResultsNumberPublic] | None¶
- class opik.rest_api.types.ProjectPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.project_public.ProjectPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff1622d0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[ProjectPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff1622d0>]¶
- class opik.rest_api.types.ProjectPublic(*, id: str | None = None, name: str, visibility: Literal['private', 'public'] | Any | None = None, description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, last_updated_trace_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str¶
- visibility: Literal['private', 'public'] | Any | None¶
- description: str | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- last_updated_trace_at: datetime | None¶
- class opik.rest_api.types.ProjectStatItemObjectPublic_Avg(*, name: str | None = None, type: Literal['AVG'] = 'AVG', value: float | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['AVG']¶
- value: Optional[float]¶
- class opik.rest_api.types.ProjectStatItemObjectPublic_Count(*, name: str | None = None, type: Literal['COUNT'] = 'COUNT', value: int | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['COUNT']¶
- value: Optional[int]¶
- class opik.rest_api.types.ProjectStatItemObjectPublic_Percentage(*, name: str | None = None, type: Literal['PERCENTAGE'] = 'PERCENTAGE', value: PercentageValuesPublic | None = None, **extra_data: Any)¶
Bases:
Base- model_config: ClassVar[pydantic.ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['PERCENTAGE']¶
- value: Optional[PercentageValuesPublic]¶
- class opik.rest_api.types.ProjectStatsPublic(*, stats: List[ProjectStatItemObjectPublic_Percentage | ProjectStatItemObjectPublic_Count | ProjectStatItemObjectPublic_Avg] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- stats: List[ProjectStatItemObjectPublic_Percentage | ProjectStatItemObjectPublic_Count | ProjectStatItemObjectPublic_Avg] | None¶
- class opik.rest_api.types.ProjectStatsSummary(*, content: List[ProjectStatsSummaryItem] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- content: List[ProjectStatsSummaryItem] | None¶
- class opik.rest_api.types.ProjectStatsSummaryItem(*, project_id: str | None = None, feedback_scores: List[FeedbackScoreAverage] | None = None, duration: PercentageValues | None = None, total_estimated_cost: float | None = None, total_estimated_cost_sum: float | None = None, usage: Dict[str, float] | None = None, trace_count: int | None = None, guardrails_failed_count: int | None = None, error_count: ErrorCountWithDeviation | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_id: str | None¶
- feedback_scores: List[FeedbackScoreAverage] | None¶
- duration: PercentageValues | None¶
- total_estimated_cost: float | None¶
- total_estimated_cost_sum: float | None¶
- usage: Dict[str, float] | None¶
- trace_count: int | None¶
- guardrails_failed_count: int | None¶
- error_count: ErrorCountWithDeviation | None¶
- class opik.rest_api.types.PromptDetail(*, id: str | None = None, name: str, description: str | None = None, tags: List[str] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, version_count: int | None = None, latest_version: PromptVersionDetail | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str¶
- description: str | None¶
- tags: List[str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- version_count: int | None¶
- latest_version: PromptVersionDetail | None¶
- class opik.rest_api.types.PromptPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.prompt_public.PromptPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff163800>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[PromptPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff163800>]¶
- class opik.rest_api.types.PromptPublic(*, id: str | None = None, name: str, description: str | None = None, tags: List[str] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, version_count: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str¶
- description: str | None¶
- tags: List[str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- version_count: int | None¶
- class opik.rest_api.types.PromptTokensDetails(*, cached_tokens: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- cached_tokens: int | None¶
- class opik.rest_api.types.PromptVersion(*, id: str | None = None, prompt_id: str | None = None, commit: str | None = None, template: str, metadata: Dict[str, Any | None] | None = None, type: Literal['mustache', 'jinja2'] | Any | None = None, change_description: str | None = None, variables: List[str] | None = None, created_at: datetime | None = None, created_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
version unique identifier, generated if absent
- prompt_id: str | None¶
- commit: str | None¶
version short unique identifier, generated if absent. it must be 8 characters long
- template: str¶
- metadata: Dict[str, Any | None] | None¶
- type: Literal['mustache', 'jinja2'] | Any | None¶
- change_description: str | None¶
- variables: List[str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- class opik.rest_api.types.PromptVersionDetail(*, id: str | None = None, prompt_id: str | None = None, commit: str | None = None, template: str, metadata: Dict[str, Any | None] | None = None, type: Literal['mustache', 'jinja2'] | Any | None = None, change_description: str | None = None, variables: List[str] | None = None, created_at: datetime | None = None, created_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
version unique identifier, generated if absent
- prompt_id: str | None¶
- commit: str | None¶
version short unique identifier, generated if absent. it must be 8 characters long
- template: str¶
- metadata: Dict[str, Any | None] | None¶
- type: Literal['mustache', 'jinja2'] | Any | None¶
- change_description: str | None¶
- variables: List[str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- class opik.rest_api.types.PromptVersionLink(*, id: str, commit: str | None = None, prompt_id: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str¶
- commit: str | None¶
- prompt_id: str | None¶
- class opik.rest_api.types.PromptVersionLinkPublic(*, id: str, commit: str | None = None, prompt_id: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str¶
- commit: str | None¶
- prompt_id: str | None¶
- class opik.rest_api.types.PromptVersionLinkWrite(*, id: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str¶
- class opik.rest_api.types.PromptVersionPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: List[PromptVersionPublic] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[PromptVersionPublic] | None¶
- class opik.rest_api.types.PromptVersionPublic(*, id: str | None = None, prompt_id: str | None = None, commit: str | None = None, template: str, metadata: Dict[str, Any | None] | None = None, type: Literal['mustache', 'jinja2'] | Any | None = None, change_description: str | None = None, created_at: datetime | None = None, created_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
version unique identifier, generated if absent
- prompt_id: str | None¶
- commit: str | None¶
version short unique identifier, generated if absent. it must be 8 characters long
- template: str¶
- metadata: Dict[str, Any | None] | None¶
- type: Literal['mustache', 'jinja2'] | Any | None¶
- change_description: str | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- class opik.rest_api.types.ProviderApiKey(*, id: str | None = None, provider: Literal['openai', 'anthropic', 'gemini', 'openrouter', 'vertex-ai', 'custom-llm'] | Any, api_key: str | None = None, name: str | None = None, headers: Dict[str, str] | None = None, configuration: Dict[str, str] | None = None, base_url: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- provider: Literal['openai', 'anthropic', 'gemini', 'openrouter', 'vertex-ai', 'custom-llm'] | Any¶
- api_key: str | None¶
- name: str | None¶
- headers: Dict[str, str] | None¶
- configuration: Dict[str, str] | None¶
- base_url: str | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.ProviderApiKeyPagePublic(*, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.provider_api_key_public.ProviderApiKeyPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff1c32f0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- size: int | None¶
- total: int | None¶
- content: List[ProviderApiKeyPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff1c32f0>]¶
- class opik.rest_api.types.ProviderApiKeyPublic(*, id: str | None = None, provider: Literal['openai', 'anthropic', 'gemini', 'openrouter', 'vertex-ai', 'custom-llm'] | Any, api_key: str | None = None, name: str | None = None, headers: Dict[str, str] | None = None, configuration: Dict[str, str] | None = None, base_url: str | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- provider: Literal['openai', 'anthropic', 'gemini', 'openrouter', 'vertex-ai', 'custom-llm'] | Any¶
- api_key: str | None¶
- name: str | None¶
- headers: Dict[str, str] | None¶
- configuration: Dict[str, str] | None¶
- base_url: str | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.ResponseFormat(*, type: Literal['text', 'json_object', 'json_schema'] | Any | None = None, json_schema: JsonSchema | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['text', 'json_object', 'json_schema'] | Any | None¶
- json_schema: JsonSchema | None¶
- class opik.rest_api.types.Result(*, name: str | None = None, current: float | None = None, previous: float | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- current: float | None¶
- previous: float | None¶
- class opik.rest_api.types.ResultsNumberPublic(*, name: str | None = None, data: List[DataPointNumberPublic] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- data: List[DataPointNumberPublic] | None¶
- class opik.rest_api.types.ScoreName(*, name: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None¶
- class opik.rest_api.types.ServiceTogglesConfig(*, python_evaluator_enabled: ~typing.Annotated[bool, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff031820>], trace_thread_python_evaluator_enabled: ~typing.Annotated[bool, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff0309e0>], guardrails_enabled: ~typing.Annotated[bool, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff031910>], opik_ai_enabled: ~typing.Annotated[bool, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff0319a0>], alerts_enabled: ~typing.Annotated[bool, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff031bb0>], welcome_wizard_enabled: ~typing.Annotated[bool, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff031b50>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- python_evaluator_enabled: FieldMetadata object at 0x7f9dff031820>]¶
- trace_thread_python_evaluator_enabled: FieldMetadata object at 0x7f9dff0309e0>]¶
- guardrails_enabled: FieldMetadata object at 0x7f9dff031910>]¶
- opik_ai_enabled: FieldMetadata object at 0x7f9dff0319a0>]¶
- alerts_enabled: FieldMetadata object at 0x7f9dff031bb0>]¶
- welcome_wizard_enabled: FieldMetadata object at 0x7f9dff031b50>]¶
- class opik.rest_api.types.SpanBatch(*, spans: List[Span], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- spans: List[Span]¶
- class opik.rest_api.types.SpanExperimentItemBulkWriteView(*, id: str | None = None, parent_span_id: str | None = None, name: str | None = None, type: Literal['general', 'tool', 'llm', 'guardrail'] | Any | None = None, start_time: datetime, end_time: datetime | None = None, input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, model: str | None = None, provider: str | None = None, tags: List[str] | None = None, usage: Dict[str, int] | None = None, error_info: ErrorInfoExperimentItemBulkWriteView | None = None, last_updated_at: datetime | None = None, total_estimated_cost: float | None = None, total_estimated_cost_version: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- parent_span_id: str | None¶
- name: str | None¶
- type: Literal['general', 'tool', 'llm', 'guardrail'] | Any | None¶
- start_time: datetime¶
- end_time: datetime | None¶
- input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- model: str | None¶
- provider: str | None¶
- tags: List[str] | None¶
- usage: Dict[str, int] | None¶
- error_info: ErrorInfoExperimentItemBulkWriteView | None¶
- last_updated_at: datetime | None¶
- total_estimated_cost: float | None¶
- total_estimated_cost_version: str | None¶
- class opik.rest_api.types.SpanFilterPublic(*, field: str | None = None, operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None = None, key: str | None = None, value: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- field: str | None¶
- operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None¶
- key: str | None¶
- value: str | None¶
- class opik.rest_api.types.SpanPagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.span_public.SpanPublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9e01168f50>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[SpanPublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9e01168f50>]¶
- class opik.rest_api.types.SpanWrite(*, id: str | None = None, project_name: str | None = None, trace_id: str | None = None, parent_span_id: str | None = None, name: str | None = None, type: Literal['general', 'tool', 'llm', 'guardrail'] | Any | None = None, start_time: datetime, end_time: datetime | None = None, input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, model: str | None = None, provider: str | None = None, tags: List[str] | None = None, usage: Dict[str, int] | None = None, error_info: ErrorInfoWrite | None = None, last_updated_at: datetime | None = None, total_estimated_cost: float | None = None, total_estimated_cost_version: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_name: str | None¶
If null, the default project is used
- trace_id: str | None¶
- parent_span_id: str | None¶
- name: str | None¶
- type: Literal['general', 'tool', 'llm', 'guardrail'] | Any | None¶
- start_time: datetime¶
- end_time: datetime | None¶
- input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- model: str | None¶
- provider: str | None¶
- tags: List[str] | None¶
- usage: Dict[str, int] | None¶
- error_info: ErrorInfoWrite | None¶
- last_updated_at: datetime | None¶
- total_estimated_cost: float | None¶
- total_estimated_cost_version: str | None¶
- class opik.rest_api.types.SpansCountResponse(*, workspaces_spans_count: List[WorkspaceSpansCount] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- workspaces_spans_count: List[WorkspaceSpansCount] | None¶
- class opik.rest_api.types.StartMultipartUploadResponse(*, upload_id: str, pre_sign_urls: List[str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- upload_id: str¶
- pre_sign_urls: List[str]¶
- class opik.rest_api.types.StreamOptions(*, include_usage: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- include_usage: bool | None¶
- class opik.rest_api.types.Tool(*, type: Literal['function'] | None = None, function: Function | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['function'] | None¶
- class opik.rest_api.types.ToolCall(*, id: str | None = None, index: int | None = None, type: Literal['function'] | None = None, function: FunctionCall | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- index: int | None¶
- type: Literal['function'] | None¶
- function: FunctionCall | None¶
- class opik.rest_api.types.TraceBatch(*, traces: List[Trace], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- traces: List[Trace]¶
- class opik.rest_api.types.TraceCountResponse(*, workspaces_traces_count: List[WorkspaceTraceCount] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- workspaces_traces_count: List[WorkspaceTraceCount] | None¶
- class opik.rest_api.types.TraceExperimentItemBulkWriteView(*, id: str | None = None, project_name: str | None = None, name: str | None = None, start_time: datetime, end_time: datetime | None = None, input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, tags: List[str] | None = None, error_info: ErrorInfoExperimentItemBulkWriteView | None = None, last_updated_at: datetime | None = None, thread_id: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModelPlease provide either none, only one of evaluate_task_result or trace, but never both
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_name: str | None¶
If null, the default project is used
- name: str | None¶
- start_time: datetime¶
- end_time: datetime | None¶
- input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- tags: List[str] | None¶
- error_info: ErrorInfoExperimentItemBulkWriteView | None¶
- last_updated_at: datetime | None¶
- thread_id: str | None¶
- class opik.rest_api.types.TraceFilter(*, field: str | None = None, operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None = None, key: str | None = None, value: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- field: str | None¶
- operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None¶
- key: str | None¶
- value: str | None¶
- class opik.rest_api.types.TraceFilterPublic(*, field: str | None = None, operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None = None, key: str | None = None, value: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- field: str | None¶
- operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None¶
- key: str | None¶
- value: str | None¶
- class opik.rest_api.types.TraceFilterWrite(*, field: str | None = None, operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None = None, key: str | None = None, value: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- field: str | None¶
- operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None¶
- key: str | None¶
- value: str | None¶
- class opik.rest_api.types.TracePagePublic(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.trace_public.TracePublic] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff39e6c0>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[TracePublic] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff39e6c0>]¶
- class opik.rest_api.types.TraceThread(*, id: str | None = None, project_id: str | None = None, thread_model_id: str | None = None, start_time: datetime | None = None, end_time: datetime | None = None, duration: float | None = None, first_message: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, last_message: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, feedback_scores: List[FeedbackScore] | None = None, status: Literal['active', 'inactive'] | Any | None = None, number_of_messages: int | None = None, total_estimated_cost: float | None = None, usage: Dict[str, int] | None = None, comments: List[Comment] | None = None, tags: List[str] | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, created_by: str | None = None, created_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_id: str | None¶
- thread_model_id: str | None¶
- start_time: datetime | None¶
- end_time: datetime | None¶
- duration: float | None¶
- first_message: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- last_message: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- feedback_scores: List[FeedbackScore] | None¶
- status: Literal['active', 'inactive'] | Any | None¶
- number_of_messages: int | None¶
- total_estimated_cost: float | None¶
- usage: Dict[str, int] | None¶
- tags: List[str] | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- created_by: str | None¶
- created_at: datetime | None¶
- class opik.rest_api.types.TraceThreadFilter(*, field: str | None = None, operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None = None, key: str | None = None, value: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- field: str | None¶
- operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None¶
- key: str | None¶
- value: str | None¶
- class opik.rest_api.types.TraceThreadFilterPublic(*, field: str | None = None, operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None = None, key: str | None = None, value: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- field: str | None¶
- operator: Literal['contains', 'not_contains', 'starts_with', 'ends_with', '=', '!=', '>', '>=', '<', '<=', 'is_empty', 'is_not_empty'] | Any | None¶
- key: str | None¶
- value: str | None¶
- class opik.rest_api.types.TraceThreadIdentifier(*, project_name: str | None = None, project_id: str | None = None, thread_id: str, truncate: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_name: str | None¶
- project_id: str | None¶
- thread_id: str¶
- truncate: bool | None¶
- class opik.rest_api.types.TraceThreadLlmAsJudgeCode(*, model: ~opik.rest_api.types.llm_as_judge_model_parameters.LlmAsJudgeModelParameters, messages: ~typing.List[~opik.rest_api.types.llm_as_judge_message.LlmAsJudgeMessage], schema_: ~typing.Annotated[~typing.List[~opik.rest_api.types.llm_as_judge_output_schema.LlmAsJudgeOutputSchema], <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff451fa0>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model: LlmAsJudgeModelParameters¶
- messages: List[LlmAsJudgeMessage]¶
- schema_: FieldMetadata object at 0x7f9dff451fa0>]¶
- class opik.rest_api.types.TraceThreadLlmAsJudgeCodePublic(*, model: ~opik.rest_api.types.llm_as_judge_model_parameters_public.LlmAsJudgeModelParametersPublic, messages: ~typing.List[~opik.rest_api.types.llm_as_judge_message_public.LlmAsJudgeMessagePublic], schema_: ~typing.Annotated[~typing.List[~opik.rest_api.types.llm_as_judge_output_schema_public.LlmAsJudgeOutputSchemaPublic], <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff4b4c80>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- messages: List[LlmAsJudgeMessagePublic]¶
- schema_: FieldMetadata object at 0x7f9dff4b4c80>]¶
- class opik.rest_api.types.TraceThreadLlmAsJudgeCodeWrite(*, model: ~opik.rest_api.types.llm_as_judge_model_parameters_write.LlmAsJudgeModelParametersWrite, messages: ~typing.List[~opik.rest_api.types.llm_as_judge_message_write.LlmAsJudgeMessageWrite], schema_: ~typing.Annotated[~typing.List[~opik.rest_api.types.llm_as_judge_output_schema_write.LlmAsJudgeOutputSchemaWrite], <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff4b7530>], **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- messages: List[LlmAsJudgeMessageWrite]¶
- schema_: FieldMetadata object at 0x7f9dff4b7530>]¶
- class opik.rest_api.types.TraceThreadPage(*, page: int | None = None, size: int | None = None, total: int | None = None, content: ~typing.List[~opik.rest_api.types.trace_thread.TraceThread] | None = None, sortable_by: ~typing.Annotated[~typing.List[str] | None, <opik.rest_api.core.serialization.FieldMetadata object at 0x7f9dff1c3d40>] = None, **extra_data: ~typing.Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- page: int | None¶
- size: int | None¶
- total: int | None¶
- content: List[TraceThread] | None¶
- sortable_by: FieldMetadata object at 0x7f9dff1c3d40>]¶
- class opik.rest_api.types.TraceThreadUserDefinedMetricPythonCode(*, metric: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- metric: str¶
- class opik.rest_api.types.TraceThreadUserDefinedMetricPythonCodePublic(*, metric: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- metric: str¶
- class opik.rest_api.types.TraceThreadUserDefinedMetricPythonCodeWrite(*, metric: str, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- metric: str¶
- class opik.rest_api.types.TraceWrite(*, id: str | None = None, project_name: str | None = None, name: str | None = None, start_time: datetime, end_time: datetime | None = None, input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None = None, tags: List[str] | None = None, error_info: ErrorInfoWrite | None = None, last_updated_at: datetime | None = None, thread_id: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- project_name: str | None¶
If null, the default project is used
- name: str | None¶
- start_time: datetime¶
- end_time: datetime | None¶
- input: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- output: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- metadata: Dict[str, Any | None] | List[Dict[str, Any | None]] | str | None¶
- tags: List[str] | None¶
- error_info: ErrorInfoWrite | None¶
- last_updated_at: datetime | None¶
- thread_id: str | None¶
- class opik.rest_api.types.Usage(*, total_tokens: int | None = None, prompt_tokens: int | None = None, prompt_tokens_details: PromptTokensDetails | None = None, completion_tokens: int | None = None, completion_tokens_details: CompletionTokensDetails | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- total_tokens: int | None¶
- prompt_tokens: int | None¶
- prompt_tokens_details: PromptTokensDetails | None¶
- completion_tokens: int | None¶
- completion_tokens_details: CompletionTokensDetails | None¶
- class opik.rest_api.types.UserDefinedMetricPythonCode(*, metric: str, arguments: Dict[str, str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- metric: str¶
- arguments: Dict[str, str]¶
- class opik.rest_api.types.UserDefinedMetricPythonCodePublic(*, metric: str, arguments: Dict[str, str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- metric: str¶
- arguments: Dict[str, str]¶
- class opik.rest_api.types.UserDefinedMetricPythonCodeWrite(*, metric: str, arguments: Dict[str, str], **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- metric: str¶
- arguments: Dict[str, str]¶
- class opik.rest_api.types.ValueEntry(*, value: float | None = None, reason: str | None = None, category_name: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any | None = None, last_updated_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: float | None¶
- reason: str | None¶
- category_name: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any | None¶
- last_updated_at: datetime | None¶
- class opik.rest_api.types.ValueEntryCompare(*, value: float | None = None, reason: str | None = None, category_name: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any | None = None, last_updated_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: float | None¶
- reason: str | None¶
- category_name: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any | None¶
- last_updated_at: datetime | None¶
- class opik.rest_api.types.ValueEntryExperimentItemBulkWriteView(*, value: float | None = None, reason: str | None = None, category_name: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any | None = None, last_updated_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: float | None¶
- reason: str | None¶
- category_name: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any | None¶
- last_updated_at: datetime | None¶
- class opik.rest_api.types.ValueEntryPublic(*, value: float | None = None, reason: str | None = None, category_name: str | None = None, source: Literal['ui', 'sdk', 'online_scoring'] | Any | None = None, last_updated_at: datetime | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- value: float | None¶
- reason: str | None¶
- category_name: str | None¶
- source: Literal['ui', 'sdk', 'online_scoring'] | Any | None¶
- last_updated_at: datetime | None¶
- class opik.rest_api.types.Webhook(*, id: str | None = None, name: str | None = None, url: str, secret_token: str | None = None, headers: Dict[str, str] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- url: str¶
- secret_token: str | None¶
- headers: Dict[str, str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.WebhookExamples(*, response_examples: Dict[str, Dict[str, Any | None]] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- response_examples: Dict[str, Dict[str, Any | None]] | None¶
- class opik.rest_api.types.WebhookPublic(*, id: str | None = None, name: str | None = None, url: str, secret_token: str | None = None, headers: Dict[str, str] | None = None, created_at: datetime | None = None, created_by: str | None = None, last_updated_at: datetime | None = None, last_updated_by: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- url: str¶
- secret_token: str | None¶
- headers: Dict[str, str] | None¶
- created_at: datetime | None¶
- created_by: str | None¶
- last_updated_at: datetime | None¶
- last_updated_by: str | None¶
- class opik.rest_api.types.WebhookTestResult(*, status: Literal['success', 'failure'] | Any | None = None, status_code: int | None = None, request_body: str | None = None, error_message: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- status: Literal['success', 'failure'] | Any | None¶
- status_code: int | None¶
- request_body: str | None¶
- error_message: str | None¶
- class opik.rest_api.types.WebhookWrite(*, id: str | None = None, name: str | None = None, url: str, secret_token: str | None = None, headers: Dict[str, str] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- name: str | None¶
- url: str¶
- secret_token: str | None¶
- headers: Dict[str, str] | None¶
- class opik.rest_api.types.WelcomeWizardTracking(*, completed: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- completed: bool | None¶
Whether the welcome wizard has been completed
- class opik.rest_api.types.WorkspaceConfiguration(*, timeout_to_mark_thread_as_inactive: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- timeout_to_mark_thread_as_inactive: str | None¶
Duration in ISO-8601 format (e.g., PT30M for 30 minutes, PT2H for 2 hours, P1D for 1 day). Minimum precision supported is seconds, please use a duration with seconds precision or higher. Also, the max duration allowed is 7 days.
- class opik.rest_api.types.WorkspaceMetricRequest(*, project_ids: List[str] | None = None, name: str | None = None, interval_start: datetime, interval_end: datetime, start_before_end: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_ids: List[str] | None¶
- name: str | None¶
- interval_start: datetime¶
- interval_end: datetime¶
- start_before_end: bool | None¶
- class opik.rest_api.types.WorkspaceMetricResponse(*, results: List[Result] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class opik.rest_api.types.WorkspaceMetricsSummaryRequest(*, project_ids: List[str] | None = None, interval_start: datetime, interval_end: datetime, start_before_end: bool | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- project_ids: List[str] | None¶
- interval_start: datetime¶
- interval_end: datetime¶
- start_before_end: bool | None¶
- class opik.rest_api.types.WorkspaceMetricsSummaryResponse(*, results: List[Result] | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class opik.rest_api.types.WorkspaceNameHolder(*, workspace_name: str | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- workspace_name: str | None¶
- class opik.rest_api.types.WorkspaceSpansCount(*, workspace: str | None = None, span_count: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- workspace: str | None¶
- span_count: int | None¶
- class opik.rest_api.types.WorkspaceTraceCount(*, workspace: str | None = None, trace_count: int | None = None, **extra_data: Any)¶
Bases:
UniversalBaseModel- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': True, 'protected_namespaces': ()}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- workspace: str | None¶
- trace_count: int | None¶