Instructions to use bugrabilge/Omni-31B-Turkish-Reasoning-Model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bugrabilge/Omni-31B-Turkish-Reasoning-Model with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="bugrabilge/Omni-31B-Turkish-Reasoning-Model") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForImageTextToText processor = AutoProcessor.from_pretrained("bugrabilge/Omni-31B-Turkish-Reasoning-Model") model = AutoModelForImageTextToText.from_pretrained("bugrabilge/Omni-31B-Turkish-Reasoning-Model") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use bugrabilge/Omni-31B-Turkish-Reasoning-Model with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "bugrabilge/Omni-31B-Turkish-Reasoning-Model" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bugrabilge/Omni-31B-Turkish-Reasoning-Model", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/bugrabilge/Omni-31B-Turkish-Reasoning-Model
- SGLang
How to use bugrabilge/Omni-31B-Turkish-Reasoning-Model with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "bugrabilge/Omni-31B-Turkish-Reasoning-Model" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bugrabilge/Omni-31B-Turkish-Reasoning-Model", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "bugrabilge/Omni-31B-Turkish-Reasoning-Model" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bugrabilge/Omni-31B-Turkish-Reasoning-Model", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use bugrabilge/Omni-31B-Turkish-Reasoning-Model with Docker Model Runner:
docker model run hf.co/bugrabilge/Omni-31B-Turkish-Reasoning-Model
- Omni-31B Turkish Reasoning Model
Omni-31B Turkish Reasoning Model
Omni Türkçe Chain-of-Thought reasoning model özeti
Model Açıklaması
Omni-31B, Türkçe muhakeme, açıklayıcı analiz, çok adımlı problem çözme ve genel bilgi alanlarında adım adım düşünme yetkinliği için fine-tune edilmiş bir Gemma 4 tabanlı modeldir.
Bu model, Gemma 4 31B base model üzerine 249K filtrelenmiş Türkçe Chain-of-Thought (CoT) verisi ile full fine-tune edilmiştir. Eğitim, <think> blokları içinde görünür adım adım reasoning üretecek şekilde tasarlanmıştır.
Model, Türkçe kullanıcıların açıklayıcı sorularını yapılandırılmış şekilde yanıtlaması, çok aşamalı muhakeme gerektiren konuları parçalara ayırması ve uzun-form analiz üretmesi için optimize edilmiştir.
Türk yapay zeka topluluğuna faydalı olması dileğiyle. 🇹🇷
Önemli: Bu model araştırma ve eğitim amaçlıdır. Üretilen içerik nihai karar mekanizması olarak kullanılmamalı; profesyonel görüş gerektiren konularda (hukuk, sağlık, finans, mühendislik) lisanslı uzmanlara başvurulmalıdır.
Temel Yetenekler
- Türkçe Chain-of-Thought reasoning:
<think>blokları içinde adım adım düşünme, plan kurma, ara doğrulama ve yapılandırılmış cevap üretme. - Açıklayıcı analiz: Bilim, tarih, edebiyat, felsefe ve genel kültür konularında uzun-form Türkçe açıklama.
- Çok adımlı muhakeme: Karmaşık soruları parçalara ayırarak adım adım yanıtlama.
- Türkçe akıcılığı: Pre-training'den gelen Gemma 4 dil yeteneğinin Türkçe reasoning görevlerine uyarlanması.
- Format disiplini:
<think>...</think>reasoning bloğu sonrası kullanıcıya yönelik temiz cevap üretimi.
Model Detayları
| Özellik | Değer |
|---|---|
| Model adı | bugrabilge/Omni-31B-Turkish-Reasoning-Model |
| Base model | google/gemma-4-31B |
| Mimari | Dense Causal LM, text-only deployment |
| Parametre | 31B |
| Fine-tuning yöntemi | Full Supervised Fine-Tuning (16-bit weights) |
| Eğitim dili | Türkçe |
| Uzmanlaşma | Türkçe Chain-of-Thought reasoning |
| Max training sequence length | 8192 token |
| Deployment mode | text_only |
Eğitim Özeti
| Metrik | Değer |
|---|---|
| Eğitim verisi | 249,292 Türkçe CoT örneği |
| Veri kaynağı | ~30GB ham Türkçe CoT veriden kural-bazlı pipeline ile filtrelenmiş |
| Framework | HuggingFace Transformers + DeepSpeed ZeRO-3 |
| Effective batch size | 128 (1 × 16 grad_accum × 8 GPU) |
| Epoch | 1 |
| Precision | bfloat16 |
| Attention | SDPA |
| Label masking | Assistant-only training hedefi |
| Thinking davranışı | <think>...</think> bloğu ile görünür reasoning |
| Ortalama cevap uzunluğu | ~5,000-7,000 token (uzun-form akademik stil) |
Önerilen Kullanım Alanları
- Türkçe eğitim asistanı (açıklayıcı içerik)
- Bilim, tarih, edebiyat konularında uzun-form analiz
- Çok adımlı muhakeme gerektiren soru-cevap
- Akademik tarzda Türkçe içerik üretimi ve taslak hazırlama
- Türkçe reasoning üzerine araştırma
Kullanım
Kurulum
pip install "transformers>=4.50.0" "torch>=2.4.0" accelerate safetensors sentencepiece
Not: Model
chat_template.jinjaformatı kullanır (Transformers 4.50+ convention). Daha eski versiyonlarda chat template doğru yüklenmeyebilir.
Transformers ile örnek
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "bugrabilge/Omni-31B-Turkish-Reasoning-Model"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{
"role": "system",
"content": (
"Sen adım adım düşünen bir Türkçe asistansın. "
"Cevap vermeden önce <think> bloğunda muhakemeni yap, "
"ardından kullanıcıya net bir cevap ver."
),
},
{
"role": "user",
"content": "Fotosentez sürecini adım adım açıkla ve neden hayat için kritik olduğunu belirt.",
},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=7168,
min_new_tokens=80,
temperature=0.7,
top_p=0.9,
do_sample=True,
eos_token_id=[1, 106],
)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False))
vLLM ile deploy
vllm serve bugrabilge/Omni-31B-Turkish-Reasoning-Model \
--tensor-parallel-size 8 \
--dtype bfloat16 \
--max-model-len 8192 \
--gpu-memory-utilization 0.90 \
--limit-mm-per-prompt '{"image":0,"audio":0}' \
--port 8000
Önerilen Sampling Parametreleri
Model uzun-form (5K-7K token) cevap üretecek şekilde eğitilmiştir. Güvenilir çalışma için aşağıdaki parametrelerin kullanılması önerilir.
vLLM / OpenAI-uyumlu API için
sampling_params = {
"temperature": 0.7,
"top_p": 0.9,
"min_tokens": 80,
"max_tokens": 7168,
"stop": ["<turn|>", "<think>", "```\n```"]
}
| Parametre | Değer | Sebep |
|---|---|---|
max_tokens |
7168 | Eğitim verisi cevap dağılımının üst sınırına yakın; modelin natural EOS üretmesi için yeterli alan |
min_tokens |
80 | Erken stop'u önler, modelin <think> bloğunu tamamlamasına imkan tanır |
stop |
3'lü liste | `<turn |
temperature |
0.7 | Eğitim distribusyonuna sadık, degenerate loop riskini azaltır |
Transformers (model.generate) için
generation_kwargs = {
"temperature": 0.7,
"top_p": 0.9,
"min_new_tokens": 80,
"max_new_tokens": 7168,
"do_sample": True,
"eos_token_id": [1, 106],
}
Not: Transformers ve vLLM parametre adlandırması farklıdır:
- Transformers:
min_new_tokens,max_new_tokens- vLLM:
min_tokens,max_tokensAnlamları aynıdır (sadece üretilecek yeni token sayısı, prompt hariç).
vLLM API çağrısı örneği
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "bugrabilge/Omni-31B-Turkish-Reasoning-Model",
"messages": [
{"role": "system", "content": "Sen adım adım düşünen bir Türkçe asistansın."},
{"role": "user", "content": "..."}
],
"max_tokens": 7168,
"min_tokens": 80,
"temperature": 0.7,
"top_p": 0.9,
"stop": ["<turn|>", "<think>", "```\n```"]
}'
Önerilen Sistem Talimatı
Sen Türkçe konuşan, adım adım düşünen bir yapay zeka asistanısın.
Çalışma şeklin:
- Cevap vermeden önce <think> bloğunda muhakemeni adım adım yap.
- Düşünme aşamasında soruyu parçalara ayır, varsayımlarını netleştir,
ara sonuçları doğrula.
- </think> sonrası kullanıcıya net, yapılandırılmış ve gereksiz tekrar
içermeyen bir cevap ver.
- Emin olmadığın bilgilerde belirsizliği açıkça belirt.
- Türkçe açıkla; teknik terimler gerektiğinde parantez içinde
orijinal formuyla koru.
Çıktı Formatı
Model cevaplarını <think>...</think> bloğu ile başlatır, ardından kullanıcıya yönelik nihai cevabını verir:
<think>
Soruyu analiz ediyorum. Fotosentez bitkilerin güneş ışığı, su ve karbondioksiti
kullanarak glikoz ve oksijen ürettiği biyokimyasal süreçtir...
</think>
Fotosentez, yaşamın temel taşlarından biridir. Süreç şu aşamalardan oluşur:
...
Token Budget Hesabı
Toplam context bütçesi: prompt + completion ≤ 8192 token.
Eğer prompt'unuz uzunsa max_tokens değerini dinamik olarak hesaplayın:
# Önce mesajları render et
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
prompt_tokens = len(tokenizer.encode(text))
available = 8192 - prompt_tokens - 50 # 50 token safety margin
max_tokens = min(available, 7168)
Quantization
Topluluk tarafından oluşturulacak quantized versiyonlar (GGUF, AWQ, GPTQ) için bu repo'yu base olarak kullanabilirsiniz. Quantize edilmiş versiyonlar yayınlanırsa bu bölüm güncellenecektir.
Bilinen Teknik Sınırlamalar
Uzun-form eğitim verisi: Model eğitim verisi ortalama 5K-7K token cevap içerir, bu nedenle akademik/açıklayıcı stilde uzun cevaplar üretmeye eğilimlidir. Kısa ve net cevap istendiğinde sistem promptunda explicit belirtilmelidir.
Format varyasyonu: Bazı cevaplarda model önce düz metin, ardından markdown yapılandırılmış versiyon üretebilir. Bu eğitim verisi karakteristiğidir.
<think>tetikleme: Uzun ve açıklayıcı sorularda<think>bloğu güvenilir şekilde tetiklenir. Daha tutarlı<think>davranışı için sistem promptunda explicit talep edilmelidir.Yetersiz
max_tokensriski:max_tokensdeğeri 7000'in altında ayarlanırsa model cevabını tamamlayamayabilir ve generation pattern'lerine girebilir. Önerilen stop sequence'leri ile bu durum güvenli şekilde yönetilir.Multimodal değil: Sadece text generation desteklenir; mimari image/audio destekliyor ancak eğitim text-only yapıldı.
Risk Uyarısı ve Kullanım Sınırları
- Model gerçek zamanlı bilgiye bağlı değildir; güncel olay, fiyat, mevzuat veya istatistik gerektiren sorularda resmi kaynak kontrolü gerekir.
- Üretilen yanıtlar profesyonel danışmanlık (hukuk, sağlık, finans, mühendislik) yerine geçmez.
- Model factual hata üretebilir; kritik kullanımlarda çıktıların doğrulanması gerekir.
- Model cevapları nihai karar mekanizması olarak kullanılmamalıdır.
Citation
Bu modeli kullanırsanız aşağıdaki şekilde atıfta bulunabilirsiniz:
@model{Omni31B,
author = {Buğra Bilge Çelik},
title = {Omni-31B: A Fine-tuned Gemma 4 31B Model for Turkish Chain-of-Thought Reasoning},
year = {2026},
publisher = {Hugging Face},
url = {https://huggingface.co/bugrabilge/Omni-31B-Turkish-Reasoning-Model}
}
İletişim
- Hugging Face: @bugrabilge
- LinkedIn: bugrabilgecelik
- GitHub: bugrabilge
- E-posta: bugrabilgee@gmail.com
Disclaimer: Bu model araştırma, eğitim ve genel bilgilendirme amaçlıdır. Modelin çıktıları profesyonel danışmanlık değildir ve model çıktılarına dayanarak alınan kararlardan model geliştiricisi sorumlu tutulamaz.
- Downloads last month
- 13