fusionkit 0.2.0__tar.gz → 0.3.0__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.
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fusionkit
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Command line interface for fusionkit: local response-level model fusion.
5
- Requires-Dist: fusionkit-core==0.2.0
6
- Requires-Dist: fusionkit-evals==0.2.0
7
- Requires-Dist: fusionkit-mlx==0.2.0
8
- Requires-Dist: fusionkit-server==0.2.0
5
+ Requires-Dist: fusionkit-core==0.3.0
6
+ Requires-Dist: fusionkit-evals==0.3.0
7
+ Requires-Dist: fusionkit-mlx==0.3.0
8
+ Requires-Dist: fusionkit-server==0.3.0
9
9
  Requires-Dist: typer>=0.20.0
10
10
  Requires-Python: >=3.11
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "fusionkit"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  description = "Command line interface for fusionkit: local response-level model fusion."
5
5
  requires-python = ">=3.11"
6
6
  dependencies = [
7
- "fusionkit-core==0.2.0",
8
- "fusionkit-evals==0.2.0",
9
- "fusionkit-mlx==0.2.0",
10
- "fusionkit-server==0.2.0",
7
+ "fusionkit-core==0.3.0",
8
+ "fusionkit-evals==0.3.0",
9
+ "fusionkit-mlx==0.3.0",
10
+ "fusionkit-server==0.3.0",
11
11
  "typer>=0.20.0",
12
12
  ]
13
13
 
@@ -11,6 +11,7 @@ import uvicorn
11
11
  from fusionkit_core.clients import build_clients
12
12
  from fusionkit_core.config import FusionMode, load_config
13
13
  from fusionkit_core.fusion import FusionEngine
14
+ from fusionkit_core.prompts import SYSTEM_PROMPT_DEFAULTS
14
15
  from fusionkit_evals.benchmark import BenchmarkRunner, load_jsonl_samples, write_jsonl_results
15
16
  from fusionkit_evals.fusion_bench import (
16
17
  CommandHandoffKitExecutor,
@@ -19,8 +20,10 @@ from fusionkit_evals.fusion_bench import (
19
20
  build_fusion_bench_report,
20
21
  load_benchmark_tasks,
21
22
  load_fusion_bench_jsonl,
22
- write_fusion_bench_html_report,
23
23
  write_fusion_bench_jsonl,
24
+ )
25
+ from fusionkit_evals.fusion_reports import (
26
+ write_fusion_bench_html_report,
24
27
  write_fusion_bench_markdown_report,
25
28
  write_fusion_bench_report_jsonl,
26
29
  )
@@ -36,6 +39,32 @@ from fusionkit_server.openai_endpoint import build_endpoint, serve_single_endpoi
36
39
 
37
40
  app = typer.Typer(help="Local model fusion toolkit.")
38
41
 
42
+ prompts_app = typer.Typer(help="Inspect and export the built-in fusion prompts.")
43
+ app.add_typer(prompts_app, name="prompts")
44
+
45
+
46
+ @prompts_app.command("dump")
47
+ def prompts_dump(
48
+ dir: Annotated[
49
+ Path | None,
50
+ typer.Option("--dir", help="write each default prompt to <dir>/<id>.md instead of stdout"),
51
+ ] = None,
52
+ ) -> None:
53
+ """Emit the built-in system prompts so a consumer can scaffold editable overrides.
54
+
55
+ With no options this prints a JSON object mapping each prompt id (e.g.
56
+ ``judge``, ``trajectory-step``) to its default text. With ``--dir`` it writes
57
+ one ``<id>.md`` file per prompt. This keeps the CLI's scaffolded
58
+ ``.fusionkit/prompts`` defaults in lockstep with this package's source.
59
+ """
60
+ if dir is not None:
61
+ dir.mkdir(parents=True, exist_ok=True)
62
+ for prompt_id, text in SYSTEM_PROMPT_DEFAULTS.items():
63
+ (dir / f"{prompt_id}.md").write_text(text + "\n")
64
+ typer.echo(json.dumps({"dir": str(dir), "count": len(SYSTEM_PROMPT_DEFAULTS)}))
65
+ return
66
+ typer.echo(json.dumps(SYSTEM_PROMPT_DEFAULTS, indent=2))
67
+
39
68
 
40
69
  @app.command()
41
70
  def serve(
@@ -75,8 +104,8 @@ def serve_endpoint(
75
104
  serve_single_endpoint(endpoint, host=host, port=port)
76
105
 
77
106
 
78
- @app.command()
79
- def eval(
107
+ @app.command("eval")
108
+ def run_eval(
80
109
  config: Annotated[Path, typer.Option("--config", "-c")],
81
110
  samples: Annotated[Path, typer.Option("--samples", "-s")],
82
111
  output: Annotated[Path, typer.Option("--output", "-o")],