ufakzeka-1
Dokümantasyon
ufakzeka-1’i kendi bilgisayarınızda çalıştırmak için gereken her şey. Model standart Qwen3 mimarisindedir; transformers ile ek kod gerekmez. GGUF dosyaları, 18 Eylül 2026’dan sonra derlenen llama.cpp ile doğrudan çalışmaktadır; daha eski sürümler için küçük bir yama gerekmektedir.
Hızlı başlangıç
Python. Sohbet biçimini apply_chat_template uygular; sistem mesajı vermeyin.
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("ufakai/ufakzeka-1")
model = AutoModelForCausalLM.from_pretrained("ufakai/ufakzeka-1")
msgs = [{"role": "user", "content": "Merhaba, sen kimsin?"}]
inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_dict=True, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=520, do_sample=True, temperature=0.3, top_p=0.9, top_k=40)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))Önce q8_0 dosyasını indirin, sonra güncel bir llama.cpp ile çalıştırın (18 Eylül 2026’dan eski sürümler için aşağıdaki yamaya bakın). Bayraklar önerilen örnekleme ayarlarıdır.
hf download ufakai/ufakzeka-1-GGUF ufakzeka-1-q8_0.gguf --local-dir .
llama-cli -m ufakzeka-1-q8_0.gguf \
--temp 0.3 --top-k 40 --top-p 0.9 --min-p 0 \
--repeat-penalty 1.0 --dry-multiplier 0 -n 520llama-server, sohbet tamamlama biçiminde bir HTTP uç noktası açar. Demo sitesi de böyle çalışmaktadır: 2 vCPU’lu bir sunucuda q8_0 ile tek istekte saniyede 137 token, iki eşzamanlı istekte 70’er token.
llama-server -m ufakzeka-1-q8_0.gguf --port 8080 \
--temp 0.3 --top-k 40 --top-p 0.9 --repeat-penalty 1.0 --dry-multiplier 0
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "Merhaba, sen kimsin?"}], "max_tokens": 520}'Dosyalar
| Dosya | Ne için | Boyut | Not |
|---|---|---|---|
ufakai/ufakzeka-1 | Sohbet modeli, transformers | Bu sayfadaki örneklerin kullandığı model. Model kartı buradadır. | |
ufakai/ufakzeka-1-base | Temel model, transformers | Ön eğitim sonrası ağırlıklar; ince ayar ve araştırma için. | |
ufakzeka-1-f16.gguf | llama.cpp, referans | 367 MB | transformers ile aynı tokenizasyon; ortalama logit farkı 0,002 nat; sekiz soruluk açgözlü çözümleme (greedy decoding) testinde birebir aynı cevaplar. |
ufakzeka-1-q8_0.gguf | llama.cpp, önerilen | 196 MB | Aynı tokenizasyon; 0,03 nat; aynı testte birebir aynı cevaplar. |
- SHA-256 · ufakzeka-1-f16.gguf
d1e711e473c88bd5eecc06030e3a8832596a234e898df912d06960426c2e38b8- SHA-256 · ufakzeka-1-q8_0.gguf
6a06fbffe77b8c70ee084ce8901edaaaeec4c23fd7360296259a78111facdf5e
4 bitlik dosya yayımlanmadı: aynı modelin daha önceki bir kontrol noktasında 4 bit kuantizasyon (quantization) perplexity’yi yüzde 5 kötüleştirdi ve cevapları değiştirdi.
Örnekleme ayarları
| Ayar | Değer | Neden |
|---|---|---|
temperature | 0,3 | Demo bu değerle çalışmaktadır; 0,45 daha kötü sonuç verdi. |
top_p / top_k | 0,9 / 40 | Demo ile aynı. |
repeat_penalty | 1,0 (kapalı) | Tekrarlanan rakam tokenlarını bastırıp sütun aritmetiğini bozmaktadır. |
DRY | 0 (kapalı) | Aynı nedenle. |
max_new_tokens | en az 420 | Aritmetik adım adım ve uzun yazılır; bu bilinçli bir tercihtir. Örneklerde 520. |
sistem istemi | yok | Model yalnızca kullanıcı ve asistan turlarıyla eğitildi; sistem mesajı (system prompt) görmedi. |
Sohbet biçimi
Sohbet biçimi ChatML’dir: her tur <|im_start|> ile açılır, rol adı ve satır sonu gelir, <|im_end|> ile kapanır. Modelin cevabı için <|im_start|>assistant satırı eklenir. transformers’taki apply_chat_template ve llama.cpp bunu kendiliğinden yapar; kendi sunucunuzu yazıyorsanız istem tam olarak şöyle görünmelidir:
<|im_start|>user
Merhaba, sen kimsin?<|im_end|>
<|im_start|>assistant
llama.cpp yaması
Tokenizer, Türkçe metinle eğitilmiş bayt düzeyinde bir BPE’dir (byte-level byte pair encoding). Ön tokenizer (pre-tokenizer) olarak Qwen2 deseni, İngilizce kısaltma kuralı çıkarılarak kullanılmıştır; o kural “Ankara’da” gibi kesme işaretli sözcükleri eğitimdekinden farklı bölüyordu. GGUF dosyası bu yüzden tokenizer.ggml.pre = "ufakzeka" değerini taşımaktadır ve bu adı tanımayan llama.cpp sürümleri dosyayı şu hatayla açmaz:
unknown pre-tokenizer type: 'ufakzeka'Yama yalnızca 18 Eylül 2026’dan eski llama.cpp sürümleri için gereklidir; 4 dosyada 15 satır değiştirir ve dosyaları değil, llama.cpp’yi düzeltir. Uygulamak için:
hf download ufakai/ufakzeka-1-GGUF llama.cpp-ufakzeka-pretok.patch --local-dir .
git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp && git checkout b49650a
git apply ../llama.cpp-ufakzeka-pretok.patch
cmake -B build && cmake --build build --config Release -j
./build/bin/llama-cli -m ../ufakzeka-1-q8_0.gguf --temp 0.3 --top-k 40 --top-p 0.9 --repeat-penalty 1.0 --dry-multiplier 0 -n 520Yama, llama.cpp’nin 17 Eylül 2026 tarihli b49650a numaralı işlemesine (commit) göre kesildi ve o sürüme temiz uygulanmaktadır; daha yeni bir kaynak yamayı reddederse değişiklikler elle yapılacak kadar küçüktür. Yama 18 Eylül 2026’da llama.cpp projesine alınmıştır (dc85f89); o tarihten sonra derlenen sürümler yamaya gerek duymamaktadır. Ollama ve LM Studio, kendi llama.cpp sürümlerini güncellediklerinde çalışacak. Yama dosyası.
Dosyayı qwen2 kuralıyla adlandırmak her yerde açılmasını sağlardı, ama o kural kesme işaretinden sonra d, t, s, m ve v ile başlayan her eki böler (Ankara’da → ’d + a). Kesme işaretinin yoğun olduğu kısa bir örnekte (yaklaşık 3.500 karakter) perplexity 15,4’ten 19,0’a çıktı ve altı sorudan ikisinin cevabı değişti; bu yüzden öyle bir dosya yayımlanmadı.
Neyi yapamaz
Bu bir araştırma modelidir, asistan değil. Bilmediği bilgileri uydurur, kod yazamaz, ikinci turda doğru bir hesabı bozabilir, uzun bir hikâyeden sonra kimin kim olduğunu karıştırabilir ve 2026 yazından sonrasını bilmez. Ölçülmüş sınırlar ana sayfada ve model kartında sayılarıyla yazılıdır.
Lisans ve veri
Ağırlıklar Apache-2.0 lisanslıdır. Eğitim verisinin tamamı ticari kullanıma izin veren lisanslı kaynaklardandır; kaynak listesi, lisansları ve dışarıda bırakılanlar model kartındadır. Model kartı.