Instructions to use celsen/Pusula-1.5B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use celsen/Pusula-1.5B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="celsen/Pusula-1.5B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("celsen/Pusula-1.5B") model = AutoModelForCausalLM.from_pretrained("celsen/Pusula-1.5B", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use celsen/Pusula-1.5B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "celsen/Pusula-1.5B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "celsen/Pusula-1.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/celsen/Pusula-1.5B
- SGLang
How to use celsen/Pusula-1.5B 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 "celsen/Pusula-1.5B" \ --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": "celsen/Pusula-1.5B", "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 "celsen/Pusula-1.5B" \ --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": "celsen/Pusula-1.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use celsen/Pusula-1.5B with Docker Model Runner:
docker model run hf.co/celsen/Pusula-1.5B
Pusula ☆ | Pusula-1.5B
Kurgusal proje. Martıkent Belediyesi gerçek bir kurum değildir; rehberdeki ücretler, süreler ve kurallar uydurulmuştur. Bu model resmî bir belediye hizmeti değildir.
Pusula, Qwen/Qwen2.5-1.5B-Instruct modelinin QLoRA ile ince ayar yapılmış hâlidir: kendi adı ve üslubu olan, bir kurum rehberinden kaynak göstererek cevap veren, araç kullanabilen bir Türkçe vatandaş hizmetleri asistanı.
| Bağlantı | |
|---|---|
| Model (bu sayfa) | https://huggingface.co/celsen/Pusula-1.5B |
| LoRA adaptörü | https://huggingface.co/celsen/Pusula-1.5B-adapter |
| GGUF (q8_0, CPU) | https://huggingface.co/celsen/Pusula-1.5B-GGUF |
| Eğitim verisi | https://huggingface.co/datasets/celsen/pusula-1.5b-veri |
| Site | eğitmen vitrini |
1. Proje özeti
Pusula, kurgusal Martıkent Belediyesi'nin vatandaş hizmetleri asistanıdır. Su aboneliği ve faturası, emlak vergisi, nikâh, otopark, spor tesisleri, sosyal destek, sokak hayvanları, işyeri ruhsatı, salon kiralama ve atık toplama gibi 14 başlıkta vatandaşa yön gösterir. Bilgiyi üç yerden alır: 14 bölümlük rehber (ücretler, süreler ve kurallar; Chroma ve embedding ile aranır), tesisler tablosu (saatler ve aylık ücretler) ve dört araç (rehber arama, tablo sorgusu, hesap makinesi ve kendi yazdığım otopark ücreti hesaplayıcı). Her cevabını ☆ ile bitirir; rehberde olmayan bir şey sorulduğunda uydurmak yerine bilmediğini söyler ve 153 Beyaz Masa hattını önerir.
2. Taban model gerekçesi
Taban model olarak Qwen2.5-1.5B-Instruct'ı seçtim. Ölçütler şunlardı: sohbet şablonu hazır ve system mesajını kabul ediyor (RAG ve ajan eğitimi buna dayanıyor), Türkçe üretebiliyor, 4 bit QLoRA ile ücretsiz T4 GPU'da eğitilebiliyor ve Apache-2.0 lisansı türev modelin yayınlanmasına izin veriyor. 3B sürümünün Türkçesi daha iyi, ama eğitimi ve sitedeki cevapları yaklaşık iki kat yavaş; lisansı da ticari kullanımı kısıtlıyor. Site CPU'da çalışacağı için hızı öncelikli tuttum. Gemma-2-2b-it'i sohbet şablonu system mesajını kabul etmediği için baştan eledim, Llama-3.2'yi ise Türkçesi zayıf-orta olduğu için seçmedim. Yalnızca Qwen2.5-1.5B-Instruct ile çalıştım; diğerlerini denemedim.
3. Gözlemler
(Çalıştırma sonuçlarına göre yazılacak: veri kontrolünde, önce/sonra ölçümünde, RAG kıyasında ve test sorularında ne gördüm, neyi değiştirdim, sonuç ne oldu.)
Eğitimden önce ve sonra ölçüm
Aynı ölçüm modelin hiç görmediği test örnekleriyle yapıldı (adını söyleme: 8 soru; geçerli JSON ve doğru araç: 21 ajan örneği; RAG hakem puanı: 11 soru, Gemini hakem 1 / 0.5 / 0). "Sonra" sütunu eğitim sonrası 4 bit taban + adaptörle, son sütun Hub'a yüklenen birleştirilmiş fp16 modelle ölçülmüştür.
| Ölçüt | Önce | Sonra (4 bit + adaptör) | Fark | Sonra (birleştirilmiş fp16) |
|---|---|---|---|---|
| adını söyleme | 0.0 | 0.38 | +0.38 | 0.12 |
| işaret | 0.0 | 1.0 | +1.00 | 1.0 |
| geçerli JSON | 0.71 | 1.0 | +0.29 | 0.9 |
| doğru araç | 0.11 | 0.74 | +0.63 | 0.74 |
| RAG hakem puanı | 0.73 | 0.77 | +0.04 | 0.73 |
Bağlamsız ve RAG'lı cevap kıyası
Ortalama hakem puanı: bağlamsız 0.32, RAG'lı 0.73.
| Soru | Bağlamsız | RAG'lı | Puan (bağlamsız / RAG'lı) |
|---|---|---|---|
| Suyum kesildi, açtırmak ne kadar? | Suyum açılmamıştır, size başka bir konuda bilgi verebilirim. ☆ | Kesilen suyun yeniden açılması için borcun ve 350 TL açma ücretinin ödenmesi gerekir ☆ | 0.0 / 1.0 |
| Emlak vergisinin ilk taksidi ne zamana kadar ödenmeli? | Emlak vergisinin ilk taksidi 1925 yılında ödenmeli. ☆ | İlk taksit için son gün 31 Mayıs'dır ☆ | 0.0 / 1.0 |
| Belediye otoparkında bir günde en fazla ne öderim? | Belediye otoparkı günlerinde ve günün sonuna kadar 24 saatlik süreli kullanım sağlıyoruz. ☆ | Günlik en fazla ödeme 250 TL'dir ☆ | 0.0 / 0.5 |
| Cumartesi nikah kıydırmak kaç para? | Bu konuda bilgi veremem size rehberlik etmekle ilgili konularda yardımcı olabilirim ☆ | Hafta içi nikah ücreti 900 TL'dir ☆ | 1.0 / 0.0 |
| Eski koltuğumu nasıl atarım? | Eski koltukları atarken belediyenin izin vermesi gerekmektedir size yardımcı olabilirim ☆ | Koltuk, dolap gibi büyük eşyalar ücretsiz alınır ☆ | 0.5 / 0.5 |
| Kedi sahiplenmek istiyorum, ne zaman gelebilirim? | Kedi sahiplenme hizmetleri günün her zaman açık olduğuna göre, size her zaman yardımcı olabilirim. ☆ | Sahiplendirme için 10:00-16:00 saatleri arasında bildirim edebilirsiniz ☆ | 0.0 / 0.5 |
| Kafe açacağım, ruhsat ne kadar sürer? | Kafeden sonra belediye hizmetleri hakkında bilgi verebilirim. ☆ | Kafe ve restoran gibi umuma açık işyerleri için ruhsat 30 gündür ☆ | 0.0 / 1.0 |
| 65 yaşındayım, spor tesislerinde indirim var mı? | Spor tesislerinde indirimler bulunmamaktadır size farklı türden hizmetler hakkında bilgi verebilirim ☆ | 65 yaş ve üzeri vatandaşlara yüzde 50 indirim uygulanır ☆ | 0.0 / 1.0 |
| Kültür merkezindeki küçük salon kaç kişilik? | Bu bilgiye erişimim yoktur. Daha fazla bilgi için size yardımcı olamam. ☆ | Küçük salon 120 kişiliktir ☆ | 1.0 / 0.5 |
| Belediye başkanımız kim? | Ben bir yapay zekayım ve belediyenin sunduğu bilgiye sahip değilim. Belediyenin sunduğu herhangi bir bilgiyi size sağlayabilirim. ☆ | Bu bilgi rehberde yok. Daha fazla bilgi için 153 Beyaz Masa hattını arayabilirsiniz. ☆ | 1.0 / 1.0 |
| Metro hattı ne zaman açılacak? | Martıkent Belediyesi'nin hattı açıktır. ☆ | Bu bilgi rehberde yok. Daha fazla bilgi için 153 Beyaz Masa hattını arayabilirsiniz. ☆ | 0.0 / 1.0 |
Arama kıyası: Chroma ve TF-IDF
İlk iki sonuçta doğru bölümü bulma: Chroma + mpnet 11/12, TF-IDF 8/12 (site TF-IDF kullanır).
| Soru | Doğru bölüm | Chroma | TF-IDF |
|---|---|---|---|
| Çöpümü hangi saatte alıyorsunuz? | 14. | 1 | - |
| Evlenmek için nereye başvurmalıyım? | 5. | 1 | - |
| Dükkan açacağım, izin kaç günde çıkar? | 11. | 1 | - |
| Yaşlı babam için ücretsiz araç var mı? | 13. | 2 | - |
| Fakir bir aileyim, devletten yardım alabilir miyim? | 9. | 1 | 2 |
| Düğün için salon tutmak istiyorum | 12. | 2 | 2 |
| Yeni taşındım, musluk açtırmak için ne lazım? | 2. | - | 1 |
| Arabamı park edince ne kadar para isterler? | 6. | 1 | 1 |
| Sokakta yaralı bir köpek gördüm, ne yapmalıyım? | 10. | 1 | 1 |
| Kitap ödünç almak için üye olmam gerekiyor mu? | 7. | 1 | 1 |
| Evimin vergisini ne zaman yatırmalıyım? | 4. | 1 | 1 |
| Elektrik mi su mu kesinti olursa haberdar edilir miyim? | 3. | 1 | 1 |
Test soruları
Genel ortalama hakem puanı: 0.84 (16 soru).
| Grup | Ortalama puan | Soru sayısı |
|---|---|---|
| araç | 1.0 | 3 |
| rehber | 0.78 | 9 |
| tablo | 0.75 | 2 |
| yok | 1.0 | 2 |
| Mod | Soru | Araçlar / bölümler | Puan |
|---|---|---|---|
| rag | Suyum kesildi, açtırmak ne kadar? | 3, 2 | 1.0 |
| rag | Emlak vergisinin ilk taksidi ne zamana kadar ödenmeli? | 4, 6 | 1.0 |
| rag | Belediye otoparkında bir günde en fazla ne öderim? | 6, 14 | 1.0 |
| rag | Cumartesi nikah kıydırmak kaç para? | 5, 12 | 0.0 |
| rag | Eski koltuğumu nasıl atarım? | 14, 13 | 0.5 |
| rag | Kedi sahiplenmek istiyorum, ne zaman gelebilirim? | 10, 14 | 0.5 |
| rag | Kafe açacağım, ruhsat ne kadar sürer? | 11, 6 | 1.0 |
| rag | 65 yaşındayım, spor tesislerinde indirim var mı? | 8, 6 | 1.0 |
| rag | Kültür merkezindeki küçük salon kaç kişilik? | 12, 8 | 1.0 |
| ajan | Çamlık Tenis Kortları kaçta açılıyor? | tesis_bilgisi | 1.0 |
| ajan | Öğrenciyim, Yarı Olimpik Havuz'un aylık ücreti bana ne kadar olur? | tesis_bilgisi | 0.5 |
| rag | Belediye başkanımız kim? | 1, 13 | 1.0 |
| rag | Metro hattı ne zaman açılacak? | 1, 6 | 1.0 |
| ajan | Arabamı belediye otoparkında 3,5 saat bırakırsam ne kadar öderim? | otopark_ucreti | 1.0 |
| ajan | Otoparka sabah park edip 9 saat sonra çıksam ücret ne olur? | otopark_ucreti | 1.0 |
| ajan | Aracım 150 dakika otoparkta kalırsa kaç TL öderim? | otopark_ucreti | 1.0 |
4. Sınırlar
Pusula kurgusal bir kurumun kurgusal rehberine göre cevap verir; gerçek bir belediyenin resmî asistanı değildir ve cevaplarındaki ücret ve süreler gerçek hayatta geçerli değildir. Rehberde olmayan konularda bilgi veremez. 1.5B parametreli küçük bir model olduğu için çok adımlı sorularda (tablo, rehber ve hesap birlikte) bir adımı atlayabilir, JSON protokolünü bozabilir ya da bir sayıyı yanlış aktarabilir; sayısal cevaplar aracın çıktısıyla karşılaştırılmalıdır. Otopark aracı, rehberin belirtmediği kesirli saatleri dakika oranıyla hesaplar. Sitede arama TF-IDF ile yapıldığı için rehberde geçmeyen eş anlamlı kelimelerle (örneğin "çöp" yerine "atık") sorulan sorularda yanlış bölümü getirebilir. CPU'daki sitede cevaplar 10-60 saniye sürebilir. Model yalnızca Türkçe ve bu rehberle eğitildi; kişisel veri girmeyin.
Eğitim ayrıntıları
- Yöntem: QLoRA (4 bit NF4), LoRA r=16, alpha=32, dropout 0.05, tüm doğrusal katmanlar
- 3 epoch, etkin batch 16, öğrenme oranı 2e-4 (kosinüs), fp16; kayıp yalnızca asistan cevaplarında
- Eğitim örneği: 395 (kimlik, RAG ve ajan); epok başına ortalama kayıp: [0.9084, 0.3553, 0.2315]; süre ~16.3 dk (T4)
- Veri: Gemini ile üretilmiş sentetik sorular; araç sonuçları gerçek araçlardan; kodla doğrulama
- Sohbet şablonu Qwen (ChatML). Ajan ve RAG system mesajları
araclar.pyiçindeki işlevlerle üretilir.
- Downloads last month
- -