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ı için llama.cpp’ye küçük bir yama uygulamanız gerekir.

Başlangıç

Hızlı başlangıç

Python. Sohbet biçimini apply_chat_template uygular; sistem mesajı vermeyin.

python
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?"}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt")
out = model.generate(ids, max_new_tokens=520, do_sample=True, temperature=0.3, top_p=0.9, top_k=40)
print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True))
Dosyalar

Dosyalar

DosyaNe içinBoyutNot
ufakai/ufakzeka-1Sohbet modeli, transformersBu sayfadaki örneklerin kullandığı model. Model kartı buradadır.
ufakai/ufakzeka-1-baseTemel model, transformersÖn eğitim sonrası ağırlıklar; ince ayar ve araştırma için.
ufakzeka-1-f16.ggufllama.cpp, referans367 MBtransformers 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.ggufllama.cpp, önerilen196 MBAynı 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.

Ayarlar

Örnekleme ayarları

AyarDeğerNeden
temperature0,3Demo bu değerle çalışmaktadır; 0,45 daha kötü sonuç verdi.
top_p / top_k0,9 / 40Demo ile aynı.
repeat_penalty1,0 (kapalı)Tekrarlanan rakam tokenlarını bastırıp sütun aritmetiğini bozmaktadır.
DRY0 (kapalı)Aynı nedenle.
max_new_tokensen az 420Aritmetik adım adım ve uzun yazılır; bu bilinçli bir tercihtir. Örneklerde 520.
sistem istemiyokModel yalnızca kullanıcı ve asistan turlarıyla eğitildi; sistem mesajı (system prompt) görmedi.
Biçim

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:

ChatML
<|im_start|>user
Merhaba, sen kimsin?<|im_end|>
<|im_start|>assistant
llama.cpp

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 4 dosyada 15 satır değiştirir ve dosyaları değil, llama.cpp’yi düzeltir. Uygulamak için:

shell
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 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 520

Yama, eylül 2026 tarihli llama.cpp kaynağına göre yazıldı; temiz uygulanmazsa değişiklikler elle yapılacak kadar küçüktür. Yama llama.cpp projesine alındığında Ollama ve LM Studio da ç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ı.

Sınırlar

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

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ı.