opik 1.9.5__py3-none-any.whl → 1.9.39__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- opik/__init__.py +10 -3
- opik/anonymizer/__init__.py +5 -0
- opik/anonymizer/anonymizer.py +12 -0
- opik/anonymizer/factory.py +80 -0
- opik/anonymizer/recursive_anonymizer.py +64 -0
- opik/anonymizer/rules.py +56 -0
- opik/anonymizer/rules_anonymizer.py +35 -0
- opik/api_objects/dataset/rest_operations.py +5 -0
- opik/api_objects/experiment/experiment.py +46 -49
- opik/api_objects/experiment/helpers.py +34 -10
- opik/api_objects/local_recording.py +8 -3
- opik/api_objects/opik_client.py +230 -48
- opik/api_objects/opik_query_language.py +9 -0
- opik/api_objects/prompt/__init__.py +11 -3
- opik/api_objects/prompt/base_prompt.py +69 -0
- opik/api_objects/prompt/base_prompt_template.py +29 -0
- opik/api_objects/prompt/chat/__init__.py +1 -0
- opik/api_objects/prompt/chat/chat_prompt.py +193 -0
- opik/api_objects/prompt/chat/chat_prompt_template.py +350 -0
- opik/api_objects/prompt/{chat_content_renderer_registry.py → chat/content_renderer_registry.py} +37 -35
- opik/api_objects/prompt/client.py +101 -30
- opik/api_objects/prompt/text/__init__.py +1 -0
- opik/api_objects/prompt/text/prompt.py +174 -0
- opik/api_objects/prompt/{prompt_template.py → text/prompt_template.py} +10 -6
- opik/api_objects/prompt/types.py +1 -1
- opik/cli/export.py +6 -2
- opik/cli/usage_report/charts.py +39 -10
- opik/cli/usage_report/cli.py +164 -45
- opik/cli/usage_report/pdf.py +14 -1
- opik/config.py +0 -5
- opik/decorator/base_track_decorator.py +37 -40
- opik/decorator/context_manager/span_context_manager.py +9 -0
- opik/decorator/context_manager/trace_context_manager.py +5 -0
- opik/dict_utils.py +3 -3
- opik/evaluation/__init__.py +13 -2
- opik/evaluation/engine/engine.py +195 -223
- opik/evaluation/engine/helpers.py +8 -7
- opik/evaluation/engine/metrics_evaluator.py +237 -0
- opik/evaluation/evaluation_result.py +35 -1
- opik/evaluation/evaluator.py +318 -30
- opik/evaluation/models/litellm/util.py +78 -6
- opik/evaluation/models/model_capabilities.py +33 -0
- opik/evaluation/report.py +14 -2
- opik/evaluation/rest_operations.py +36 -33
- opik/evaluation/test_case.py +2 -2
- opik/evaluation/types.py +9 -1
- opik/exceptions.py +17 -0
- opik/hooks/__init__.py +17 -1
- opik/hooks/anonymizer_hook.py +36 -0
- opik/id_helpers.py +18 -0
- opik/integrations/adk/helpers.py +16 -7
- opik/integrations/adk/legacy_opik_tracer.py +7 -4
- opik/integrations/adk/opik_tracer.py +3 -1
- opik/integrations/adk/patchers/adk_otel_tracer/opik_adk_otel_tracer.py +7 -3
- opik/integrations/adk/recursive_callback_injector.py +1 -6
- opik/integrations/dspy/callback.py +1 -4
- opik/integrations/haystack/opik_connector.py +2 -2
- opik/integrations/haystack/opik_tracer.py +2 -4
- opik/integrations/langchain/opik_tracer.py +273 -82
- opik/integrations/llama_index/callback.py +110 -108
- opik/integrations/openai/agents/opik_tracing_processor.py +1 -2
- opik/integrations/openai/opik_tracker.py +1 -1
- opik/message_processing/batching/batchers.py +11 -7
- opik/message_processing/encoder_helpers.py +79 -0
- opik/message_processing/messages.py +25 -1
- opik/message_processing/online_message_processor.py +23 -8
- opik/opik_context.py +7 -7
- opik/rest_api/__init__.py +188 -12
- opik/rest_api/client.py +3 -0
- opik/rest_api/dashboards/__init__.py +4 -0
- opik/rest_api/dashboards/client.py +462 -0
- opik/rest_api/dashboards/raw_client.py +648 -0
- opik/rest_api/datasets/client.py +893 -89
- opik/rest_api/datasets/raw_client.py +1328 -87
- opik/rest_api/experiments/client.py +30 -2
- opik/rest_api/experiments/raw_client.py +26 -0
- opik/rest_api/feedback_definitions/types/find_feedback_definitions_request_type.py +1 -1
- opik/rest_api/optimizations/client.py +302 -0
- opik/rest_api/optimizations/raw_client.py +463 -0
- opik/rest_api/optimizations/types/optimization_update_status.py +3 -1
- opik/rest_api/prompts/__init__.py +2 -2
- opik/rest_api/prompts/client.py +34 -4
- opik/rest_api/prompts/raw_client.py +32 -2
- opik/rest_api/prompts/types/__init__.py +3 -1
- opik/rest_api/prompts/types/create_prompt_version_detail_template_structure.py +5 -0
- opik/rest_api/prompts/types/prompt_write_template_structure.py +5 -0
- opik/rest_api/spans/__init__.py +0 -2
- opik/rest_api/spans/client.py +148 -64
- opik/rest_api/spans/raw_client.py +210 -83
- opik/rest_api/spans/types/__init__.py +0 -2
- opik/rest_api/traces/client.py +241 -73
- opik/rest_api/traces/raw_client.py +344 -90
- opik/rest_api/types/__init__.py +200 -15
- opik/rest_api/types/aggregation_data.py +1 -0
- opik/rest_api/types/alert_trigger_config_public_type.py +6 -1
- opik/rest_api/types/alert_trigger_config_type.py +6 -1
- opik/rest_api/types/alert_trigger_config_write_type.py +6 -1
- opik/rest_api/types/automation_rule_evaluator.py +23 -1
- opik/rest_api/types/automation_rule_evaluator_llm_as_judge.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_llm_as_judge_public.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_llm_as_judge_write.py +2 -0
- opik/rest_api/types/{automation_rule_evaluator_object_public.py → automation_rule_evaluator_object_object_public.py} +32 -10
- opik/rest_api/types/automation_rule_evaluator_page_public.py +2 -2
- opik/rest_api/types/automation_rule_evaluator_public.py +23 -1
- opik/rest_api/types/automation_rule_evaluator_span_llm_as_judge.py +22 -0
- opik/rest_api/types/automation_rule_evaluator_span_llm_as_judge_public.py +22 -0
- opik/rest_api/types/automation_rule_evaluator_span_llm_as_judge_write.py +22 -0
- opik/rest_api/types/automation_rule_evaluator_trace_thread_llm_as_judge.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_trace_thread_llm_as_judge_public.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_trace_thread_llm_as_judge_write.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_trace_thread_user_defined_metric_python.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_trace_thread_user_defined_metric_python_public.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_trace_thread_user_defined_metric_python_write.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_update.py +23 -1
- opik/rest_api/types/automation_rule_evaluator_update_llm_as_judge.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_update_span_llm_as_judge.py +22 -0
- opik/rest_api/types/automation_rule_evaluator_update_trace_thread_llm_as_judge.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_update_trace_thread_user_defined_metric_python.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_update_user_defined_metric_python.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_user_defined_metric_python.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_user_defined_metric_python_public.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_user_defined_metric_python_write.py +2 -0
- opik/rest_api/types/automation_rule_evaluator_write.py +23 -1
- opik/rest_api/types/boolean_feedback_definition.py +25 -0
- opik/rest_api/types/boolean_feedback_definition_create.py +20 -0
- opik/rest_api/types/boolean_feedback_definition_public.py +25 -0
- opik/rest_api/types/boolean_feedback_definition_update.py +20 -0
- opik/rest_api/types/boolean_feedback_detail.py +29 -0
- opik/rest_api/types/boolean_feedback_detail_create.py +29 -0
- opik/rest_api/types/boolean_feedback_detail_public.py +29 -0
- opik/rest_api/types/boolean_feedback_detail_update.py +29 -0
- opik/rest_api/types/dashboard_page_public.py +24 -0
- opik/rest_api/types/dashboard_public.py +30 -0
- opik/rest_api/types/dataset.py +2 -0
- opik/rest_api/types/dataset_item.py +2 -0
- opik/rest_api/types/dataset_item_compare.py +2 -0
- opik/rest_api/types/dataset_item_filter.py +23 -0
- opik/rest_api/types/dataset_item_filter_operator.py +21 -0
- opik/rest_api/types/dataset_item_page_compare.py +1 -0
- opik/rest_api/types/dataset_item_page_public.py +1 -0
- opik/rest_api/types/dataset_item_public.py +2 -0
- opik/rest_api/types/dataset_item_update.py +39 -0
- opik/rest_api/types/dataset_item_write.py +1 -0
- opik/rest_api/types/dataset_public.py +2 -0
- opik/rest_api/types/dataset_public_status.py +5 -0
- opik/rest_api/types/dataset_status.py +5 -0
- opik/rest_api/types/dataset_version_diff.py +22 -0
- opik/rest_api/types/dataset_version_diff_stats.py +24 -0
- opik/rest_api/types/dataset_version_page_public.py +23 -0
- opik/rest_api/types/dataset_version_public.py +49 -0
- opik/rest_api/types/experiment.py +2 -0
- opik/rest_api/types/experiment_public.py +2 -0
- opik/rest_api/types/experiment_score.py +20 -0
- opik/rest_api/types/experiment_score_public.py +20 -0
- opik/rest_api/types/experiment_score_write.py +20 -0
- opik/rest_api/types/feedback.py +20 -1
- opik/rest_api/types/feedback_create.py +16 -1
- opik/rest_api/types/feedback_object_public.py +22 -1
- opik/rest_api/types/feedback_public.py +20 -1
- opik/rest_api/types/feedback_score_public.py +4 -0
- opik/rest_api/types/feedback_update.py +16 -1
- opik/rest_api/types/image_url.py +20 -0
- opik/rest_api/types/image_url_public.py +20 -0
- opik/rest_api/types/image_url_write.py +20 -0
- opik/rest_api/types/llm_as_judge_message.py +5 -1
- opik/rest_api/types/llm_as_judge_message_content.py +24 -0
- opik/rest_api/types/llm_as_judge_message_content_public.py +24 -0
- opik/rest_api/types/llm_as_judge_message_content_write.py +24 -0
- opik/rest_api/types/llm_as_judge_message_public.py +5 -1
- opik/rest_api/types/llm_as_judge_message_write.py +5 -1
- opik/rest_api/types/llm_as_judge_model_parameters.py +2 -0
- opik/rest_api/types/llm_as_judge_model_parameters_public.py +2 -0
- opik/rest_api/types/llm_as_judge_model_parameters_write.py +2 -0
- opik/rest_api/types/optimization.py +2 -0
- opik/rest_api/types/optimization_public.py +2 -0
- opik/rest_api/types/optimization_public_status.py +3 -1
- opik/rest_api/types/optimization_status.py +3 -1
- opik/rest_api/types/optimization_studio_config.py +27 -0
- opik/rest_api/types/optimization_studio_config_public.py +27 -0
- opik/rest_api/types/optimization_studio_config_write.py +27 -0
- opik/rest_api/types/optimization_studio_log.py +22 -0
- opik/rest_api/types/optimization_write.py +2 -0
- opik/rest_api/types/optimization_write_status.py +3 -1
- opik/rest_api/types/prompt.py +6 -0
- opik/rest_api/types/prompt_detail.py +6 -0
- opik/rest_api/types/prompt_detail_template_structure.py +5 -0
- opik/rest_api/types/prompt_public.py +6 -0
- opik/rest_api/types/prompt_public_template_structure.py +5 -0
- opik/rest_api/types/prompt_template_structure.py +5 -0
- opik/rest_api/types/prompt_version.py +2 -0
- opik/rest_api/types/prompt_version_detail.py +2 -0
- opik/rest_api/types/prompt_version_detail_template_structure.py +5 -0
- opik/rest_api/types/prompt_version_public.py +2 -0
- opik/rest_api/types/prompt_version_public_template_structure.py +5 -0
- opik/rest_api/types/prompt_version_template_structure.py +5 -0
- opik/rest_api/types/score_name.py +1 -0
- opik/rest_api/types/service_toggles_config.py +6 -0
- opik/rest_api/types/span_enrichment_options.py +31 -0
- opik/rest_api/types/span_filter.py +23 -0
- opik/rest_api/types/span_filter_operator.py +21 -0
- opik/rest_api/types/span_filter_write.py +23 -0
- opik/rest_api/types/span_filter_write_operator.py +21 -0
- opik/rest_api/types/span_llm_as_judge_code.py +27 -0
- opik/rest_api/types/span_llm_as_judge_code_public.py +27 -0
- opik/rest_api/types/span_llm_as_judge_code_write.py +27 -0
- opik/rest_api/types/span_update.py +46 -0
- opik/rest_api/types/studio_evaluation.py +20 -0
- opik/rest_api/types/studio_evaluation_public.py +20 -0
- opik/rest_api/types/studio_evaluation_write.py +20 -0
- opik/rest_api/types/studio_llm_model.py +21 -0
- opik/rest_api/types/studio_llm_model_public.py +21 -0
- opik/rest_api/types/studio_llm_model_write.py +21 -0
- opik/rest_api/types/studio_message.py +20 -0
- opik/rest_api/types/studio_message_public.py +20 -0
- opik/rest_api/types/studio_message_write.py +20 -0
- opik/rest_api/types/studio_metric.py +21 -0
- opik/rest_api/types/studio_metric_public.py +21 -0
- opik/rest_api/types/studio_metric_write.py +21 -0
- opik/rest_api/types/studio_optimizer.py +21 -0
- opik/rest_api/types/studio_optimizer_public.py +21 -0
- opik/rest_api/types/studio_optimizer_write.py +21 -0
- opik/rest_api/types/studio_prompt.py +20 -0
- opik/rest_api/types/studio_prompt_public.py +20 -0
- opik/rest_api/types/studio_prompt_write.py +20 -0
- opik/rest_api/types/trace.py +6 -0
- opik/rest_api/types/trace_public.py +6 -0
- opik/rest_api/types/trace_thread_filter_write.py +23 -0
- opik/rest_api/types/trace_thread_filter_write_operator.py +21 -0
- opik/rest_api/types/trace_thread_update.py +19 -0
- opik/rest_api/types/trace_update.py +39 -0
- opik/rest_api/types/value_entry.py +2 -0
- opik/rest_api/types/value_entry_compare.py +2 -0
- opik/rest_api/types/value_entry_experiment_item_bulk_write_view.py +2 -0
- opik/rest_api/types/value_entry_public.py +2 -0
- opik/rest_api/types/video_url.py +19 -0
- opik/rest_api/types/video_url_public.py +19 -0
- opik/rest_api/types/video_url_write.py +19 -0
- opik/synchronization.py +5 -6
- opik/{decorator/tracing_runtime_config.py → tracing_runtime_config.py} +6 -7
- {opik-1.9.5.dist-info → opik-1.9.39.dist-info}/METADATA +5 -4
- {opik-1.9.5.dist-info → opik-1.9.39.dist-info}/RECORD +246 -151
- opik/api_objects/prompt/chat_prompt_template.py +0 -164
- opik/api_objects/prompt/prompt.py +0 -131
- /opik/rest_api/{spans/types → types}/span_update_type.py +0 -0
- {opik-1.9.5.dist-info → opik-1.9.39.dist-info}/WHEEL +0 -0
- {opik-1.9.5.dist-info → opik-1.9.39.dist-info}/entry_points.txt +0 -0
- {opik-1.9.5.dist-info → opik-1.9.39.dist-info}/licenses/LICENSE +0 -0
- {opik-1.9.5.dist-info → opik-1.9.39.dist-info}/top_level.txt +0 -0
|
@@ -13,6 +13,8 @@ from ..types.experiment_item_bulk_record_experiment_item_bulk_write_view import
|
|
|
13
13
|
from ..types.experiment_item_public import ExperimentItemPublic
|
|
14
14
|
from ..types.experiment_page_public import ExperimentPagePublic
|
|
15
15
|
from ..types.experiment_public import ExperimentPublic
|
|
16
|
+
from ..types.experiment_score import ExperimentScore
|
|
17
|
+
from ..types.experiment_score_write import ExperimentScoreWrite
|
|
16
18
|
from ..types.json_list_string_write import JsonListStringWrite
|
|
17
19
|
from ..types.json_node import JsonNode
|
|
18
20
|
from ..types.prompt_version_link_write import PromptVersionLinkWrite
|
|
@@ -120,6 +122,7 @@ class ExperimentsClient:
|
|
|
120
122
|
type: typing.Optional[ExperimentWriteType] = OMIT,
|
|
121
123
|
optimization_id: typing.Optional[str] = OMIT,
|
|
122
124
|
status: typing.Optional[ExperimentWriteStatus] = OMIT,
|
|
125
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScoreWrite]] = OMIT,
|
|
123
126
|
prompt_version: typing.Optional[PromptVersionLinkWrite] = OMIT,
|
|
124
127
|
prompt_versions: typing.Optional[typing.Sequence[PromptVersionLinkWrite]] = OMIT,
|
|
125
128
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -143,6 +146,8 @@ class ExperimentsClient:
|
|
|
143
146
|
|
|
144
147
|
status : typing.Optional[ExperimentWriteStatus]
|
|
145
148
|
|
|
149
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScoreWrite]]
|
|
150
|
+
|
|
146
151
|
prompt_version : typing.Optional[PromptVersionLinkWrite]
|
|
147
152
|
|
|
148
153
|
prompt_versions : typing.Optional[typing.Sequence[PromptVersionLinkWrite]]
|
|
@@ -168,6 +173,7 @@ class ExperimentsClient:
|
|
|
168
173
|
type=type,
|
|
169
174
|
optimization_id=optimization_id,
|
|
170
175
|
status=status,
|
|
176
|
+
experiment_scores=experiment_scores,
|
|
171
177
|
prompt_version=prompt_version,
|
|
172
178
|
prompt_versions=prompt_versions,
|
|
173
179
|
request_options=request_options,
|
|
@@ -476,6 +482,7 @@ class ExperimentsClient:
|
|
|
476
482
|
metadata: typing.Optional[JsonNode] = OMIT,
|
|
477
483
|
type: typing.Optional[ExperimentUpdateType] = OMIT,
|
|
478
484
|
status: typing.Optional[ExperimentUpdateStatus] = OMIT,
|
|
485
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScore]] = OMIT,
|
|
479
486
|
request_options: typing.Optional[RequestOptions] = None,
|
|
480
487
|
) -> None:
|
|
481
488
|
"""
|
|
@@ -494,6 +501,8 @@ class ExperimentsClient:
|
|
|
494
501
|
status : typing.Optional[ExperimentUpdateStatus]
|
|
495
502
|
The status of the experiment
|
|
496
503
|
|
|
504
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScore]]
|
|
505
|
+
|
|
497
506
|
request_options : typing.Optional[RequestOptions]
|
|
498
507
|
Request-specific configuration.
|
|
499
508
|
|
|
@@ -508,7 +517,13 @@ class ExperimentsClient:
|
|
|
508
517
|
client.experiments.update_experiment(id='id', )
|
|
509
518
|
"""
|
|
510
519
|
_response = self._raw_client.update_experiment(
|
|
511
|
-
id,
|
|
520
|
+
id,
|
|
521
|
+
name=name,
|
|
522
|
+
metadata=metadata,
|
|
523
|
+
type=type,
|
|
524
|
+
status=status,
|
|
525
|
+
experiment_scores=experiment_scores,
|
|
526
|
+
request_options=request_options,
|
|
512
527
|
)
|
|
513
528
|
return _response.data
|
|
514
529
|
|
|
@@ -709,6 +724,7 @@ class AsyncExperimentsClient:
|
|
|
709
724
|
type: typing.Optional[ExperimentWriteType] = OMIT,
|
|
710
725
|
optimization_id: typing.Optional[str] = OMIT,
|
|
711
726
|
status: typing.Optional[ExperimentWriteStatus] = OMIT,
|
|
727
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScoreWrite]] = OMIT,
|
|
712
728
|
prompt_version: typing.Optional[PromptVersionLinkWrite] = OMIT,
|
|
713
729
|
prompt_versions: typing.Optional[typing.Sequence[PromptVersionLinkWrite]] = OMIT,
|
|
714
730
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -732,6 +748,8 @@ class AsyncExperimentsClient:
|
|
|
732
748
|
|
|
733
749
|
status : typing.Optional[ExperimentWriteStatus]
|
|
734
750
|
|
|
751
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScoreWrite]]
|
|
752
|
+
|
|
735
753
|
prompt_version : typing.Optional[PromptVersionLinkWrite]
|
|
736
754
|
|
|
737
755
|
prompt_versions : typing.Optional[typing.Sequence[PromptVersionLinkWrite]]
|
|
@@ -760,6 +778,7 @@ class AsyncExperimentsClient:
|
|
|
760
778
|
type=type,
|
|
761
779
|
optimization_id=optimization_id,
|
|
762
780
|
status=status,
|
|
781
|
+
experiment_scores=experiment_scores,
|
|
763
782
|
prompt_version=prompt_version,
|
|
764
783
|
prompt_versions=prompt_versions,
|
|
765
784
|
request_options=request_options,
|
|
@@ -1095,6 +1114,7 @@ class AsyncExperimentsClient:
|
|
|
1095
1114
|
metadata: typing.Optional[JsonNode] = OMIT,
|
|
1096
1115
|
type: typing.Optional[ExperimentUpdateType] = OMIT,
|
|
1097
1116
|
status: typing.Optional[ExperimentUpdateStatus] = OMIT,
|
|
1117
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScore]] = OMIT,
|
|
1098
1118
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1099
1119
|
) -> None:
|
|
1100
1120
|
"""
|
|
@@ -1113,6 +1133,8 @@ class AsyncExperimentsClient:
|
|
|
1113
1133
|
status : typing.Optional[ExperimentUpdateStatus]
|
|
1114
1134
|
The status of the experiment
|
|
1115
1135
|
|
|
1136
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScore]]
|
|
1137
|
+
|
|
1116
1138
|
request_options : typing.Optional[RequestOptions]
|
|
1117
1139
|
Request-specific configuration.
|
|
1118
1140
|
|
|
@@ -1130,7 +1152,13 @@ class AsyncExperimentsClient:
|
|
|
1130
1152
|
asyncio.run(main())
|
|
1131
1153
|
"""
|
|
1132
1154
|
_response = await self._raw_client.update_experiment(
|
|
1133
|
-
id,
|
|
1155
|
+
id,
|
|
1156
|
+
name=name,
|
|
1157
|
+
metadata=metadata,
|
|
1158
|
+
type=type,
|
|
1159
|
+
status=status,
|
|
1160
|
+
experiment_scores=experiment_scores,
|
|
1161
|
+
request_options=request_options,
|
|
1134
1162
|
)
|
|
1135
1163
|
return _response.data
|
|
1136
1164
|
|
|
@@ -24,6 +24,8 @@ from ..types.experiment_item_bulk_record_experiment_item_bulk_write_view import
|
|
|
24
24
|
from ..types.experiment_item_public import ExperimentItemPublic
|
|
25
25
|
from ..types.experiment_page_public import ExperimentPagePublic
|
|
26
26
|
from ..types.experiment_public import ExperimentPublic
|
|
27
|
+
from ..types.experiment_score import ExperimentScore
|
|
28
|
+
from ..types.experiment_score_write import ExperimentScoreWrite
|
|
27
29
|
from ..types.json_list_string_write import JsonListStringWrite
|
|
28
30
|
from ..types.json_node import JsonNode
|
|
29
31
|
from ..types.prompt_version_link_write import PromptVersionLinkWrite
|
|
@@ -141,6 +143,7 @@ class RawExperimentsClient:
|
|
|
141
143
|
type: typing.Optional[ExperimentWriteType] = OMIT,
|
|
142
144
|
optimization_id: typing.Optional[str] = OMIT,
|
|
143
145
|
status: typing.Optional[ExperimentWriteStatus] = OMIT,
|
|
146
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScoreWrite]] = OMIT,
|
|
144
147
|
prompt_version: typing.Optional[PromptVersionLinkWrite] = OMIT,
|
|
145
148
|
prompt_versions: typing.Optional[typing.Sequence[PromptVersionLinkWrite]] = OMIT,
|
|
146
149
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -164,6 +167,8 @@ class RawExperimentsClient:
|
|
|
164
167
|
|
|
165
168
|
status : typing.Optional[ExperimentWriteStatus]
|
|
166
169
|
|
|
170
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScoreWrite]]
|
|
171
|
+
|
|
167
172
|
prompt_version : typing.Optional[PromptVersionLinkWrite]
|
|
168
173
|
|
|
169
174
|
prompt_versions : typing.Optional[typing.Sequence[PromptVersionLinkWrite]]
|
|
@@ -188,6 +193,9 @@ class RawExperimentsClient:
|
|
|
188
193
|
"type": type,
|
|
189
194
|
"optimization_id": optimization_id,
|
|
190
195
|
"status": status,
|
|
196
|
+
"experiment_scores": convert_and_respect_annotation_metadata(
|
|
197
|
+
object_=experiment_scores, annotation=typing.Sequence[ExperimentScoreWrite], direction="write"
|
|
198
|
+
),
|
|
191
199
|
"prompt_version": convert_and_respect_annotation_metadata(
|
|
192
200
|
object_=prompt_version, annotation=PromptVersionLinkWrite, direction="write"
|
|
193
201
|
),
|
|
@@ -695,6 +703,7 @@ class RawExperimentsClient:
|
|
|
695
703
|
metadata: typing.Optional[JsonNode] = OMIT,
|
|
696
704
|
type: typing.Optional[ExperimentUpdateType] = OMIT,
|
|
697
705
|
status: typing.Optional[ExperimentUpdateStatus] = OMIT,
|
|
706
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScore]] = OMIT,
|
|
698
707
|
request_options: typing.Optional[RequestOptions] = None,
|
|
699
708
|
) -> HttpResponse[None]:
|
|
700
709
|
"""
|
|
@@ -713,6 +722,8 @@ class RawExperimentsClient:
|
|
|
713
722
|
status : typing.Optional[ExperimentUpdateStatus]
|
|
714
723
|
The status of the experiment
|
|
715
724
|
|
|
725
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScore]]
|
|
726
|
+
|
|
716
727
|
request_options : typing.Optional[RequestOptions]
|
|
717
728
|
Request-specific configuration.
|
|
718
729
|
|
|
@@ -728,6 +739,9 @@ class RawExperimentsClient:
|
|
|
728
739
|
"metadata": metadata,
|
|
729
740
|
"type": type,
|
|
730
741
|
"status": status,
|
|
742
|
+
"experiment_scores": convert_and_respect_annotation_metadata(
|
|
743
|
+
object_=experiment_scores, annotation=typing.Sequence[ExperimentScore], direction="write"
|
|
744
|
+
),
|
|
731
745
|
},
|
|
732
746
|
headers={
|
|
733
747
|
"content-type": "application/json",
|
|
@@ -1045,6 +1059,7 @@ class AsyncRawExperimentsClient:
|
|
|
1045
1059
|
type: typing.Optional[ExperimentWriteType] = OMIT,
|
|
1046
1060
|
optimization_id: typing.Optional[str] = OMIT,
|
|
1047
1061
|
status: typing.Optional[ExperimentWriteStatus] = OMIT,
|
|
1062
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScoreWrite]] = OMIT,
|
|
1048
1063
|
prompt_version: typing.Optional[PromptVersionLinkWrite] = OMIT,
|
|
1049
1064
|
prompt_versions: typing.Optional[typing.Sequence[PromptVersionLinkWrite]] = OMIT,
|
|
1050
1065
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -1068,6 +1083,8 @@ class AsyncRawExperimentsClient:
|
|
|
1068
1083
|
|
|
1069
1084
|
status : typing.Optional[ExperimentWriteStatus]
|
|
1070
1085
|
|
|
1086
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScoreWrite]]
|
|
1087
|
+
|
|
1071
1088
|
prompt_version : typing.Optional[PromptVersionLinkWrite]
|
|
1072
1089
|
|
|
1073
1090
|
prompt_versions : typing.Optional[typing.Sequence[PromptVersionLinkWrite]]
|
|
@@ -1092,6 +1109,9 @@ class AsyncRawExperimentsClient:
|
|
|
1092
1109
|
"type": type,
|
|
1093
1110
|
"optimization_id": optimization_id,
|
|
1094
1111
|
"status": status,
|
|
1112
|
+
"experiment_scores": convert_and_respect_annotation_metadata(
|
|
1113
|
+
object_=experiment_scores, annotation=typing.Sequence[ExperimentScoreWrite], direction="write"
|
|
1114
|
+
),
|
|
1095
1115
|
"prompt_version": convert_and_respect_annotation_metadata(
|
|
1096
1116
|
object_=prompt_version, annotation=PromptVersionLinkWrite, direction="write"
|
|
1097
1117
|
),
|
|
@@ -1599,6 +1619,7 @@ class AsyncRawExperimentsClient:
|
|
|
1599
1619
|
metadata: typing.Optional[JsonNode] = OMIT,
|
|
1600
1620
|
type: typing.Optional[ExperimentUpdateType] = OMIT,
|
|
1601
1621
|
status: typing.Optional[ExperimentUpdateStatus] = OMIT,
|
|
1622
|
+
experiment_scores: typing.Optional[typing.Sequence[ExperimentScore]] = OMIT,
|
|
1602
1623
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1603
1624
|
) -> AsyncHttpResponse[None]:
|
|
1604
1625
|
"""
|
|
@@ -1617,6 +1638,8 @@ class AsyncRawExperimentsClient:
|
|
|
1617
1638
|
status : typing.Optional[ExperimentUpdateStatus]
|
|
1618
1639
|
The status of the experiment
|
|
1619
1640
|
|
|
1641
|
+
experiment_scores : typing.Optional[typing.Sequence[ExperimentScore]]
|
|
1642
|
+
|
|
1620
1643
|
request_options : typing.Optional[RequestOptions]
|
|
1621
1644
|
Request-specific configuration.
|
|
1622
1645
|
|
|
@@ -1632,6 +1655,9 @@ class AsyncRawExperimentsClient:
|
|
|
1632
1655
|
"metadata": metadata,
|
|
1633
1656
|
"type": type,
|
|
1634
1657
|
"status": status,
|
|
1658
|
+
"experiment_scores": convert_and_respect_annotation_metadata(
|
|
1659
|
+
object_=experiment_scores, annotation=typing.Sequence[ExperimentScore], direction="write"
|
|
1660
|
+
),
|
|
1635
1661
|
},
|
|
1636
1662
|
headers={
|
|
1637
1663
|
"content-type": "application/json",
|
|
@@ -8,6 +8,8 @@ from ..core.request_options import RequestOptions
|
|
|
8
8
|
from ..types.json_list_string_write import JsonListStringWrite
|
|
9
9
|
from ..types.optimization_page_public import OptimizationPagePublic
|
|
10
10
|
from ..types.optimization_public import OptimizationPublic
|
|
11
|
+
from ..types.optimization_studio_config_write import OptimizationStudioConfigWrite
|
|
12
|
+
from ..types.optimization_studio_log import OptimizationStudioLog
|
|
11
13
|
from ..types.optimization_write_status import OptimizationWriteStatus
|
|
12
14
|
from .raw_client import AsyncRawOptimizationsClient, RawOptimizationsClient
|
|
13
15
|
from .types.optimization_update_status import OptimizationUpdateStatus
|
|
@@ -31,6 +33,30 @@ class OptimizationsClient:
|
|
|
31
33
|
"""
|
|
32
34
|
return self._raw_client
|
|
33
35
|
|
|
36
|
+
def cancel_studio_optimizations(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
|
|
37
|
+
"""
|
|
38
|
+
Cancel Studio optimizations by id
|
|
39
|
+
|
|
40
|
+
Parameters
|
|
41
|
+
----------
|
|
42
|
+
id : str
|
|
43
|
+
|
|
44
|
+
request_options : typing.Optional[RequestOptions]
|
|
45
|
+
Request-specific configuration.
|
|
46
|
+
|
|
47
|
+
Returns
|
|
48
|
+
-------
|
|
49
|
+
None
|
|
50
|
+
|
|
51
|
+
Examples
|
|
52
|
+
--------
|
|
53
|
+
from Opik import OpikApi
|
|
54
|
+
client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
55
|
+
client.optimizations.cancel_studio_optimizations(id='id', )
|
|
56
|
+
"""
|
|
57
|
+
_response = self._raw_client.cancel_studio_optimizations(id, request_options=request_options)
|
|
58
|
+
return _response.data
|
|
59
|
+
|
|
34
60
|
def find_optimizations(
|
|
35
61
|
self,
|
|
36
62
|
*,
|
|
@@ -39,6 +65,7 @@ class OptimizationsClient:
|
|
|
39
65
|
dataset_id: typing.Optional[str] = None,
|
|
40
66
|
name: typing.Optional[str] = None,
|
|
41
67
|
dataset_deleted: typing.Optional[bool] = None,
|
|
68
|
+
filters: typing.Optional[str] = None,
|
|
42
69
|
request_options: typing.Optional[RequestOptions] = None,
|
|
43
70
|
) -> OptimizationPagePublic:
|
|
44
71
|
"""
|
|
@@ -56,6 +83,8 @@ class OptimizationsClient:
|
|
|
56
83
|
|
|
57
84
|
dataset_deleted : typing.Optional[bool]
|
|
58
85
|
|
|
86
|
+
filters : typing.Optional[str]
|
|
87
|
+
|
|
59
88
|
request_options : typing.Optional[RequestOptions]
|
|
60
89
|
Request-specific configuration.
|
|
61
90
|
|
|
@@ -76,6 +105,7 @@ class OptimizationsClient:
|
|
|
76
105
|
dataset_id=dataset_id,
|
|
77
106
|
name=name,
|
|
78
107
|
dataset_deleted=dataset_deleted,
|
|
108
|
+
filters=filters,
|
|
79
109
|
request_options=request_options,
|
|
80
110
|
)
|
|
81
111
|
return _response.data
|
|
@@ -89,6 +119,7 @@ class OptimizationsClient:
|
|
|
89
119
|
id: typing.Optional[str] = OMIT,
|
|
90
120
|
name: typing.Optional[str] = OMIT,
|
|
91
121
|
metadata: typing.Optional[JsonListStringWrite] = OMIT,
|
|
122
|
+
studio_config: typing.Optional[OptimizationStudioConfigWrite] = OMIT,
|
|
92
123
|
last_updated_at: typing.Optional[dt.datetime] = OMIT,
|
|
93
124
|
request_options: typing.Optional[RequestOptions] = None,
|
|
94
125
|
) -> None:
|
|
@@ -109,6 +140,8 @@ class OptimizationsClient:
|
|
|
109
140
|
|
|
110
141
|
metadata : typing.Optional[JsonListStringWrite]
|
|
111
142
|
|
|
143
|
+
studio_config : typing.Optional[OptimizationStudioConfigWrite]
|
|
144
|
+
|
|
112
145
|
last_updated_at : typing.Optional[dt.datetime]
|
|
113
146
|
|
|
114
147
|
request_options : typing.Optional[RequestOptions]
|
|
@@ -131,6 +164,7 @@ class OptimizationsClient:
|
|
|
131
164
|
id=id,
|
|
132
165
|
name=name,
|
|
133
166
|
metadata=metadata,
|
|
167
|
+
studio_config=studio_config,
|
|
134
168
|
last_updated_at=last_updated_at,
|
|
135
169
|
request_options=request_options,
|
|
136
170
|
)
|
|
@@ -145,6 +179,7 @@ class OptimizationsClient:
|
|
|
145
179
|
id: typing.Optional[str] = OMIT,
|
|
146
180
|
name: typing.Optional[str] = OMIT,
|
|
147
181
|
metadata: typing.Optional[JsonListStringWrite] = OMIT,
|
|
182
|
+
studio_config: typing.Optional[OptimizationStudioConfigWrite] = OMIT,
|
|
148
183
|
last_updated_at: typing.Optional[dt.datetime] = OMIT,
|
|
149
184
|
request_options: typing.Optional[RequestOptions] = None,
|
|
150
185
|
) -> None:
|
|
@@ -165,6 +200,8 @@ class OptimizationsClient:
|
|
|
165
200
|
|
|
166
201
|
metadata : typing.Optional[JsonListStringWrite]
|
|
167
202
|
|
|
203
|
+
studio_config : typing.Optional[OptimizationStudioConfigWrite]
|
|
204
|
+
|
|
168
205
|
last_updated_at : typing.Optional[dt.datetime]
|
|
169
206
|
|
|
170
207
|
request_options : typing.Optional[RequestOptions]
|
|
@@ -187,6 +224,7 @@ class OptimizationsClient:
|
|
|
187
224
|
id=id,
|
|
188
225
|
name=name,
|
|
189
226
|
metadata=metadata,
|
|
227
|
+
studio_config=studio_config,
|
|
190
228
|
last_updated_at=last_updated_at,
|
|
191
229
|
request_options=request_options,
|
|
192
230
|
)
|
|
@@ -218,6 +256,59 @@ class OptimizationsClient:
|
|
|
218
256
|
_response = self._raw_client.delete_optimizations_by_id(ids=ids, request_options=request_options)
|
|
219
257
|
return _response.data
|
|
220
258
|
|
|
259
|
+
def find_studio_optimizations(
|
|
260
|
+
self,
|
|
261
|
+
*,
|
|
262
|
+
page: typing.Optional[int] = None,
|
|
263
|
+
size: typing.Optional[int] = None,
|
|
264
|
+
dataset_id: typing.Optional[str] = None,
|
|
265
|
+
name: typing.Optional[str] = None,
|
|
266
|
+
dataset_deleted: typing.Optional[bool] = None,
|
|
267
|
+
filters: typing.Optional[str] = None,
|
|
268
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
269
|
+
) -> OptimizationPagePublic:
|
|
270
|
+
"""
|
|
271
|
+
Find Studio optimizations
|
|
272
|
+
|
|
273
|
+
Parameters
|
|
274
|
+
----------
|
|
275
|
+
page : typing.Optional[int]
|
|
276
|
+
|
|
277
|
+
size : typing.Optional[int]
|
|
278
|
+
|
|
279
|
+
dataset_id : typing.Optional[str]
|
|
280
|
+
|
|
281
|
+
name : typing.Optional[str]
|
|
282
|
+
|
|
283
|
+
dataset_deleted : typing.Optional[bool]
|
|
284
|
+
|
|
285
|
+
filters : typing.Optional[str]
|
|
286
|
+
|
|
287
|
+
request_options : typing.Optional[RequestOptions]
|
|
288
|
+
Request-specific configuration.
|
|
289
|
+
|
|
290
|
+
Returns
|
|
291
|
+
-------
|
|
292
|
+
OptimizationPagePublic
|
|
293
|
+
Studio optimizations resource
|
|
294
|
+
|
|
295
|
+
Examples
|
|
296
|
+
--------
|
|
297
|
+
from Opik import OpikApi
|
|
298
|
+
client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
299
|
+
client.optimizations.find_studio_optimizations()
|
|
300
|
+
"""
|
|
301
|
+
_response = self._raw_client.find_studio_optimizations(
|
|
302
|
+
page=page,
|
|
303
|
+
size=size,
|
|
304
|
+
dataset_id=dataset_id,
|
|
305
|
+
name=name,
|
|
306
|
+
dataset_deleted=dataset_deleted,
|
|
307
|
+
filters=filters,
|
|
308
|
+
request_options=request_options,
|
|
309
|
+
)
|
|
310
|
+
return _response.data
|
|
311
|
+
|
|
221
312
|
def get_optimization_by_id(
|
|
222
313
|
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
223
314
|
) -> OptimizationPublic:
|
|
@@ -282,6 +373,60 @@ class OptimizationsClient:
|
|
|
282
373
|
)
|
|
283
374
|
return _response.data
|
|
284
375
|
|
|
376
|
+
def get_studio_optimization_by_id(
|
|
377
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
378
|
+
) -> OptimizationPublic:
|
|
379
|
+
"""
|
|
380
|
+
Get Studio optimization with config included
|
|
381
|
+
|
|
382
|
+
Parameters
|
|
383
|
+
----------
|
|
384
|
+
id : str
|
|
385
|
+
|
|
386
|
+
request_options : typing.Optional[RequestOptions]
|
|
387
|
+
Request-specific configuration.
|
|
388
|
+
|
|
389
|
+
Returns
|
|
390
|
+
-------
|
|
391
|
+
OptimizationPublic
|
|
392
|
+
Studio optimization resource
|
|
393
|
+
|
|
394
|
+
Examples
|
|
395
|
+
--------
|
|
396
|
+
from Opik import OpikApi
|
|
397
|
+
client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
398
|
+
client.optimizations.get_studio_optimization_by_id(id='id', )
|
|
399
|
+
"""
|
|
400
|
+
_response = self._raw_client.get_studio_optimization_by_id(id, request_options=request_options)
|
|
401
|
+
return _response.data
|
|
402
|
+
|
|
403
|
+
def get_studio_optimization_logs(
|
|
404
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
405
|
+
) -> OptimizationStudioLog:
|
|
406
|
+
"""
|
|
407
|
+
Get presigned S3 URL for downloading optimization logs
|
|
408
|
+
|
|
409
|
+
Parameters
|
|
410
|
+
----------
|
|
411
|
+
id : str
|
|
412
|
+
|
|
413
|
+
request_options : typing.Optional[RequestOptions]
|
|
414
|
+
Request-specific configuration.
|
|
415
|
+
|
|
416
|
+
Returns
|
|
417
|
+
-------
|
|
418
|
+
OptimizationStudioLog
|
|
419
|
+
Logs response
|
|
420
|
+
|
|
421
|
+
Examples
|
|
422
|
+
--------
|
|
423
|
+
from Opik import OpikApi
|
|
424
|
+
client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
425
|
+
client.optimizations.get_studio_optimization_logs(id='id', )
|
|
426
|
+
"""
|
|
427
|
+
_response = self._raw_client.get_studio_optimization_logs(id, request_options=request_options)
|
|
428
|
+
return _response.data
|
|
429
|
+
|
|
285
430
|
|
|
286
431
|
class AsyncOptimizationsClient:
|
|
287
432
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
@@ -298,6 +443,35 @@ class AsyncOptimizationsClient:
|
|
|
298
443
|
"""
|
|
299
444
|
return self._raw_client
|
|
300
445
|
|
|
446
|
+
async def cancel_studio_optimizations(
|
|
447
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
448
|
+
) -> None:
|
|
449
|
+
"""
|
|
450
|
+
Cancel Studio optimizations by id
|
|
451
|
+
|
|
452
|
+
Parameters
|
|
453
|
+
----------
|
|
454
|
+
id : str
|
|
455
|
+
|
|
456
|
+
request_options : typing.Optional[RequestOptions]
|
|
457
|
+
Request-specific configuration.
|
|
458
|
+
|
|
459
|
+
Returns
|
|
460
|
+
-------
|
|
461
|
+
None
|
|
462
|
+
|
|
463
|
+
Examples
|
|
464
|
+
--------
|
|
465
|
+
from Opik import AsyncOpikApi
|
|
466
|
+
import asyncio
|
|
467
|
+
client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
468
|
+
async def main() -> None:
|
|
469
|
+
await client.optimizations.cancel_studio_optimizations(id='id', )
|
|
470
|
+
asyncio.run(main())
|
|
471
|
+
"""
|
|
472
|
+
_response = await self._raw_client.cancel_studio_optimizations(id, request_options=request_options)
|
|
473
|
+
return _response.data
|
|
474
|
+
|
|
301
475
|
async def find_optimizations(
|
|
302
476
|
self,
|
|
303
477
|
*,
|
|
@@ -306,6 +480,7 @@ class AsyncOptimizationsClient:
|
|
|
306
480
|
dataset_id: typing.Optional[str] = None,
|
|
307
481
|
name: typing.Optional[str] = None,
|
|
308
482
|
dataset_deleted: typing.Optional[bool] = None,
|
|
483
|
+
filters: typing.Optional[str] = None,
|
|
309
484
|
request_options: typing.Optional[RequestOptions] = None,
|
|
310
485
|
) -> OptimizationPagePublic:
|
|
311
486
|
"""
|
|
@@ -323,6 +498,8 @@ class AsyncOptimizationsClient:
|
|
|
323
498
|
|
|
324
499
|
dataset_deleted : typing.Optional[bool]
|
|
325
500
|
|
|
501
|
+
filters : typing.Optional[str]
|
|
502
|
+
|
|
326
503
|
request_options : typing.Optional[RequestOptions]
|
|
327
504
|
Request-specific configuration.
|
|
328
505
|
|
|
@@ -346,6 +523,7 @@ class AsyncOptimizationsClient:
|
|
|
346
523
|
dataset_id=dataset_id,
|
|
347
524
|
name=name,
|
|
348
525
|
dataset_deleted=dataset_deleted,
|
|
526
|
+
filters=filters,
|
|
349
527
|
request_options=request_options,
|
|
350
528
|
)
|
|
351
529
|
return _response.data
|
|
@@ -359,6 +537,7 @@ class AsyncOptimizationsClient:
|
|
|
359
537
|
id: typing.Optional[str] = OMIT,
|
|
360
538
|
name: typing.Optional[str] = OMIT,
|
|
361
539
|
metadata: typing.Optional[JsonListStringWrite] = OMIT,
|
|
540
|
+
studio_config: typing.Optional[OptimizationStudioConfigWrite] = OMIT,
|
|
362
541
|
last_updated_at: typing.Optional[dt.datetime] = OMIT,
|
|
363
542
|
request_options: typing.Optional[RequestOptions] = None,
|
|
364
543
|
) -> None:
|
|
@@ -379,6 +558,8 @@ class AsyncOptimizationsClient:
|
|
|
379
558
|
|
|
380
559
|
metadata : typing.Optional[JsonListStringWrite]
|
|
381
560
|
|
|
561
|
+
studio_config : typing.Optional[OptimizationStudioConfigWrite]
|
|
562
|
+
|
|
382
563
|
last_updated_at : typing.Optional[dt.datetime]
|
|
383
564
|
|
|
384
565
|
request_options : typing.Optional[RequestOptions]
|
|
@@ -404,6 +585,7 @@ class AsyncOptimizationsClient:
|
|
|
404
585
|
id=id,
|
|
405
586
|
name=name,
|
|
406
587
|
metadata=metadata,
|
|
588
|
+
studio_config=studio_config,
|
|
407
589
|
last_updated_at=last_updated_at,
|
|
408
590
|
request_options=request_options,
|
|
409
591
|
)
|
|
@@ -418,6 +600,7 @@ class AsyncOptimizationsClient:
|
|
|
418
600
|
id: typing.Optional[str] = OMIT,
|
|
419
601
|
name: typing.Optional[str] = OMIT,
|
|
420
602
|
metadata: typing.Optional[JsonListStringWrite] = OMIT,
|
|
603
|
+
studio_config: typing.Optional[OptimizationStudioConfigWrite] = OMIT,
|
|
421
604
|
last_updated_at: typing.Optional[dt.datetime] = OMIT,
|
|
422
605
|
request_options: typing.Optional[RequestOptions] = None,
|
|
423
606
|
) -> None:
|
|
@@ -438,6 +621,8 @@ class AsyncOptimizationsClient:
|
|
|
438
621
|
|
|
439
622
|
metadata : typing.Optional[JsonListStringWrite]
|
|
440
623
|
|
|
624
|
+
studio_config : typing.Optional[OptimizationStudioConfigWrite]
|
|
625
|
+
|
|
441
626
|
last_updated_at : typing.Optional[dt.datetime]
|
|
442
627
|
|
|
443
628
|
request_options : typing.Optional[RequestOptions]
|
|
@@ -463,6 +648,7 @@ class AsyncOptimizationsClient:
|
|
|
463
648
|
id=id,
|
|
464
649
|
name=name,
|
|
465
650
|
metadata=metadata,
|
|
651
|
+
studio_config=studio_config,
|
|
466
652
|
last_updated_at=last_updated_at,
|
|
467
653
|
request_options=request_options,
|
|
468
654
|
)
|
|
@@ -497,6 +683,62 @@ class AsyncOptimizationsClient:
|
|
|
497
683
|
_response = await self._raw_client.delete_optimizations_by_id(ids=ids, request_options=request_options)
|
|
498
684
|
return _response.data
|
|
499
685
|
|
|
686
|
+
async def find_studio_optimizations(
|
|
687
|
+
self,
|
|
688
|
+
*,
|
|
689
|
+
page: typing.Optional[int] = None,
|
|
690
|
+
size: typing.Optional[int] = None,
|
|
691
|
+
dataset_id: typing.Optional[str] = None,
|
|
692
|
+
name: typing.Optional[str] = None,
|
|
693
|
+
dataset_deleted: typing.Optional[bool] = None,
|
|
694
|
+
filters: typing.Optional[str] = None,
|
|
695
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
696
|
+
) -> OptimizationPagePublic:
|
|
697
|
+
"""
|
|
698
|
+
Find Studio optimizations
|
|
699
|
+
|
|
700
|
+
Parameters
|
|
701
|
+
----------
|
|
702
|
+
page : typing.Optional[int]
|
|
703
|
+
|
|
704
|
+
size : typing.Optional[int]
|
|
705
|
+
|
|
706
|
+
dataset_id : typing.Optional[str]
|
|
707
|
+
|
|
708
|
+
name : typing.Optional[str]
|
|
709
|
+
|
|
710
|
+
dataset_deleted : typing.Optional[bool]
|
|
711
|
+
|
|
712
|
+
filters : typing.Optional[str]
|
|
713
|
+
|
|
714
|
+
request_options : typing.Optional[RequestOptions]
|
|
715
|
+
Request-specific configuration.
|
|
716
|
+
|
|
717
|
+
Returns
|
|
718
|
+
-------
|
|
719
|
+
OptimizationPagePublic
|
|
720
|
+
Studio optimizations resource
|
|
721
|
+
|
|
722
|
+
Examples
|
|
723
|
+
--------
|
|
724
|
+
from Opik import AsyncOpikApi
|
|
725
|
+
import asyncio
|
|
726
|
+
client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
727
|
+
async def main() -> None:
|
|
728
|
+
await client.optimizations.find_studio_optimizations()
|
|
729
|
+
asyncio.run(main())
|
|
730
|
+
"""
|
|
731
|
+
_response = await self._raw_client.find_studio_optimizations(
|
|
732
|
+
page=page,
|
|
733
|
+
size=size,
|
|
734
|
+
dataset_id=dataset_id,
|
|
735
|
+
name=name,
|
|
736
|
+
dataset_deleted=dataset_deleted,
|
|
737
|
+
filters=filters,
|
|
738
|
+
request_options=request_options,
|
|
739
|
+
)
|
|
740
|
+
return _response.data
|
|
741
|
+
|
|
500
742
|
async def get_optimization_by_id(
|
|
501
743
|
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
502
744
|
) -> OptimizationPublic:
|
|
@@ -566,3 +808,63 @@ class AsyncOptimizationsClient:
|
|
|
566
808
|
id, name=name, status=status, request_options=request_options
|
|
567
809
|
)
|
|
568
810
|
return _response.data
|
|
811
|
+
|
|
812
|
+
async def get_studio_optimization_by_id(
|
|
813
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
814
|
+
) -> OptimizationPublic:
|
|
815
|
+
"""
|
|
816
|
+
Get Studio optimization with config included
|
|
817
|
+
|
|
818
|
+
Parameters
|
|
819
|
+
----------
|
|
820
|
+
id : str
|
|
821
|
+
|
|
822
|
+
request_options : typing.Optional[RequestOptions]
|
|
823
|
+
Request-specific configuration.
|
|
824
|
+
|
|
825
|
+
Returns
|
|
826
|
+
-------
|
|
827
|
+
OptimizationPublic
|
|
828
|
+
Studio optimization resource
|
|
829
|
+
|
|
830
|
+
Examples
|
|
831
|
+
--------
|
|
832
|
+
from Opik import AsyncOpikApi
|
|
833
|
+
import asyncio
|
|
834
|
+
client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
835
|
+
async def main() -> None:
|
|
836
|
+
await client.optimizations.get_studio_optimization_by_id(id='id', )
|
|
837
|
+
asyncio.run(main())
|
|
838
|
+
"""
|
|
839
|
+
_response = await self._raw_client.get_studio_optimization_by_id(id, request_options=request_options)
|
|
840
|
+
return _response.data
|
|
841
|
+
|
|
842
|
+
async def get_studio_optimization_logs(
|
|
843
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
844
|
+
) -> OptimizationStudioLog:
|
|
845
|
+
"""
|
|
846
|
+
Get presigned S3 URL for downloading optimization logs
|
|
847
|
+
|
|
848
|
+
Parameters
|
|
849
|
+
----------
|
|
850
|
+
id : str
|
|
851
|
+
|
|
852
|
+
request_options : typing.Optional[RequestOptions]
|
|
853
|
+
Request-specific configuration.
|
|
854
|
+
|
|
855
|
+
Returns
|
|
856
|
+
-------
|
|
857
|
+
OptimizationStudioLog
|
|
858
|
+
Logs response
|
|
859
|
+
|
|
860
|
+
Examples
|
|
861
|
+
--------
|
|
862
|
+
from Opik import AsyncOpikApi
|
|
863
|
+
import asyncio
|
|
864
|
+
client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
|
|
865
|
+
async def main() -> None:
|
|
866
|
+
await client.optimizations.get_studio_optimization_logs(id='id', )
|
|
867
|
+
asyncio.run(main())
|
|
868
|
+
"""
|
|
869
|
+
_response = await self._raw_client.get_studio_optimization_logs(id, request_options=request_options)
|
|
870
|
+
return _response.data
|