opik-optimizer 0.7.5__py3-none-any.whl → 0.7.7__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.
@@ -25,6 +25,7 @@ _limiter = _throttle.get_rate_limiter_for_current_opik_installation()
25
25
 
26
26
  logger = logging.getLogger(__name__)
27
27
 
28
+
28
29
  @_throttle.rate_limited(_limiter)
29
30
  def _call_model(model, messages, seed, model_kwargs):
30
31
  model_kwargs = opik_litellm_monitor.try_add_opik_monitoring_to_params(model_kwargs)
@@ -84,7 +85,7 @@ class FewShotBayesianOptimizer(base_optimizer.BaseOptimizer):
84
85
  split_idx = int(len(dataset) * train_ratio)
85
86
  return dataset[:split_idx], dataset[split_idx:]
86
87
 
87
- def _optimize_prompt(
88
+ def _optimize_prompt(
88
89
  self,
89
90
  dataset: Union[str, Dataset],
90
91
  metric_config: MetricConfig,
@@ -171,7 +172,9 @@ class FewShotBayesianOptimizer(base_optimizer.BaseOptimizer):
171
172
  "n_examples", self.min_examples, self.max_examples
172
173
  )
173
174
  example_indices = [
174
- trial.suggest_categorical(f"example_{i}", list(range(len(dataset_items))))
175
+ trial.suggest_categorical(
176
+ f"example_{i}", list(range(len(dataset_items)))
177
+ )
175
178
  for i in range(n_examples)
176
179
  ]
177
180
  trial.set_user_attr("example_indices", example_indices)
@@ -256,6 +259,7 @@ class FewShotBayesianOptimizer(base_optimizer.BaseOptimizer):
256
259
  main_prompt_string = best_param.instruction
257
260
 
258
261
  return optimization_result.OptimizationResult(
262
+ optimizer=self.__class__.__name__,
259
263
  prompt=main_prompt_string,
260
264
  score=best_score,
261
265
  metric_name=metric_config.metric.name,
@@ -29,6 +29,7 @@ logger = logging.getLogger(__name__) # Gets logger configured by setup_logging
29
29
 
30
30
  _rate_limiter = _throttle.get_rate_limiter_for_current_opik_installation()
31
31
 
32
+
32
33
  class MetaPromptOptimizer(BaseOptimizer):
33
34
  """Optimizer that uses meta-prompting to improve prompts based on examples and performance."""
34
35
 
@@ -873,6 +874,7 @@ class MetaPromptOptimizer(BaseOptimizer):
873
874
  }
874
875
 
875
876
  return OptimizationResult(
877
+ optimizer=self.__class__.__name__,
876
878
  prompt=best_prompt,
877
879
  score=best_score,
878
880
  metric_name=metric_config.metric.name,
@@ -1,4 +1,4 @@
1
- from typing import Any, Dict, List, Tuple, Union, Optional
1
+ from typing import Any, Dict, List, Tuple, Union, Optional, Literal
2
2
  import os
3
3
  import random
4
4
 
@@ -271,6 +271,7 @@ class MiproOptimizer(BaseOptimizer):
271
271
  experiment_config: Optional[Dict] = None,
272
272
  optimization_id: Optional[str] = None,
273
273
  num_trials: Optional[int] = 3,
274
+ auto: Optional[Literal["light", "medium", "heavy"]] = "medium",
274
275
  **kwargs,
275
276
  ) -> None:
276
277
  # FIXME: Intermediate values:
@@ -285,6 +286,7 @@ class MiproOptimizer(BaseOptimizer):
285
286
  self.output_key = output_key
286
287
  self.prompt = prompt
287
288
  self.num_trials = num_trials
289
+ self.auto = auto
288
290
 
289
291
  # Convert to values for MIPRO:
290
292
  if isinstance(dataset, str):
@@ -325,7 +327,7 @@ class MiproOptimizer(BaseOptimizer):
325
327
  "metric": metric.name,
326
328
  "num_threads": self.num_threads,
327
329
  "num_candidates": self.num_candidates,
328
- "num_trails": self.num_trails,
330
+ "num_trails": self.num_trials,
329
331
  "dataset": dataset.name,
330
332
  },
331
333
  }
@@ -333,7 +335,7 @@ class MiproOptimizer(BaseOptimizer):
333
335
  # Initialize the optimizer:
334
336
  self.optimizer = MIPROv2(
335
337
  metric=self.metric_function,
336
- auto="light",
338
+ auto=self.auto,
337
339
  num_threads=self.num_threads,
338
340
  verbose=False,
339
341
  num_candidates=self.num_candidates,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opik_optimizer
3
- Version: 0.7.5
3
+ Version: 0.7.7
4
4
  Summary: Agent optimization with Opik
5
5
  Home-page: https://github.com/comet-ml/opik
6
6
  Author: Comet ML
@@ -3,7 +3,7 @@ opik_optimizer/_throttle.py,sha256=ztub8qlwz4u0GVA2TIoLig0D1Cs0hJ7_o_SnT_C7Nmk,1
3
3
  opik_optimizer/base_optimizer.py,sha256=f4gNX9j3Z3TGst8F0gm1nMHHpHKAlChmeCVAcTdTIR4,4883
4
4
  opik_optimizer/cache_config.py,sha256=EzF4RAzxhSG8vtMJANdiUpNHQ9HzL2CrCXp0iik0f4A,580
5
5
  opik_optimizer/logging_config.py,sha256=ELevhxtflYinTo-jVvyQYZbXG7FgAe_b5dPa9y5uLWw,2774
6
- opik_optimizer/meta_prompt_optimizer.py,sha256=AoFskD01Mu9VbH-Ys4CUoqZk3Gn3iFrOzF2yh-Hw7GM,46944
6
+ opik_optimizer/meta_prompt_optimizer.py,sha256=tCCDHDjUEjpuicN-766HbwODZHeAzZGTXGqoRl9Npvc,46992
7
7
  opik_optimizer/optimization_result.py,sha256=9zdDV2MXeLYk7U8OqgMmSU-DdPV6qgYQWS2rtkO6Dzw,8693
8
8
  opik_optimizer/task_evaluator.py,sha256=MafDMaLeW0_yGPrumLvYF0HzQUKrnpAlM_0N_TPG8tw,3695
9
9
  opik_optimizer/utils.py,sha256=HivUsNzbt7BcuZeEvikdER1DaTPUFLJrpaVQ8raZYD8,3637
@@ -14,20 +14,20 @@ opik_optimizer/demo/datasets.py,sha256=-qmdeFk5X3CIcg9QX7nbGUAVo2khh0XGbmkHh8jgv
14
14
  opik_optimizer/evolutionary_optimizer/__init__.py,sha256=OQ2ART5g-7EVGOISvTGY-AbmEyyDFEJJCsmJBzGJIpw,57
15
15
  opik_optimizer/evolutionary_optimizer/evolutionary_optimizer.py,sha256=652TAHa4U4C7_0_wBulDmizfVijqV9E3ngR38nLcpt4,76568
16
16
  opik_optimizer/few_shot_bayesian_optimizer/__init__.py,sha256=VuH7FOROyGcjMPryejtZC-5Y0QHlVTFLTGUDgNqRAFw,113
17
- opik_optimizer/few_shot_bayesian_optimizer/few_shot_bayesian_optimizer.py,sha256=HIoIVDW9v0p2Y9B736DncXjJPPYoDfphgeSqiB4MIVM,15235
17
+ opik_optimizer/few_shot_bayesian_optimizer/few_shot_bayesian_optimizer.py,sha256=nmf3mguehaIomiHPFnONvnxzJvvo15wMU-GLe_S0Gb0,15318
18
18
  opik_optimizer/few_shot_bayesian_optimizer/prompt_parameter.py,sha256=EDsSIFAUOfiZKWLrOAaBDB7Exk7cmIs4ccI95kVa7JY,3118
19
19
  opik_optimizer/few_shot_bayesian_optimizer/prompt_templates.py,sha256=HmvD-UeT3aKiiet5cUtULXe6iFPEOo6hxyDE0pH2LnQ,2424
20
20
  opik_optimizer/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  opik_optimizer/mipro_optimizer/__init__.py,sha256=CF9TVXjOxTobDO1kAS8CD4eyLVzEozxjfgoKwIO6ZpU,44
22
22
  opik_optimizer/mipro_optimizer/_lm.py,sha256=bcTy2Y5HjSaFQOATIpUaA86eIp3vKHaMuDI2_RvN2ww,16376
23
23
  opik_optimizer/mipro_optimizer/_mipro_optimizer_v2.py,sha256=CiQWe39LCp-81SZmLyMybIw2lc_0RBKcxclLEuSXQgI,39757
24
- opik_optimizer/mipro_optimizer/mipro_optimizer.py,sha256=VCQ0V1U_3aEsCqBumu127QLUEjkPA-kRWZou1qtZ9gU,15044
24
+ opik_optimizer/mipro_optimizer/mipro_optimizer.py,sha256=WysLWLV62Pbn60gEguJLVFOiKLeoNL5iwZMqeeCHmJ0,15152
25
25
  opik_optimizer/mipro_optimizer/utils.py,sha256=4et1JA1QInX3h6Is-_RqzliFwJqkm6tlA0X5CryG60I,3142
26
26
  opik_optimizer/optimization_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  opik_optimizer/optimization_config/configs.py,sha256=MYL9H2UAqeyGBlBGWbOZ-6Snto4ZMuXnypgvVuUSW1Y,1132
28
28
  opik_optimizer/optimization_config/mappers.py,sha256=RXgTMxPzTQ1AHGke6Zca6rTcfCI7IkCKhQYciaEGSAo,1698
29
- opik_optimizer-0.7.5.dist-info/licenses/LICENSE,sha256=dTRSwwCHdWeSjzodvnivYqcwi8x3Qfr21yv65QUWWBE,1062
30
- opik_optimizer-0.7.5.dist-info/METADATA,sha256=_1cqmztaDxXDGs0It8INn18IuQAVpWomu0bKITYkkBI,3853
31
- opik_optimizer-0.7.5.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
32
- opik_optimizer-0.7.5.dist-info/top_level.txt,sha256=ondOlpq6_yFckqpxoAHSfzZS2N-JfgmA-QQhOJfz7m0,15
33
- opik_optimizer-0.7.5.dist-info/RECORD,,
29
+ opik_optimizer-0.7.7.dist-info/licenses/LICENSE,sha256=dTRSwwCHdWeSjzodvnivYqcwi8x3Qfr21yv65QUWWBE,1062
30
+ opik_optimizer-0.7.7.dist-info/METADATA,sha256=Lc9cVV_TEqZtbI8nKISrYuLzm9Ip-y9SgC7JlwTWuSk,3853
31
+ opik_optimizer-0.7.7.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
32
+ opik_optimizer-0.7.7.dist-info/top_level.txt,sha256=ondOlpq6_yFckqpxoAHSfzZS2N-JfgmA-QQhOJfz7m0,15
33
+ opik_optimizer-0.7.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.7.1)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5