pveugen commited on
Commit
16c0a47
·
verified ·
1 Parent(s): cbb5cb0

Restore the card after the sync flattened it again

Browse files
Files changed (1) hide show
  1. README.md +101 -0
README.md CHANGED
@@ -14,6 +14,7 @@ tags:
14
  pipeline_tag: text-generation
15
  ---
16
 
 
17
  # Title
18
 
19
  Names what you just wrote.
@@ -21,3 +22,103 @@ Names what you just wrote.
21
  On-device titles and descriptions: a short factual title and a one- to two-sentence description for any passage of text.
22
 
23
  - **SDKs, install and examples:** https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/docs/models/title.md
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  pipeline_tag: text-generation
15
  ---
16
 
17
+ <!-- card-header:start (generated from manifest.json, edit below this block) -->
18
  # Title
19
 
20
  Names what you just wrote.
 
22
  On-device titles and descriptions: a short factual title and a one- to two-sentence description for any passage of text.
23
 
24
  - **SDKs, install and examples:** https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/docs/models/title.md
25
+
26
+ <!-- card-header:end -->
27
+
28
+ <!-- card-install:start (generated from manifest.json, edit below this block) -->
29
+ | | |
30
+ | --- | --- |
31
+ | **Platforms** | iOS, macOS, tvOS, visionOS |
32
+ | **Weights** | [v0.1.0](https://huggingface.co/desert-ant-labs/title) |
33
+
34
+ ## Install
35
+
36
+ **Swift** ([requirements](https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/README.md#swift))
37
+
38
+ ```swift
39
+ .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "3.0.0",
40
+ traits: ["MLX"])
41
+ ```
42
+
43
+ Then add the `Title` product to your target. The `MLX` trait is required: without it the module compiles as a stub.
44
+ <!-- card-install:end -->
45
+
46
+
47
+ Get a title and a one or two sentence description for any passage of text, on device.
48
+
49
+ Fine-tuned on transcript clips, but it works on any prose. The register is deliberately plain, with no emoji, no hashtags and no clickbait,
50
+ and a description is meant to identify *this* passage rather than its topic.
51
+
52
+ ## Files
53
+
54
+ An MLX model directory. Load the folder, not a single file.
55
+
56
+ | File | Contents |
57
+ |---|---|
58
+ | `model.safetensors` | 6-bit quantized weights |
59
+ | `model.safetensors.index.json` | shard index; present even for one shard, because the loader reads it |
60
+ | `config.json` | architecture and quantization config |
61
+ | `generation_config.json` | decode defaults |
62
+ | `tokenizer.json`, `tokenizer_config.json` | byte-level BPE with merges |
63
+ | `chat_template.jinja` | the chat template the fine-tune was trained against |
64
+
65
+ The chat template is not incidental. A different template is a different task to this model.
66
+
67
+ ## The prompt
68
+
69
+ The model was fine-tuned against one specific instruction, and a paraphrase is a different
70
+ task to it. It lives in `Titles.prompt` in the SDK; use that wording. The reply is two labelled
71
+ lines:
72
+
73
+ ```
74
+ TITLE: <3-8 words, no final punctuation>
75
+ DESC: <1-2 sentences>
76
+ ```
77
+
78
+ Parse tolerantly. A card model that drifts off format should degrade to a usable title rather
79
+ than throw.
80
+
81
+ ## Apple only
82
+
83
+ MLX runs on Apple silicon and nowhere else, so there is no Android, Linux or Windows artifact
84
+ here and no manifest promising one. A Core ML export exists in the training repository and is
85
+ kept as evidence rather than as a candidate: on short autoregressive decode the Neural Engine
86
+ is bandwidth-bound, and the Core ML arm lost on first token, throughput, load time and resident
87
+ memory.
88
+
89
+ ## Status
90
+
91
+ Internal testing, and less settled than that phrase usually implies. This card carries no
92
+ quality figures: no independent review has been completed, and a known open issue is that the
93
+ model sometimes opens a description with a stock phrase its own instruction forbids. Treat the
94
+ output as needing a read before it reaches a user.
95
+
96
+ ## Built on
97
+
98
+ - [`ibm-granite/granite-4.0-350m`](https://huggingface.co/ibm-granite/granite-4.0-350m) ,
99
+ the base model this is fine-tuned from.
100
+
101
+ <!-- card-footer:start (generated from manifest.json, edit above this block) -->
102
+ ## License
103
+
104
+ [Desert Ant Labs Source-Available License](https://license.desertant.com/1.0). Free for most
105
+ apps, and a commercial license is required at scale. Full terms are at the link.
106
+ Licensing: <licensing@desertant.com>.
107
+
108
+ See [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
109
+
110
+ ## Citation
111
+
112
+ ```bibtex
113
+ @software{title_2026,
114
+ title = {Title: On-device titles and descriptions: a short factual title and a one- to two-sentence description for any passage of text},
115
+ author = {Desert Ant Labs},
116
+ year = {2026},
117
+ url = {https://huggingface.co/desert-ant-labs/title},
118
+ }
119
+ ```
120
+
121
+ ---
122
+
123
+ © 2026 Desert Ant Labs · <https://desertant.com>
124
+ <!-- card-footer:end -->