-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Yerel, sıfırdan eğitilen, UI/CSS üretimine odaklı bir asistan. Hazır model/bulut API yok; model PyTorch ile sıfırdan kurulur ve eğitilir.
Frontend (React + Vite + Three.js)
Prompt input → WebSocket/REST → token stream → HTML/CSS/notes sekmeleri
Three.js arka plan · canlı iframe önizleme · ZIP dışa aktar
│ POST /api/generate-ui | WS /ws/generate
Backend (FastAPI)
1. prompt al
2. prompt_format → model girişi ( <|user|> ... <|assistant|> )
3. model.generate_stream → token üretimi (CUDA, CPU fallback)
4. parse_response → @@HTML / @@CSS / @@NOTES bölümlerini ayrıştır
5. validate → temel HTML/CSS kontrolleri
6. SQLite'a kaydet (geçmiş)
7. sonucu döndür / stream et
│
AI çekirdeği (PyTorch, sıfırdan)
· decoder-only Transformer (RoPE + RMSNorm + SwiGLU + GQA + KV-cache)
· kendi byte-level BPE tokenizer'ı
· checkpoint kaydet/yükle · generate
Sıfırdan, modern ama küçük bir decoder-only Transformer:
| Bileşen | Seçim | Neden |
|---|---|---|
| Konum kodlama | RoPE | Öğrenilen konum yok, uzunluğa esnek |
| Normalizasyon | RMSNorm | LayerNorm'dan hızlı/stabil |
| MLP | SwiGLU | Modern, daha iyi kalite |
| Dikkat | (G)MHA + SDPA | Flash/efficient çekirdek, KV tasarrufu |
| Üretim | KV-cache | Hızlı stream |
| Bellek | fp16 + gradient checkpointing | 6 GB'a sığar |
| preset | ~params | layer | hidden | head | ctx |
|---|---|---|---|---|---|
chiefui-tiny |
~7–10M | 4 | 384 | 6 | 1024 |
chiefui-30m |
~27M | 6 | 512 | 8 | 1024 |
chiefui-60m |
~50M | 8 | 640 | 10 | 1024 |
Turing (1660 Ti) fp16 kullanır (kod otomatik seçer; bf16 emülasyon → kapalı).
Giriş (prompt_format):
<|user|>
Instruction: {instruction}
Style: {input}
<|assistant|>
Çıkış (model üretir; dataset'te de bu format):
@@HTML
<!DOCTYPE html> ... (tam belge, stil hariç)
@@CSS
... css ...
@@NOTES
... kısa açıklama ...
@@END
İşaretçiler
@@HTML / @@CSS / @@NOTES / @@END— kapanış@@yoktur (paylaşılan@@token'ı hem açılış hem kapanışta olsaydı model@@sonrası\nseçip bölüm adını atlardı). Üretim@@END,<|end|>veya<|endoftext|>görülünce durur.
chiefui-assistant/
├─ backend/
│ ├─ app/
│ │ ├─ main.py FastAPI uygulaması
│ │ ├─ api/routes.py /api/generate-ui, /ws/generate, /api/history
│ │ ├─ model/{config,gpt}.py GPTConfig + Transformer
│ │ ├─ tokenizer/ BPE wrapper + eğitim
│ │ ├─ training/{dataset,train}.py
│ │ ├─ inference/{prompt_format,generate}.py
│ │ ├─ validation/validate.py
│ │ └─ database/db.py SQLite geçmiş
│ ├─ datasets/ *.jsonl + build_seed.py
│ └─ checkpoints/ (gitignore) eğitilmiş ağırlıklar
├─ frontend/ React + Vite + Three.js
├─ scripts/ train_tokenizer · prepare_dataset · train_model · generate
└─ docs/
MVP tek PC. İleride 2. PC; veri temizleme / tokenizasyon (CPU), eval / önizleme
ekran görüntüsü testleri, torchrun ile dağıtık (DDP) eğitim alabilir. VRAM
birleştirme yok — kararlılık önce. Kod --device, --data, --out
parametreleriyle worker olarak çalışacak şekilde yazıldı.