AQIT
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cli.py
Go to the documentation of this file.
1
# Copyright (c) 2025-present Aquin Labs Private Limited
2
# SPDX-License-Identifier: Apache-2.0
3
4
"""AQIT CLI: Recipe, train, EvalGate, inspect, SAE, patch."""
5
6
from
__future__
import
annotations
7
8
import
sys
9
10
# Everything shipped in this tree is AQIT (Aquin framework is from-scratch later).
11
AQIT_VERBS = frozenset({
12
"train"
,
13
"load"
,
14
"unload"
,
15
"prompt"
,
16
"prompting"
,
17
"trace"
,
18
"inspect"
,
19
"feature"
,
20
"feature-logits"
,
21
"feature-neighbors"
,
22
"extract-steer-vector"
,
23
"diff"
,
24
"sae"
,
25
"capture-activations"
,
26
"sweep"
,
27
"activations"
,
28
"find-feature"
,
29
"sae-stats"
,
30
"confidence-analysis"
,
31
"check"
,
32
"eval"
,
33
"check-weights"
,
34
"umap"
,
35
"audit"
,
36
"consistency-eval"
,
37
"suppression-eval"
,
38
"suppress-eval"
,
39
"boundary-eval"
,
40
"attention"
,
41
"features"
,
42
"attribution"
,
43
"perturbation"
,
44
"contrastive"
,
45
"browser"
,
46
"graph"
,
47
"circuit"
,
48
"absorption"
,
49
"polysemy"
,
50
"faithfulness"
,
51
"replay"
,
52
"list"
,
53
"info"
,
54
"red-team"
,
55
"steer"
,
56
"multi-steer"
,
57
"simulate"
,
58
"benchmark"
,
59
"benchmarks"
,
60
})
61
62
63
def
_print_help
() -> None:
64
print(
"AQIT Aquin Interp Tooling"
)
65
print(
"Recipe, train, EvalGate, inspect, SAE, patch. (Aquin framework is separate.)"
)
66
print(
""
)
67
print(
"Usage: aqit <command> ..."
)
68
print(
""
)
69
print(
" train <recipe.yaml> DataRevision → train → Checkpoint → EvalGate"
)
70
print(
" load model <id> / unload / prompt"
)
71
print(
" eval custom|consistency|suppress|boundary"
)
72
print(
" check attention|layer|perturbation|weight|confidence|trajectory"
)
73
print(
" diff weight|sae|residue"
)
74
print(
" trace / benchmark / --umap"
)
75
print(
" sae train|align info sae / load sae"
)
76
print(
" feature locate|logit|neighbor"
)
77
print(
" steer / sweep / multi-steer"
)
78
print(
" activations capture|replay features compare"
)
79
print(
" simulate / list simulation / replay simulation / compare simulation"
)
80
print(
""
)
81
print(
"SDK: import aqit"
)
82
print(
" aqit.train.run(\"recipe.yaml\")"
)
83
print(
" aqit.inspect.trace(...)"
)
84
print(
" aqit.patch.steer(...)"
)
85
86
87
def
dispatch
(argv: list[str]) ->
None
:
88
"""Run one AQIT command (argv includes the verb)."""
89
if
not
argv
or
argv[0]
in
(
"-h"
,
"--help"
,
"help"
):
90
_print_help
()
91
return
92
93
cmd = argv[0]
94
rest = argv[1:]
95
96
from
aquin
import
cli
as
aquin_cli
97
98
if
cmd ==
"train"
:
99
from
aquin.train_cli
import
cmd_train
100
101
cmd_train(rest)
102
elif
cmd ==
"load"
:
103
aquin_cli.cmd_load(rest)
104
elif
cmd ==
"unload"
:
105
aquin_cli.cmd_unload(rest)
106
elif
cmd
in
(
"prompt"
,
"prompting"
):
107
aquin_cli.cmd_prompt(rest)
108
elif
cmd ==
"trace"
:
109
aquin_cli.cmd_trace(rest)
110
elif
cmd ==
"inspect"
:
111
print(
"Use: aqit trace"
, file=sys.stderr)
112
sys.exit(1)
113
elif
cmd ==
"feature"
:
114
from
aquin.feature_cli
import
cmd_feature
115
116
cmd_feature(rest)
117
elif
cmd ==
"feature-logits"
:
118
print(
"Use: aqit feature logit"
, file=sys.stderr)
119
sys.exit(1)
120
elif
cmd ==
"feature-neighbors"
:
121
print(
"Use: aqit feature neighbor"
, file=sys.stderr)
122
sys.exit(1)
123
elif
cmd ==
"extract-steer-vector"
:
124
print(
"Use: aqit steer --feature_idx <n> --save <path>"
, file=sys.stderr)
125
sys.exit(1)
126
elif
cmd ==
"replay"
:
127
from
aquin.replay_cli
import
cmd_replay
128
129
cmd_replay(rest)
130
elif
cmd ==
"list"
:
131
aquin_cli.cmd_list(rest)
132
elif
cmd ==
"info"
:
133
aquin_cli.cmd_info(rest)
134
elif
cmd ==
"diff"
:
135
from
aquin.diff_cli
import
cmd_diff
136
137
cmd_diff(rest)
138
elif
cmd ==
"sae"
:
139
from
aquin.sae_cli
import
cmd_sae
140
141
cmd_sae(rest)
142
elif
cmd ==
"capture-activations"
:
143
from
aquin.capture_cli
import
cmd_capture_activations
144
145
cmd_capture_activations(rest)
146
elif
cmd ==
"sweep"
:
147
from
aquin.sweep_cli
import
cmd_sweep
148
149
cmd_sweep(rest)
150
elif
cmd ==
"activations"
:
151
from
aquin.activations_cli
import
cmd_activations
152
153
cmd_activations(rest)
154
elif
cmd ==
"find-feature"
:
155
print(
"Use: aqit feature locate"
, file=sys.stderr)
156
sys.exit(1)
157
elif
cmd ==
"sae-stats"
:
158
from
aquin.sae_stats_cli
import
cmd_sae_stats
159
160
cmd_sae_stats(rest)
161
elif
cmd ==
"confidence-analysis"
:
162
print(
"Use: aqit check confidence"
, file=sys.stderr)
163
sys.exit(1)
164
elif
cmd ==
"check"
:
165
from
aquin.check_cli
import
cmd_check
166
167
cmd_check(rest)
168
elif
cmd ==
"eval"
:
169
from
aquin.eval_cli
import
cmd_eval
170
171
cmd_eval(rest)
172
elif
cmd ==
"check-weights"
:
173
print(
"Use: aqit check weight"
, file=sys.stderr)
174
sys.exit(1)
175
elif
cmd ==
"umap"
:
176
print(
"Use: aqit <cmd> --umap (e.g. aqit feature locate --umap)"
, file=sys.stderr)
177
sys.exit(1)
178
elif
cmd ==
"audit"
:
179
print(
"Use: aqit eval consistency | suppress | boundary"
, file=sys.stderr)
180
sys.exit(1)
181
elif
cmd ==
"consistency-eval"
:
182
print(
"Use: aqit eval consistency"
, file=sys.stderr)
183
sys.exit(1)
184
elif
cmd
in
(
"suppression-eval"
,
"suppress-eval"
):
185
print(
"Use: aqit eval suppress"
, file=sys.stderr)
186
sys.exit(1)
187
elif
cmd ==
"boundary-eval"
:
188
print(
"Use: aqit eval boundary"
, file=sys.stderr)
189
sys.exit(1)
190
elif
cmd ==
"attention"
:
191
print(
"Use: aqit check attention"
, file=sys.stderr)
192
sys.exit(1)
193
elif
cmd ==
"features"
:
194
from
aquin.features_cli
import
cmd_features
195
196
cmd_features(rest)
197
elif
cmd
in
(
198
"attribution"
,
199
"perturbation"
,
200
"contrastive"
,
201
"browser"
,
202
"graph"
,
203
"circuit"
,
204
"absorption"
,
205
"polysemy"
,
206
"faithfulness"
,
207
):
208
print(f
"Use: aqit check {cmd}"
, file=sys.stderr)
209
sys.exit(1)
210
elif
cmd
in
aquin_cli._active_cli_tool_map():
211
aquin_cli.cmd_tool(cmd, rest)
212
else
:
213
print(f
"Unknown AQIT command: {cmd}"
)
214
print(
"Run aqit help"
)
215
sys.exit(1)
216
217
218
def
is_aqit_verb
(cmd: str) -> bool:
219
if
cmd
in
AQIT_VERBS:
220
return
True
221
from
aquin.cli
import
_active_cli_tool_map
222
223
return
cmd
in
_active_cli_tool_map()
224
225
226
def
main
() -> None:
227
dispatch
(sys.argv[1:])
aqit.cli.main
None main()
Definition
cli.py:230
aqit.cli._print_help
None _print_help()
Definition
cli.py:67
aqit.cli.dispatch
None dispatch(list[str] argv)
Definition
cli.py:91
aqit.cli.is_aqit_verb
bool is_aqit_verb(str cmd)
Definition
cli.py:222
aquin.activations_cli
Definition
activations_cli.py:1
aquin.capture_cli
Definition
capture_cli.py:1
aquin.check_cli
Definition
check_cli.py:1
aquin.cli
Definition
cli.py:1
aquin.diff_cli
Definition
diff_cli.py:1
aquin.eval_cli
Definition
eval_cli.py:1
aquin.feature_cli
Definition
feature_cli.py:1
aquin.features_cli
Definition
features_cli.py:1
aquin.replay_cli
Definition
replay_cli.py:1
aquin.sae_cli
Definition
sae_cli.py:1
aquin.sae_stats_cli
Definition
sae_stats_cli.py:1
aquin.sweep_cli
Definition
sweep_cli.py:1
aquin.train_cli
Definition
train_cli.py:1
aqit
cli.py
AQIT · Aquin Labs Private Limited · Apache 2.0 · Generated by
1.18.0