AQIT 0.1.0
Loading...
Searching...
No Matches
inspect.py
Go to the documentation of this file.
1# Copyright (c) 2025-present Aquin Labs Private Limited. All Rights Reserved.
2# This file is part of the Aquin Engine. Unauthorized copying, modification,
3# distribution, or use of this file, via any medium, is strictly prohibited.
4# Proprietary and confidential. See LICENSE for terms.
5
6"""Inspect — diffs, traces, layer/attention/weight checks."""
7
8from __future__ import annotations
9
10from pathlib import Path
11from typing import Any
12
13from aquin.sdk._runtime import invoke, invoke_direct, prepare_compute
14
15
16def diff_weight(**kwargs: Any) -> dict[str, Any]:
17 return invoke("run_merge_analysis", kwargs, command="diff weight")
18
19
21 *,
22 checkpoint: str | Path,
23 prompts: Any = None,
24 model_id: str | None = None,
25 layer: int | None = None,
26 sae_path: str | Path | None = None,
27 name: str | None = None,
28 **kwargs: Any,
29) -> dict[str, Any]:
30 """Compare SAE feature means: base vs checkpoint."""
31 from aquin.compute.model_loader import get_active_model_id, resolve_model_id
32 from aquin.compute.sae_diff import load_prompts, run_sae_diff
33
34 mid = resolve_model_id(model_id or get_active_model_id() or "")
35 prepare_compute(model_id=mid)
36
37 if prompts is None:
38 raise ValueError("prompts= is required (list[str] or path).")
39 if isinstance(prompts, (str, Path)):
40 prompt_list = load_prompts(str(prompts))
41 else:
42 prompt_list = [str(p) for p in prompts]
43
44 return invoke_direct(
45 run_sae_diff,
46 mid,
47 prompt_list,
48 command="diff sae",
49 tool_name="run_sae_diff",
50 target_checkpoint=str(checkpoint),
51 checkpoint_name=name or Path(str(checkpoint)).stem,
52 layer=layer,
53 sae_path=sae_path,
54 **kwargs,
55 )
56
57
58def diff_residue(**kwargs: Any) -> dict[str, Any]:
59 return invoke("run_residual_drift", kwargs, command="diff residue")
60
61
62def trajectory(**kwargs: Any) -> dict[str, Any]:
63 return invoke("run_trajectory_analysis", kwargs, command="check trajectory")
64
65
66def attention(**kwargs: Any) -> dict[str, Any]:
67 return invoke("run_attention_routing", kwargs, command="check attention")
68
69
70def layer(**kwargs: Any) -> dict[str, Any]:
71 return invoke("run_layer_analysis", kwargs, command="check layer")
72
73
74def perturbation(**kwargs: Any) -> dict[str, Any]:
75 return invoke("run_perturbation_sensitivity", kwargs, command="check perturbation")
76
77
78def weight(**kwargs: Any) -> dict[str, Any]:
79 return invoke("check_weights", kwargs, command="check weight")
80
81
82def trace(**kwargs: Any) -> dict[str, Any]:
83 return invoke("run_full_inspection", kwargs, command="trace")
84
85
86def benchmark(**kwargs: Any) -> dict[str, Any]:
87 return invoke("run_benchmarks_on_top_feature", kwargs, command="benchmark")
88
89
90def umap(**kwargs: Any) -> dict[str, Any]:
91 return invoke("ensure_umap_loaded", kwargs, command="umap")
dict[str, Any] weight(**Any kwargs)
Definition inspect.py:82
dict[str, Any] diff_weight(**Any kwargs)
Definition inspect.py:20
dict[str, Any] diff_sae(*, str|Path checkpoint, Any prompts=None, str|None model_id=None, int|None layer=None, str|Path|None sae_path=None, str|None name=None, **Any kwargs)
Definition inspect.py:33
dict[str, Any] attention(**Any kwargs)
Definition inspect.py:70
dict[str, Any] trajectory(**Any kwargs)
Definition inspect.py:66
dict[str, Any] diff_residue(**Any kwargs)
Definition inspect.py:62
dict[str, Any] benchmark(**Any kwargs)
Definition inspect.py:90
dict[str, Any] layer(**Any kwargs)
Definition inspect.py:74
dict[str, Any] umap(**Any kwargs)
Definition inspect.py:94
dict[str, Any] perturbation(**Any kwargs)
Definition inspect.py:78
dict[str, Any] trace(**Any kwargs)
Definition inspect.py:86