opik-optimizer 1.0.4__tar.gz → 1.0.5__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.4/src/opik_optimizer.egg-info → opik_optimizer-1.0.5}/PKG-INFO +4 -3
  2. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/README.md +3 -2
  3. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/setup.py +1 -1
  4. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/evolutionary_optimizer/evolutionary_optimizer.py +5 -5
  5. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/utils.py +8 -1
  6. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5/src/opik_optimizer.egg-info}/PKG-INFO +4 -3
  7. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/LICENSE +0 -0
  8. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/pyproject.toml +0 -0
  9. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/setup.cfg +0 -0
  10. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/__init__.py +0 -0
  11. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/_throttle.py +0 -0
  12. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/base_optimizer.py +0 -0
  13. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/cache_config.py +0 -0
  14. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/data/hotpot-500.json +0 -0
  15. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/__init__.py +0 -0
  16. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/ai2_arc.py +0 -0
  17. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/cnn_dailymail.py +0 -0
  18. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/election_questions.py +0 -0
  19. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/gsm8k.py +0 -0
  20. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/halu_eval.py +0 -0
  21. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/hotpot_qa.py +0 -0
  22. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/medhallu.py +0 -0
  23. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/rag_hallucinations.py +0 -0
  24. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/ragbench.py +0 -0
  25. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/tiny_test.py +0 -0
  26. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/datasets/truthful_qa.py +0 -0
  27. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/demo/__init__.py +0 -0
  28. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/demo/cache.py +0 -0
  29. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/demo/datasets.py +0 -0
  30. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/evolutionary_optimizer/__init__.py +0 -0
  31. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/evolutionary_optimizer/reporting.py +0 -0
  32. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/few_shot_bayesian_optimizer/__init__.py +0 -0
  33. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/few_shot_bayesian_optimizer/few_shot_bayesian_optimizer.py +0 -0
  34. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/few_shot_bayesian_optimizer/reporting.py +0 -0
  35. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/logging_config.py +0 -0
  36. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/meta_prompt_optimizer/__init__.py +0 -0
  37. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/meta_prompt_optimizer/meta_prompt_optimizer.py +0 -0
  38. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/meta_prompt_optimizer/reporting.py +0 -0
  39. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/mipro_optimizer/__init__.py +0 -0
  40. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/mipro_optimizer/_lm.py +0 -0
  41. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/mipro_optimizer/_mipro_optimizer_v2.py +0 -0
  42. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/mipro_optimizer/mipro_optimizer.py +0 -0
  43. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/mipro_optimizer/utils.py +0 -0
  44. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/optimizable_agent.py +0 -0
  45. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/optimization_config/__init__.py +0 -0
  46. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/optimization_config/chat_prompt.py +0 -0
  47. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/optimization_config/configs.py +0 -0
  48. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/optimization_config/mappers.py +0 -0
  49. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/optimization_result.py +0 -0
  50. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/py.typed +0 -0
  51. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/reporting_utils.py +0 -0
  52. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer/task_evaluator.py +0 -0
  53. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer.egg-info/SOURCES.txt +0 -0
  54. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer.egg-info/dependency_links.txt +0 -0
  55. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/src/opik_optimizer.egg-info/requires.txt +0 -0
  56. {opik_optimizer-1.0.4 → opik_optimizer-1.0.5}/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.4
3
+ Version: 1.0.5
4
4
  Summary: Agent optimization with Opik
5
5
  Home-page: https://github.com/comet-ml/opik
6
6
  Author: Comet ML
@@ -119,19 +119,20 @@ from opik_optimizer.datasets import hotpot_300
119
119
  # Load a sample dataset
120
120
  hot_pot_dataset = hotpot_300()
121
121
 
122
+ project_name = "optimize-few-shot-bayesian-hotpot" # For Comet logging
123
+
122
124
  # Define the instruction for your chat prompt.
123
125
  # Input parameters from dataset examples will be interpolated into the full prompt.
124
126
  prompt = ChatPrompt(
127
+ project_name=project_name,
125
128
  messages=[
126
129
  {"role": "system", "content": "You are a helpful assistant."},
127
130
  {"role": "user", "content": "{question}"}
128
131
  ]
129
132
  )
130
- project_name = "optimize-few-shot-bayesian-hotpot" # For Comet logging
131
133
 
132
134
  optimizer = FewShotBayesianOptimizer(
133
135
  model="gpt-4o-mini", # LiteLLM name to use for generation and optimization
134
- project_name=project_name, # Associates the run with a Comet project
135
136
  min_examples=3, # Min few-shot examples
136
137
  max_examples=8, # Max few-shot examples
137
138
  n_threads=16, # Parallel threads for evaluation
@@ -79,19 +79,20 @@ from opik_optimizer.datasets import hotpot_300
79
79
  # Load a sample dataset
80
80
  hot_pot_dataset = hotpot_300()
81
81
 
82
+ project_name = "optimize-few-shot-bayesian-hotpot" # For Comet logging
83
+
82
84
  # Define the instruction for your chat prompt.
83
85
  # Input parameters from dataset examples will be interpolated into the full prompt.
84
86
  prompt = ChatPrompt(
87
+ project_name=project_name,
85
88
  messages=[
86
89
  {"role": "system", "content": "You are a helpful assistant."},
87
90
  {"role": "user", "content": "{question}"}
88
91
  ]
89
92
  )
90
- project_name = "optimize-few-shot-bayesian-hotpot" # For Comet logging
91
93
 
92
94
  optimizer = FewShotBayesianOptimizer(
93
95
  model="gpt-4o-mini", # LiteLLM name to use for generation and optimization
94
- project_name=project_name, # Associates the run with a Comet project
95
96
  min_examples=3, # Min few-shot examples
96
97
  max_examples=8, # Max few-shot examples
97
98
  n_threads=16, # Parallel threads for evaluation
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="opik_optimizer",
5
- version="1.0.4",
5
+ version="1.0.5",
6
6
  description="Agent optimization with Opik",
7
7
  author="Comet ML",
8
8
  author_email="support@comet.com",
@@ -1533,26 +1533,26 @@ Return only the new prompt list object.
1533
1533
  """
1534
1534
  total_items = len(dataset.get_items())
1535
1535
 
1536
+ new_prompt = prompt.copy()
1537
+ new_prompt.set_messages(messages)
1538
+
1536
1539
  experiment_config = experiment_config or {}
1537
1540
  experiment_config["project_name"] = self.agent_class.project_name
1538
1541
  experiment_config = {
1539
1542
  **experiment_config,
1540
1543
  "optimizer": self.__class__.__name__,
1541
1544
  "agent_class": self.agent_class.__name__,
1542
- "agent_config": prompt.to_dict(),
1545
+ "agent_config": new_prompt.to_dict(),
1543
1546
  "metric": metric.__name__,
1544
1547
  "dataset": dataset.name,
1545
1548
  "configuration": {
1546
- "prompt": prompt.get_messages(),
1549
+ "prompt": new_prompt.get_messages(),
1547
1550
  "n_samples_for_eval": (
1548
1551
  len(dataset_item_ids) if dataset_item_ids is not None else n_samples
1549
1552
  ),
1550
1553
  "total_dataset_items": total_items,
1551
1554
  },
1552
1555
  }
1553
-
1554
- new_prompt = prompt.copy()
1555
- new_prompt.set_messages(messages)
1556
1556
  try:
1557
1557
  agent = self.agent_class(new_prompt)
1558
1558
  except Exception:
@@ -257,7 +257,14 @@ def ensure_ending_slash(url: str) -> str:
257
257
  return url.rstrip("/") + "/"
258
258
 
259
259
 
260
- def get_optimization_run_url_by_id(dataset_id: str, optimization_id: str) -> str:
260
+ def get_optimization_run_url_by_id(
261
+ dataset_id: Optional[str], optimization_id: Optional[str]
262
+ ) -> str:
263
+ if dataset_id is None or optimization_id is None:
264
+ raise ValueError(
265
+ "Cannot create a new run link without a dataset_id and optimization_id."
266
+ )
267
+
261
268
  opik_config = opik.config.get_from_user_inputs()
262
269
  url_override = opik_config.url_override
263
270
  encoded_opik_url = base64.b64encode(url_override.encode("utf-8")).decode("utf-8")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opik_optimizer
3
- Version: 1.0.4
3
+ Version: 1.0.5
4
4
  Summary: Agent optimization with Opik
5
5
  Home-page: https://github.com/comet-ml/opik
6
6
  Author: Comet ML
@@ -119,19 +119,20 @@ from opik_optimizer.datasets import hotpot_300
119
119
  # Load a sample dataset
120
120
  hot_pot_dataset = hotpot_300()
121
121
 
122
+ project_name = "optimize-few-shot-bayesian-hotpot" # For Comet logging
123
+
122
124
  # Define the instruction for your chat prompt.
123
125
  # Input parameters from dataset examples will be interpolated into the full prompt.
124
126
  prompt = ChatPrompt(
127
+ project_name=project_name,
125
128
  messages=[
126
129
  {"role": "system", "content": "You are a helpful assistant."},
127
130
  {"role": "user", "content": "{question}"}
128
131
  ]
129
132
  )
130
- project_name = "optimize-few-shot-bayesian-hotpot" # For Comet logging
131
133
 
132
134
  optimizer = FewShotBayesianOptimizer(
133
135
  model="gpt-4o-mini", # LiteLLM name to use for generation and optimization
134
- project_name=project_name, # Associates the run with a Comet project
135
136
  min_examples=3, # Min few-shot examples
136
137
  max_examples=8, # Max few-shot examples
137
138
  n_threads=16, # Parallel threads for evaluation
File without changes
File without changes