opik-optimizer 2.1.0__py3-none-any.whl → 2.1.2__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_optimizer/__init__.py +2 -0
- opik_optimizer/base_optimizer.py +2 -0
- opik_optimizer/gepa_optimizer/gepa_optimizer.py +3 -3
- opik_optimizer/hierarchical_reflective_optimizer/__init__.py +5 -0
- opik_optimizer/hierarchical_reflective_optimizer/hierarchical_reflective_optimizer.py +718 -0
- opik_optimizer/hierarchical_reflective_optimizer/hierarchical_root_cause_analyzer.py +355 -0
- opik_optimizer/hierarchical_reflective_optimizer/prompts.py +91 -0
- opik_optimizer/hierarchical_reflective_optimizer/reporting.py +679 -0
- opik_optimizer/hierarchical_reflective_optimizer/types.py +49 -0
- {opik_optimizer-2.1.0.dist-info → opik_optimizer-2.1.2.dist-info}/METADATA +2 -2
- {opik_optimizer-2.1.0.dist-info → opik_optimizer-2.1.2.dist-info}/RECORD +14 -8
- {opik_optimizer-2.1.0.dist-info → opik_optimizer-2.1.2.dist-info}/WHEEL +0 -0
- {opik_optimizer-2.1.0.dist-info → opik_optimizer-2.1.2.dist-info}/licenses/LICENSE +0 -0
- {opik_optimizer-2.1.0.dist-info → opik_optimizer-2.1.2.dist-info}/top_level.txt +0 -0
opik_optimizer/__init__.py
CHANGED
@@ -16,6 +16,7 @@ from .gepa_optimizer import GepaOptimizer
|
|
16
16
|
from .logging_config import setup_logging
|
17
17
|
from .meta_prompt_optimizer import MetaPromptOptimizer
|
18
18
|
from .mipro_optimizer import MiproOptimizer
|
19
|
+
from .hierarchical_reflective_optimizer import HierarchicalReflectiveOptimizer
|
19
20
|
from .optimization_config.configs import TaskConfig
|
20
21
|
from .optimization_result import OptimizationResult
|
21
22
|
from .parameter_optimizer import (
|
@@ -40,6 +41,7 @@ __all__ = [
|
|
40
41
|
"MetaPromptOptimizer",
|
41
42
|
"MiproOptimizer",
|
42
43
|
"EvolutionaryOptimizer",
|
44
|
+
"HierarchicalReflectiveOptimizer",
|
43
45
|
"ParameterOptimizer",
|
44
46
|
"OptimizationResult",
|
45
47
|
"OptimizableAgent",
|
opik_optimizer/base_optimizer.py
CHANGED
@@ -280,6 +280,7 @@ class BaseOptimizer(ABC):
|
|
280
280
|
agent_config["project_name"] = getattr(prompt, "project_name", None)
|
281
281
|
agent_config["model"] = getattr(prompt, "model", None) or self.model
|
282
282
|
agent_config["tools"] = self._serialize_tools(prompt)
|
283
|
+
agent_config["optimizer"] = self.__class__.__name__
|
283
284
|
return self._drop_none(agent_config)
|
284
285
|
|
285
286
|
def get_optimizer_metadata(self) -> dict[str, Any]:
|
@@ -341,6 +342,7 @@ class BaseOptimizer(ABC):
|
|
341
342
|
"metric": getattr(metric, "__name__", str(metric)),
|
342
343
|
"dataset": getattr(dataset, "name", None),
|
343
344
|
"dataset_id": dataset_id,
|
345
|
+
"optimizer": self.__class__.__name__,
|
344
346
|
"optimizer_metadata": self._build_optimizer_metadata(),
|
345
347
|
"tool_signatures": self._summarize_tool_signatures(prompt),
|
346
348
|
"configuration": {
|
@@ -253,7 +253,7 @@ class GepaOptimizer(BaseOptimizer):
|
|
253
253
|
opt_id = None
|
254
254
|
|
255
255
|
gepa_reporting.display_header(
|
256
|
-
algorithm=
|
256
|
+
algorithm=self.__class__.__name__,
|
257
257
|
optimization_id=opt_id,
|
258
258
|
dataset_id=getattr(dataset, "id", None),
|
259
259
|
verbose=self.verbose,
|
@@ -264,7 +264,7 @@ class GepaOptimizer(BaseOptimizer):
|
|
264
264
|
_display_config(
|
265
265
|
messages=prompt.get_messages(),
|
266
266
|
optimizer_config={
|
267
|
-
"optimizer":
|
267
|
+
"optimizer": self.__class__.__name__,
|
268
268
|
"model": self.model,
|
269
269
|
"reflection_model": self.reflection_model,
|
270
270
|
"max_metric_calls": max_metric_calls,
|
@@ -422,7 +422,7 @@ class GepaOptimizer(BaseOptimizer):
|
|
422
422
|
"system_prompt": candidate_prompt,
|
423
423
|
"gepa_score": val_scores[idx] if idx < len(val_scores) else None,
|
424
424
|
"opik_score": score,
|
425
|
-
"source":
|
425
|
+
"source": self.__class__.__name__,
|
426
426
|
}
|
427
427
|
)
|
428
428
|
history.append(
|