weco 0.2.10__tar.gz → 0.2.12__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.
- {weco-0.2.10 → weco-0.2.12}/.github/workflows/release.yml +2 -2
- {weco-0.2.10 → weco-0.2.12}/PKG-INFO +1 -1
- {weco-0.2.10 → weco-0.2.12}/pyproject.toml +1 -1
- {weco-0.2.10 → weco-0.2.12}/weco/__init__.py +1 -1
- {weco-0.2.10 → weco-0.2.12}/weco/cli.py +11 -14
- {weco-0.2.10 → weco-0.2.12}/weco.egg-info/PKG-INFO +1 -1
- {weco-0.2.10 → weco-0.2.12}/.github/workflows/lint.yml +0 -0
- {weco-0.2.10 → weco-0.2.12}/.gitignore +0 -0
- {weco-0.2.10 → weco-0.2.12}/LICENSE +0 -0
- {weco-0.2.10 → weco-0.2.12}/README.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/cuda/README.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/cuda/evaluate.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/cuda/guide.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/cuda/optimize.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/hello-kernel-world/evaluate.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/hello-kernel-world/optimize.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/metal/README.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/metal/evaluate.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/metal/examples.rst +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/metal/optimize.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/prompt/README.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/prompt/eval.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/prompt/optimize.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/prompt/prompt_guide.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/spaceship-titanic/README.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/spaceship-titanic/baseline.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/spaceship-titanic/evaluate.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/spaceship-titanic/optimize.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/spaceship-titanic/requirements-test.txt +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/spaceship-titanic/utils.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/triton/README.md +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/triton/evaluate.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/examples/triton/optimize.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/setup.cfg +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco/api.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco/panels.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco/utils.py +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco.egg-info/SOURCES.txt +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco.egg-info/dependency_links.txt +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco.egg-info/entry_points.txt +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco.egg-info/requires.txt +0 -0
- {weco-0.2.10 → weco-0.2.12}/weco.egg-info/top_level.txt +0 -0
|
@@ -90,7 +90,7 @@ jobs:
|
|
|
90
90
|
GITHUB_TOKEN: ${{ github.token }}
|
|
91
91
|
run: >-
|
|
92
92
|
gh release create
|
|
93
|
-
'v0.2.
|
|
93
|
+
'v0.2.12'
|
|
94
94
|
--repo '${{ github.repository }}'
|
|
95
95
|
--notes ""
|
|
96
96
|
|
|
@@ -102,5 +102,5 @@ jobs:
|
|
|
102
102
|
# sigstore-produced signatures and certificates.
|
|
103
103
|
run: >-
|
|
104
104
|
gh release upload
|
|
105
|
-
'v0.2.
|
|
105
|
+
'v0.2.12' dist/**
|
|
106
106
|
--repo '${{ github.repository }}'
|
|
@@ -10,7 +10,7 @@ authors = [
|
|
|
10
10
|
]
|
|
11
11
|
description = "Documentation for `weco`, a CLI for using Weco AI's code optimizer."
|
|
12
12
|
readme = "README.md"
|
|
13
|
-
version = "0.2.
|
|
13
|
+
version = "0.2.12"
|
|
14
14
|
license = {text = "MIT"}
|
|
15
15
|
requires-python = ">=3.8"
|
|
16
16
|
dependencies = ["requests", "rich"]
|
|
@@ -198,16 +198,12 @@ def main() -> None:
|
|
|
198
198
|
)
|
|
199
199
|
|
|
200
200
|
for step in range(1, steps):
|
|
201
|
-
# Re-read instructions from the original source (file path or string) BEFORE each suggest call
|
|
202
|
-
current_additional_instructions = read_additional_instructions(
|
|
203
|
-
additional_instructions=args.additional_instructions
|
|
204
|
-
)
|
|
205
201
|
# Evaluate the current output and get the next solution
|
|
206
202
|
eval_and_next_solution_response = evaluate_feedback_then_suggest_next_solution(
|
|
207
203
|
console=console,
|
|
208
204
|
session_id=session_id,
|
|
209
205
|
execution_output=term_out,
|
|
210
|
-
additional_instructions=
|
|
206
|
+
additional_instructions=None,
|
|
211
207
|
api_keys=api_keys,
|
|
212
208
|
timeout=timeout,
|
|
213
209
|
)
|
|
@@ -295,16 +291,12 @@ def main() -> None:
|
|
|
295
291
|
transition_delay=0.1, # Slightly longer delay for evaluation results
|
|
296
292
|
)
|
|
297
293
|
|
|
298
|
-
# Re-read instructions before the final feedback step
|
|
299
|
-
current_additional_instructions = read_additional_instructions(
|
|
300
|
-
additional_instructions=args.additional_instructions
|
|
301
|
-
)
|
|
302
294
|
# Ensure we pass evaluation results for the last step's generated solution
|
|
303
295
|
eval_and_next_solution_response = evaluate_feedback_then_suggest_next_solution(
|
|
304
296
|
console=console,
|
|
305
297
|
session_id=session_id,
|
|
306
298
|
execution_output=term_out,
|
|
307
|
-
additional_instructions=
|
|
299
|
+
additional_instructions=None,
|
|
308
300
|
api_keys=api_keys,
|
|
309
301
|
timeout=timeout,
|
|
310
302
|
)
|
|
@@ -342,8 +334,8 @@ def main() -> None:
|
|
|
342
334
|
# Update the end optimization layout
|
|
343
335
|
final_message = (
|
|
344
336
|
f"{summary_panel.metric_name.capitalize()} {'maximized' if summary_panel.maximize else 'minimized'}! Best solution {summary_panel.metric_name.lower()} = [green]{status_response['best_result']['metric_value']}[/] 🏆"
|
|
345
|
-
if best_solution_node is not None
|
|
346
|
-
else "[red] No solution found.[/]"
|
|
337
|
+
if best_solution_node is not None and best_solution_node.metric is not None
|
|
338
|
+
else "[red] No valid solution found.[/]"
|
|
347
339
|
)
|
|
348
340
|
end_optimization_layout["summary"].update(summary_panel.get_display(final_message=final_message))
|
|
349
341
|
end_optimization_layout["tree"].update(tree_panel.get_display())
|
|
@@ -352,8 +344,13 @@ def main() -> None:
|
|
|
352
344
|
# Save optimization results
|
|
353
345
|
# If the best solution does not exist or is has not been measured at the end of the optimization
|
|
354
346
|
# save the original solution as the best solution
|
|
355
|
-
|
|
356
|
-
|
|
347
|
+
if best_solution_node is not None:
|
|
348
|
+
best_solution_code = best_solution_node.code
|
|
349
|
+
best_solution_score = best_solution_node.metric
|
|
350
|
+
else:
|
|
351
|
+
best_solution_code = None
|
|
352
|
+
best_solution_score = None
|
|
353
|
+
|
|
357
354
|
if best_solution_code is None or best_solution_score is None:
|
|
358
355
|
best_solution_content = (
|
|
359
356
|
f"# Weco could not find a better solution\n\n{read_from_path(fp=runs_copy_source_fp, is_json=False)}"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|