opik-optimizer 1.0.3__tar.gz → 1.0.4__tar.gz

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.
Files changed (56) hide show
  1. {opik_optimizer-1.0.3/src/opik_optimizer.egg-info → opik_optimizer-1.0.4}/PKG-INFO +1 -1
  2. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/setup.py +1 -1
  3. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/evolutionary_optimizer/evolutionary_optimizer.py +7 -3
  4. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/meta_prompt_optimizer/meta_prompt_optimizer.py +7 -3
  5. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/optimization_result.py +7 -1
  6. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4/src/opik_optimizer.egg-info}/PKG-INFO +1 -1
  7. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/LICENSE +0 -0
  8. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/README.md +0 -0
  9. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/pyproject.toml +0 -0
  10. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/setup.cfg +0 -0
  11. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/__init__.py +0 -0
  12. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/_throttle.py +0 -0
  13. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/base_optimizer.py +0 -0
  14. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/cache_config.py +0 -0
  15. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/data/hotpot-500.json +0 -0
  16. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/__init__.py +0 -0
  17. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/ai2_arc.py +0 -0
  18. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/cnn_dailymail.py +0 -0
  19. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/election_questions.py +0 -0
  20. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/gsm8k.py +0 -0
  21. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/halu_eval.py +0 -0
  22. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/hotpot_qa.py +0 -0
  23. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/medhallu.py +0 -0
  24. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/rag_hallucinations.py +0 -0
  25. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/ragbench.py +0 -0
  26. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/tiny_test.py +0 -0
  27. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/datasets/truthful_qa.py +0 -0
  28. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/demo/__init__.py +0 -0
  29. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/demo/cache.py +0 -0
  30. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/demo/datasets.py +0 -0
  31. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/evolutionary_optimizer/__init__.py +0 -0
  32. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/evolutionary_optimizer/reporting.py +0 -0
  33. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/few_shot_bayesian_optimizer/__init__.py +0 -0
  34. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/few_shot_bayesian_optimizer/few_shot_bayesian_optimizer.py +0 -0
  35. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/few_shot_bayesian_optimizer/reporting.py +0 -0
  36. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/logging_config.py +0 -0
  37. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/meta_prompt_optimizer/__init__.py +0 -0
  38. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/meta_prompt_optimizer/reporting.py +0 -0
  39. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/mipro_optimizer/__init__.py +0 -0
  40. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/mipro_optimizer/_lm.py +0 -0
  41. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/mipro_optimizer/_mipro_optimizer_v2.py +0 -0
  42. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/mipro_optimizer/mipro_optimizer.py +0 -0
  43. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/mipro_optimizer/utils.py +0 -0
  44. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/optimizable_agent.py +0 -0
  45. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/optimization_config/__init__.py +0 -0
  46. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/optimization_config/chat_prompt.py +0 -0
  47. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/optimization_config/configs.py +0 -0
  48. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/optimization_config/mappers.py +0 -0
  49. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/py.typed +0 -0
  50. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/reporting_utils.py +0 -0
  51. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/task_evaluator.py +0 -0
  52. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer/utils.py +0 -0
  53. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer.egg-info/SOURCES.txt +0 -0
  54. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer.egg-info/dependency_links.txt +0 -0
  55. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer.egg-info/requires.txt +0 -0
  56. {opik_optimizer-1.0.3 → opik_optimizer-1.0.4}/src/opik_optimizer.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opik_optimizer
3
- Version: 1.0.3
3
+ Version: 1.0.4
4
4
  Summary: Agent optimization with Opik
5
5
  Home-page: https://github.com/comet-ml/opik
6
6
  Author: Comet ML
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="opik_optimizer",
5
- version="1.0.3",
5
+ version="1.0.4",
6
6
  description="Agent optimization with Opik",
7
7
  author="Comet ML",
8
8
  author_email="support@comet.com",
@@ -102,7 +102,7 @@ Return ONLY this descriptive string, with no preamble or extra formatting.
102
102
  mutation_rate: float = DEFAULT_MUTATION_RATE,
103
103
  crossover_rate: float = DEFAULT_CROSSOVER_RATE,
104
104
  tournament_size: int = DEFAULT_TOURNAMENT_SIZE,
105
- num_threads: int = DEFAULT_NUM_THREADS,
105
+ num_threads: Optional[int] = None,
106
106
  elitism_size: int = DEFAULT_ELITISM_SIZE,
107
107
  adaptive_mutation: bool = DEFAULT_ADAPTIVE_MUTATION,
108
108
  enable_moo: bool = DEFAULT_ENABLE_MOO,
@@ -111,6 +111,7 @@ Return ONLY this descriptive string, with no preamble or extra formatting.
111
111
  output_style_guidance: Optional[str] = None,
112
112
  infer_output_style: bool = False,
113
113
  verbose: int = 1,
114
+ n_threads: int = DEFAULT_NUM_THREADS,
114
115
  **model_kwargs: Any,
115
116
  ) -> None:
116
117
  """
@@ -121,7 +122,7 @@ Return ONLY this descriptive string, with no preamble or extra formatting.
121
122
  mutation_rate: Mutation rate for genetic operations
122
123
  crossover_rate: Crossover rate for genetic operations
123
124
  tournament_size: Tournament size for selection
124
- num_threads: Number of threads for parallel evaluation
125
+ n_threads: Number of threads for parallel evaluation
125
126
  elitism_size: Number of elitism prompts
126
127
  adaptive_mutation: Whether to use adaptive mutation
127
128
  enable_moo: Whether to enable multi-objective optimization - When enable optimizes for both the supplied metric and the length of the prompt
@@ -145,7 +146,10 @@ Return ONLY this descriptive string, with no preamble or extra formatting.
145
146
  self.mutation_rate = mutation_rate
146
147
  self.crossover_rate = crossover_rate
147
148
  self.tournament_size = tournament_size
148
- self.num_threads = num_threads
149
+ if num_threads is not None:
150
+ print("num_threads is deprecated; use n_threads instead")
151
+ n_threads = num_threads
152
+ self.num_threads = n_threads
149
153
  self.elitism_size = elitism_size
150
154
  self.adaptive_mutation = adaptive_mutation
151
155
  self.enable_moo = enable_moo
@@ -85,9 +85,10 @@ class MetaPromptOptimizer(BaseOptimizer):
85
85
  reasoning_model: Optional[str] = None,
86
86
  rounds: int = DEFAULT_ROUNDS,
87
87
  num_prompts_per_round: int = DEFAULT_PROMPTS_PER_ROUND,
88
- num_threads: int = 12,
88
+ num_threads: Optional[int] = None,
89
89
  verbose: int = 1,
90
90
  enable_context: bool = True,
91
+ n_threads: int = 12,
91
92
  **model_kwargs: Any,
92
93
  ) -> None:
93
94
  """
@@ -96,7 +97,7 @@ class MetaPromptOptimizer(BaseOptimizer):
96
97
  reasoning_model: The model to use for reasoning and prompt generation
97
98
  rounds: Number of optimization rounds
98
99
  num_prompts_per_round: Number of prompts to generate per round
99
- num_threads: Number of threads for parallel evaluation
100
+ n_threads: Number of threads for parallel evaluation
100
101
  verbose: Controls internal logging/progress bars (0=off, 1=on).
101
102
  enable_context: Whether to include task-specific context (metrics, examples) in the reasoning prompt.
102
103
  **model_kwargs: Additional model parameters
@@ -111,7 +112,10 @@ class MetaPromptOptimizer(BaseOptimizer):
111
112
  self.reasoning_model = reasoning_model if reasoning_model is not None else model
112
113
  self.rounds = rounds
113
114
  self.num_prompts_per_round = num_prompts_per_round
114
- self.num_threads = num_threads
115
+ if num_threads is not None:
116
+ print("num_threads is deprecated; use n_threads instead")
117
+ n_threads = num_threads
118
+ self.num_threads = n_threads
115
119
  self.dataset: Optional[Dataset] = None
116
120
  self._opik_client = opik_client.get_client_cached()
117
121
  self.llm_call_counter = 0
@@ -5,7 +5,7 @@ from typing import Any, Dict, List, Optional
5
5
  import pydantic
6
6
  import rich
7
7
 
8
- from .reporting_utils import get_console, get_link_text
8
+ from .reporting_utils import get_console, get_link_text, get_optimization_run_url_by_id
9
9
 
10
10
 
11
11
  class OptimizationResult(pydantic.BaseModel):
@@ -35,6 +35,11 @@ class OptimizationResult(pydantic.BaseModel):
35
35
 
36
36
  model_config = pydantic.ConfigDict(arbitrary_types_allowed=True)
37
37
 
38
+ def get_run_link(self) -> str:
39
+ return get_optimization_run_url_by_id(
40
+ optimization_id=self.optimization_id, dataset_id=self.dataset_id
41
+ )
42
+
38
43
  def model_dump(self, *kargs: Any, **kwargs: Any) -> Dict[str, Any]:
39
44
  return super().model_dump(*kargs, **kwargs)
40
45
 
@@ -200,3 +205,4 @@ class OptimizationResult(pydantic.BaseModel):
200
205
  """
201
206
  console = get_console()
202
207
  console.print(self)
208
+ print("Optimization run link:", self.get_run_link())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opik_optimizer
3
- Version: 1.0.3
3
+ Version: 1.0.4
4
4
  Summary: Agent optimization with Opik
5
5
  Home-page: https://github.com/comet-ml/opik
6
6
  Author: Comet ML
File without changes
File without changes
File without changes