Skip to content

Commit cf4d457

Browse files
committed
Add commands
1 parent 8e04653 commit cf4d457

7 files changed

Lines changed: 449 additions & 4 deletions

File tree

‎assets/commands/hf2gguf.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The GGUF is unquantized bf16. Quantize it (llama.cpp's quantizer) before **gguf2
5555

5656
# SEE ALSO
5757

58-
[gguf2jns](/man/gguf2jns)(1), [hf2jns_mtp](/man/hf2jns_mtp)(1), [janas-get](/man/janas-get)(1), [huggingface-cli](/man/huggingface-cli)(1), [llama-cli](/man/llama-cli)(1)
58+
[gguf2jns](/man/gguf2jns)(1), [janas-nsm](/man/janas-nsm)(1), [hf2jns_mtp](/man/hf2jns_mtp)(1), [janas-get](/man/janas-get)(1), [huggingface-cli](/man/huggingface-cli)(1), [llama-cli](/man/llama-cli)(1)
5959

6060
# RESOURCES
6161

‎assets/commands/index.txt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3842,6 +3842,7 @@ janas-git.md
38423842
janas-github.md
38433843
janas-maps.md
38443844
janas-mcp.md
3845+
janas-nsm.md
38453846
janas-prices.md
38463847
janas-quakes.md
38473848
janas-server.md
@@ -5609,6 +5610,7 @@ openscad.md
56095610
opensearch.md
56105611
openshell-gateway.md
56115612
openshell-prover.md
5613+
openshell-supervisor.md
56125614
openshell.md
56135615
openshot-render.md
56145616
openshot.md

‎assets/commands/janas-chat.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ Janas is early software: the public API and the command line change without noti
164164

165165
# SEE ALSO
166166

167-
[janas-get](/man/janas-get)(1), [gguf2jns](/man/gguf2jns)(1), [hf2jns_mtp](/man/hf2jns_mtp)(1), [jns_planes](/man/jns_planes)(1), [janas-bench](/man/janas-bench)(1), [vkcheck](/man/vkcheck)(1), [gpu_check](/man/gpu_check)(1), [janas-server](/man/janas-server)(1), [janas-mcp](/man/janas-mcp)(1), [janas-flights](/man/janas-flights)(1), [janas-git](/man/janas-git)(1), [janas-github](/man/janas-github)(1), [janas-maps](/man/janas-maps)(1), [janas-prices](/man/janas-prices)(1), [janas-quakes](/man/janas-quakes)(1), [janas-system](/man/janas-system)(1), [janas-weather](/man/janas-weather)(1), [janas-wiki](/man/janas-wiki)(1), [llama-cli](/man/llama-cli)(1), [ollama](/man/ollama)(1), [janus](/man/janus)(1), [koboldcpp](/man/koboldcpp)(1)
167+
[janas-get](/man/janas-get)(1), [janas-nsm](/man/janas-nsm)(1), [gguf2jns](/man/gguf2jns)(1), [hf2jns_mtp](/man/hf2jns_mtp)(1), [jns_planes](/man/jns_planes)(1), [janas-bench](/man/janas-bench)(1), [vkcheck](/man/vkcheck)(1), [gpu_check](/man/gpu_check)(1), [janas-server](/man/janas-server)(1), [janas-mcp](/man/janas-mcp)(1), [janas-flights](/man/janas-flights)(1), [janas-git](/man/janas-git)(1), [janas-github](/man/janas-github)(1), [janas-maps](/man/janas-maps)(1), [janas-prices](/man/janas-prices)(1), [janas-quakes](/man/janas-quakes)(1), [janas-system](/man/janas-system)(1), [janas-weather](/man/janas-weather)(1), [janas-wiki](/man/janas-wiki)(1), [llama-cli](/man/llama-cli)(1), [ollama](/man/ollama)(1), [janus](/man/janus)(1), [koboldcpp](/man/koboldcpp)(1)
168168

169169
# RESOURCES
170170

‎assets/commands/janas-nsm.md‎

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# TAGLINE
2+
3+
Write and score Natural Semantic Metalanguage explications
4+
5+
# TLDR
6+
7+
Explain **one word** with a model trained for it
8+
9+
```janas-nsm [model.jns] [chair]```
10+
11+
Pass **example sentences** the model should see
12+
13+
```janas-nsm [model.jns] [chair] ["a wooden chair by the window"]```
14+
15+
Explain a **file of words** and keep the JSON
16+
17+
```janas-nsm [model.jns] --batch [words.jsonl] --out [out.jsonl]```
18+
19+
**Score** explications that already exist, with no model
20+
21+
```janas-nsm --score [explications.jsonl]```
22+
23+
Use the **paper's prompt** and the full prime list
24+
25+
```janas-nsm [model.jns] [leg] --prompt paper --lexicon full```
26+
27+
Let the model write **only** primes, function words, and molecules
28+
29+
```janas-nsm [model.jns] [leg] --strict -n [5]```
30+
31+
# SYNOPSIS
32+
33+
**janas-nsm** _model.jns_ _word_ [_example_...] [_options_]
34+
35+
**janas-nsm** _model.jns_ **--batch** _file_ [_options_]
36+
37+
**janas-nsm** **--score** _file_ [_options_]
38+
39+
# DESCRIPTION
40+
41+
**janas-nsm** asks a model trained for the Natural Semantic Metalanguage (NSM) for a word's explication, then counts what that explication is made of. NSM paraphrases a meaning with a small set of semantic primes (someone, something, do, happen, want, know, good, before, and the rest) plus a few simpler words. The model Janas was checked with is DeepNSM (Llama 3.2 1B with a LoRA adapter, [arXiv 2505.11764](https://arxiv.org/abs/2505.11764)), converted with **hf2gguf** and **gguf2jns**. Janas does not ship those weights.
42+
43+
One word prints the explication, then a line of counts. A batch reads JSON lines and writes one JSON line per sample. **--score** only counts: each input line already has the explication, and no model is loaded.
44+
45+
The default prompt is the model card's (`Word:`, `Examples:`, `Paraphrase:`). **--prompt paper** uses the indented prompt from the paper's evaluation script. Sampling follows DeepNSM: temperature **0.7**, top-k **50**, top-p **0.95**, at most **512** tokens. Speculative decoding is off.
46+
47+
Counts use one of two prime lists. **paper** (the default) is the list DeepNSM's published scores were computed with, single words, without "i" and "said". **full** is Goddard and Wierzbicka's 65 primes, their inflected forms, and their phrases. Other words are function words or molecules. Legality is 10 times (primes minus molecules) divided by the number of words, from -10 to 10. An explication is circular when one of its words has the target word's English lemma (suffix rules, not spaCy). On the paper's 1,341 published records, circularity matches spaCy on every record, and primes and molecules match on 1,337.
48+
49+
A batch ends with means and standard errors on the standard error, plus read and write speed when a model ran. Progress prints every 10 words unless **--quiet**.
50+
51+
# PARAMETERS
52+
53+
_model.jns_
54+
55+
> Janas model file. Required unless **--score**.
56+
57+
_word_ [_example_...]
58+
59+
> The word to explain, then optional example sentences. Required for a single word. Ignored when **--batch** or **--score** is set.
60+
61+
**--batch** _file_
62+
63+
> JSON lines. Each object has "word" and "examples" (an array of strings). At most **64** examples from a line are used.
64+
65+
**--score** _file_
66+
67+
> JSON lines with "word" and "explication" (or "text"). Counts them and loads no model.
68+
69+
**--out** _file_
70+
71+
> Where a batch's JSON lines go. Default is the standard output. The summary stays on the standard error.
72+
73+
**-n** _count_
74+
75+
> Explications per word (default **1**). Must be at least 1.
76+
77+
**--seed** _n_
78+
79+
> Sampling seed (default **1**).
80+
81+
**--prompt** _card_|_paper_
82+
83+
> **card** (default) or **paper**. Anything else is an error.
84+
85+
**--lexicon** _paper_|_full_
86+
87+
> Prime list. **full** selects the 65 primes with forms and phrases. Any other value, including **paper**, selects the paper's list.
88+
89+
**--strict**
90+
91+
> The model may write only prime forms, function words, punctuation, and the molecules. The output head computes those tokens alone.
92+
93+
**--molecules** _file_
94+
95+
> Molecules **--strict** allows, one word a line. Default is a built-in list (body parts, physical qualities, nature, people, everyday actions, and things). An empty file allows none.
96+
97+
**--temp** _t_
98+
99+
> Temperature (default **0.7**).
100+
101+
**--top-k** _k_
102+
103+
> Top-k (default **50**).
104+
105+
**--top-p** _p_
106+
107+
> Top-p (default **0.95**).
108+
109+
**--max** _tokens_
110+
111+
> Most tokens in one explication (default **512**). Must be at least 1.
112+
113+
**--quiet**
114+
115+
> No progress on the standard error. A single word still prints its explication.
116+
117+
**-h**, **--help**
118+
119+
> Print usage on the standard error and exit 0.
120+
121+
# CAVEATS
122+
123+
DeepNSM's weights, code, and data are CC BY-NC-SA 4.0. Convert a checkpoint with **hf2gguf** for research; do not expect Janas to include the model.
124+
125+
Context length is fixed at **4096** tokens. **--strict** restricts the output head on the CPU. A pass that runs entirely on the GPU still computes the whole head and applies the vocabulary afterwards. The restricted rows are not used on the GPU or the NPU.
126+
127+
**--strict** can raise legality and speed and still make the explication worse at saying which word it is. On DeepNSM-1B Q8_0, five seeds each way over the paper's 149 benchmark words, legality moved from 5.33 to 5.48 while a second model ranked the target first less often (81.9% down to 75.8%). The default writes freely.
128+
129+
A batch's JSON has "word", "sample", "explication", "legality", "primes", "molecules", "words", "circular", "tokens", and "seconds". **--score** writes "word" plus the counts only. Single-word mode prints the text, then a bracketed summary, not JSON.
130+
131+
Exit **2** is usage (missing arguments, a bad prompt, or a count below 1). Exit **1** is a missing file, bad JSON, or a generation error. Unknown options are exit **2**.
132+
133+
# HISTORY
134+
135+
**janas-nsm** was added on **25 October 2026**, in the same Janas release as Llama 3 and LoRA merge support in **hf2gguf**. It ships with **Janas**, written by **Maurizio "camauri" Cammalleri** (first public release **September 2026**, GNU GPL 3 or later).
136+
137+
# SEE ALSO
138+
139+
[janas-chat](/man/janas-chat)(1), [hf2gguf](/man/hf2gguf)(1), [gguf2jns](/man/gguf2jns)(1), [janas-get](/man/janas-get)(1), [jns_check](/man/jns_check)(1), [llama-cli](/man/llama-cli)(1)
140+
141+
# RESOURCES
142+
143+
```[Source code](https://github.com/prabanta-dev/janas)```
144+
145+
```[Documentation](https://github.com/prabanta-dev/janas/blob/main/docs/tools.md)```
146+
147+
<!-- verified: 2026-10-27 -->

‎assets/commands/openshell-gateway.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ NVIDIA published OpenShell in **March 2026**. The **0.1.x** line is the stable r
182182

183183
# SEE ALSO
184184

185-
[openshell](/man/openshell)(1), [openshell-prover](/man/openshell-prover)(1), [docker](/man/docker)(1), [podman](/man/podman)(1), [kubectl](/man/kubectl)(1), [systemctl](/man/systemctl)(1), [journalctl](/man/journalctl)(1), [sqlite3](/man/sqlite3)(1)
185+
[openshell](/man/openshell)(1), [openshell-prover](/man/openshell-prover)(1), [openshell-supervisor](/man/openshell-supervisor)(1), [docker](/man/docker)(1), [podman](/man/podman)(1), [kubectl](/man/kubectl)(1), [systemctl](/man/systemctl)(1), [journalctl](/man/journalctl)(1), [sqlite3](/man/sqlite3)(1)
186186

187187
# RESOURCES
188188

0 commit comments

Comments
 (0)