File size: 7,796 Bytes
5e21013
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
"""Create the 6 cuilabs/bee-* HF model repos with honest, auditable READMEs.

This is a one-shot bootstrap. Each repo:
  - Is private at first (we toggle public when adapters are real and validated)
  - Gets a README that states WHAT the repo represents and WHAT'S TRAINED today
  - Does not pretend tiers without compute are "production-ready"

Mapping mirrors apps/workspace/src/lib/models/catalog.ts (`hf_repo` field):

    bee-cell    β†’ cuilabs/bee-cell    (active β€” Kaggle T4 trains here)
    bee-comb    β†’ cuilabs/bee-comb    (placeholder β€” same base, larger context)
    bee-hive    β†’ cuilabs/bee-hive    (placeholder β€” 3B base, needs paid GPU)
    bee-swarm   β†’ cuilabs/bee-swarm   (placeholder β€” 7B+ base, needs paid GPU)
    bee-enclave β†’ cuilabs/bee-enclave (placeholder β€” deployment mode of Hive/Swarm)
    bee-ignite  β†’ cuilabs/bee-ignite  (placeholder β€” experimental R&D track)
"""
from __future__ import annotations

import os

REPOS = [
    {
        "name": "cuilabs/bee-cell",
        "tagline": "Private AI on your own machine.",
        "tier": "Bee Cell β€” production tier 1",
        "base_model": "HuggingFaceTB/SmolLM2-360M-Instruct",
        "status": (
            "**Active training.** This repo holds LoRA adapters trained on "
            "the [`cuilabs/bee-interactions`](https://huggingface.co/datasets/cuilabs/bee-interactions) "
            "dataset by the Kaggle notebook "
            "[`ceocxx/bee-train-online`](https://www.kaggle.com/code/ceocxx/bee-train-online), "
            "kicked daily by the Vercel cron at "
            "`/api/cron/kaggle-dispatch` in the [Bee monorepo](https://github.com/cuilabs/bee). "
            "Adapter branches are named `<domain>/<utc-timestamp>` "
            "(e.g. `general/2026-04-28-1430`)."
        ),
    },
    {
        "name": "cuilabs/bee-comb",
        "tagline": "Workstation-grade AI for serious builders.",
        "tier": "Bee Comb β€” production tier 2",
        "base_model": "(TBD β€” same family as Cell, larger context)",
        "status": (
            "**Placeholder repo.** Bee Comb shares Cell's training pipeline "
            "but with a wider context window and higher throughput targets. "
            "No adapters trained yet β€” we are validating the Cell pipeline "
            "first before scaling up. Once Cell adapters are demonstrably "
            "useful, the same training script will fan out to Comb."
        ),
    },
    {
        "name": "cuilabs/bee-hive",
        "tagline": "Team-grade AI for startups and SMBs.",
        "tier": "Bee Hive β€” production tier 3",
        "base_model": "(TBD β€” 3B parameter class)",
        "status": (
            "**Placeholder repo.** Bee Hive is a 3B-class model. Kaggle's "
            "free T4 cannot train 3B with LoRA at useful throughput; this "
            "tier needs paid GPU (Modal, RunPod, Lambda, or HF Inference "
            "Endpoints). No adapters trained yet β€” compute provisioning "
            "pending. The `training_runs` Postgres table already supports "
            "this tier via `model_id = 'bee-hive'`."
        ),
    },
    {
        "name": "cuilabs/bee-swarm",
        "tagline": "Enterprise-grade AI with quantum reasoning.",
        "tier": "Bee Swarm β€” production tier 4",
        "base_model": "(TBD β€” 7B+ parameter class)",
        "status": (
            "**Placeholder repo.** Bee Swarm is a 7B+ class model with "
            "quantum-reasoning routing enabled. Requires H100-class compute. "
            "No adapters trained yet β€” compute provisioning pending."
        ),
    },
    {
        "name": "cuilabs/bee-enclave",
        "tagline": "Private, auditable deployment of any Hive/Swarm workload.",
        "tier": "Bee Enclave β€” deployment mode (not a separate model)",
        "base_model": "(inherits Hive or Swarm weights at deploy time)",
        "status": (
            "**Placeholder repo / deployment artefact.** Bee Enclave is "
            "**not** a separate model tier above Swarm; it is a deployment "
            "*mode* that wraps Hive/Swarm-class capability inside a private, "
            "auditable boundary (data residency, audit logs, tenant-specific "
            "adapters, PQC transport). This repo will hold tenant-pinned "
            "snapshots of Hive or Swarm adapters once those exist. Billed "
            "per-deployment, not per-token."
        ),
    },
    {
        "name": "cuilabs/bee-ignite",
        "tagline": "Experimental Bee-native architecture.",
        "tier": "Bee Ignite β€” research / R&D",
        "base_model": "(experimental β€” Bee-native MoE + SSM + custom attention)",
        "status": (
            "**Placeholder repo / R&D track.** Bee Ignite is the experimental "
            "Bee-native architecture (custom attention, SSM memory, MoE "
            "routing, hierarchical neural compression). Research-only until "
            "benchmark-validated. Hidden from public model menus by default. "
            "No commercial availability."
        ),
    },
]


def readme_for(r: dict) -> str:
    return f"""---
license: other
language:
- en
library_name: peft
pipeline_tag: text-generation
tags:
- bee
- cuilabs
- lora
---

# {r["name"]}

**{r["tagline"]}**

{r["tier"]} β€” published by [CUI Labs Pte. Ltd.](https://www.cuilabs.io)

---

## What this repo holds

LoRA adapters for the **{r["name"].split("/")[1]}** tier of the Bee
Intelligence Engine. Base model: {r["base_model"]}.

{r["status"]}

## Branch convention

`<domain>/<utc-timestamp>`, e.g. `programming/2026-04-28-1430`. The
`main` branch may be empty until the first successful training run. To
load a specific domain adapter:

```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base = AutoModelForCausalLM.from_pretrained("{r["base_model"]}", torch_dtype="auto")
tok  = AutoTokenizer.from_pretrained("{r["base_model"]}")
model = PeftModel.from_pretrained(base, "{r["name"]}", revision="programming/2026-04-28-1430")
```

## Training transparency

Every adapter version corresponds to a row in the `training_runs`
Postgres table on [workspace.bee.cuilabs.io](https://workspace.bee.cuilabs.io)
with `model_id = "{r["name"].split("/")[1]}"`. Metrics are real loss
values from the actual run, not estimates. Status is one of
`completed`, `partial`, or `failed` β€” partial means the run finished
cleanly but had nothing to train on yet.

## License

Adapter weights: see [CUI Labs licensing](https://www.cuilabs.io). Base
model weights are governed by their respective upstream licenses.
"""


def main() -> None:
    token = os.environ.get("HF_TOKEN")
    if not token:
        raise SystemExit("HF_TOKEN env var required")

    from huggingface_hub import HfApi, create_repo  # type: ignore[import-not-found]

    api = HfApi(token=token)
    for r in REPOS:
        print(f"\n=== {r['name']} ===")
        try:
            create_repo(
                r["name"],
                repo_type="model",
                private=True,
                exist_ok=True,
                token=token,
            )
            print("  repo: ok (created or already existed)")
        except Exception as e:
            print(f"  repo: ERROR {e!r}")
            continue

        readme = readme_for(r)
        try:
            api.upload_file(
                path_or_fileobj=readme.encode("utf-8"),
                path_in_repo="README.md",
                repo_id=r["name"],
                repo_type="model",
                commit_message="bootstrap: tier-honest README",
                token=token,
            )
            print(f"  README: uploaded ({len(readme)} bytes)")
        except Exception as e:
            print(f"  README: ERROR {e!r}")


if __name__ == "__main__":
    main()