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()
|