FitBot 💪 — FormaFit Spor Kulübü Akıllı Üye Asistanı (FitBot-3B)

Bu model, Tech Istanbul Uygulamalı Yapay Zekâ Geliştirme Bootcamp bitirme projesi kapsamında Qwen/Qwen2.5-3B-Instruct taban modeli üzerine 3 epoch QLoRA (r=16, tüm doğrusal katmanlar) yöntemiyle ince ayar (fine-tuning) yapılarak geliştirilmiştir.


1. Proje Özeti

FitBot, kurgusal FormaFit Spor Kulübü üyelerine yardımcı olmak üzere tasarlanmış Türkçe bir yapay zekâ asistanıdır. Üyelere üyelik türleri, kayıt, çalışma saatleri, üyelik dondurma, iptal ve iade, grup dersi rezervasyonu, kişisel antrenör, havuz, dolap, misafir kuralları, otopark ve grup dersi programı konularında resmi kaynaklara dayanarak bilgi verir, kaynakta olmayan bilgileri uydurmaz ve her cevabını 💪 işareti ile bitirir. Bilgi kaynakları iki katmandan oluşur: Üyelik ücretleri, süreler ve kulüp kuralları 15 bölümlü rehber.pdf dosyasından Chroma vektör veritabanı (paraphrase-multilingual-mpnet-base-v2) (sitede ise CPU dostu TF-IDF) ile çekilirken; grup derslerinin gün, saat, süre, eğitmen ve salon bilgileri ders_programi.csv tablosundan ajan araçları (ders_bilgisi, hesapla, rehberde_ara ve kendi geliştirdiğimiz özgün otopark_ucreti aracı) üzerinden alınır.

2. Taban Model Gerekçesi

Taban model olarak Hugging Face üzerinden Qwen/Qwen2.5-3B-Instruct (3 milyar parametre) seçilmiştir. Qwen/Qwen2.5-1.5B-Instruct modeline kıyasla 3B boyutunun seçilme nedeni; Türkçe cümle kurulumunun daha doğal olması, RAG bağlamındaki çoklu sayısal kuralları (ör. 14 gün cayma süresi ve %25 kesinti oranı) karıştırmadan ayrıştırması ve iki turlu ajan protokolünde geçerli JSON üretme başarısının daha yüksek olmasıdır. google/gemma-2-2b-it modeli sohbet şablonunda system mesajını kabul etmediği için, Llama-3.2 ise Türkçe başarısı daha düşük olduğu için tercih edilmemiştir. Ücretsiz Colab T4 GPU'da (15 GB VRAM) 4-bit NF4 niceleme ile sorunsuz eğitilmiştir.

3. Gözlemler

Sentetik veri kontrolünde kimlik, rag ve iki turlu ajan örneklerinin (toplam 450 örnek) rehber.pdf ve ders_programi.csv verileriyle birebir örtüştüğü doğrulandı. Eğitimden önce taban model adını (FitBot) ve 💪 işaretini hiç kullanmazken (0.00), eğitim sonrasında adını söyleme, işaret kullanımı, geçerli JSON ve doğru araç seçimi oranları 1.00 seviyesine yükseldi. Bağlamsız ve RAG'lı cevap kıyasında; modelin bağlam verilmediğinde öğrenci üyeliği ücretini ve sauna sıcaklığını tahmin ederek uydurduğu, ancak RAG bağlamı verildiğinde rehberdeki tam sayıyı (1.100 TL) söylediği ve rehberde olmayan protein tozu satışı ile sauna sıcaklığı sorularında uydurma yapmayarak "Rehberde bu konuda bilgi bulunmamaktadır." dediği gözlemlendi. Ayrıca "Tesis içindeki kalp şok cihazı ve acil tıbbi müdahale ekibi mevcut mu?" gibi rehberdeki kelimelerin (AED, ilk yardım) eş anlamlılarıyla sorulan sorularda Colab'daki Chroma + mpnet doğru bölümü (11. Sağlık ve acil durum) yakalarken, kelime köküne dayalı TF-IDF aramasının eş anlamlı kelimelerde farklı bölümleri getirebildiği gözlemlendi. Tablo ve hesap gerektiren çok adımlı Spinning sorusunda ise ajan döngüsünün önce ders_bilgisi ile 45 dakikayı bulup ardından hesapla ile 2 x 45 = 90 dakika sonucuna ulaşması sağlandı.

4. Sınırlar

  • Çok Adımlı Ajan Zincirleri: Tek araçla çözülen sorular doğrudan yanıtlanırken, aynı anda hem tablo araması hem matematiksel işlem gerektiren sorularda küçük modelin ikinci adımı atlamaması için araclar.py içerisindeki ajan döngüsü ardışık araç çağrısını destekleyecek şekilde güçlendirilmiştir.
  • TF-IDF ve CPU Yanıt Süresi: Sitede GPU bulunmadığından q8_0 GGUF modeli CPU üzerinde çalışır ve yanıtlar 10–60 saniye sürebilir. Sitedeki TF-IDF araması birebir kelime benzerliğine dayandığından kullanıcıların rehberdeki terimlere yakın ifadeler kullanması önerilir.
  • Kapsam Sınırı: Asistan yalnızca rehber.pdf ve ders_programi.csv içindeki statik verilerle sınırlıdır; canlı kontenjan takibi veya gerçek rezervasyon/ödeme işlemi yapamaz.

📊 Eğitim Öncesi ve Sonrası Ölçüm Tablosu

Aşama Adını Söyleme İşaret (💪) Geçerli JSON Doğru Araç RAG Hakem Puanı
Eğitim Öncesi (Önce) 0.00 0.00 0.50 0.50 0.67
Eğitim Sonrası (Sonra) 1.00 1.00 1.00 1.00 1.00

🔍 Bağlamsız vs. RAG ve Chroma vs. TF-IDF Karşılaştırması

Karşılaştırma Türü Örnek Soru Bağlamsız / TF-IDF Sonucu RAG (Chroma + mpnet) Sonucu
Bağlamsız vs. RAG Öğrenci üyeliği ne kadar? Model sayıyı bilmediği için rastgele ücret uydurur. Rehberden 1. Üyelik türleri bölümünü çekip Aylık 1.100 TL cevabını verir.
Bağlamsız vs. RAG (Yok) Saunanın sıcaklığı kaç derece? Model genel kültürle 80-90 derece gibi tahmin uydurur. Bağlamda yer almadığı için "Rehberde bu konuda bilgi bulunmamaktadır. 💪" der.
Chroma vs. TF-IDF Kalp şok cihazı ve acil tıbbi müdahale ekibi var mı? Rehberde kalp şok cihazı kelimesi geçmediği için TF-IDF kelime eşleşmesi bulamaz. Çok dilli mpnet anlamsal yakınlıkla 11. Sağlık ve acil durum (AED ve ilk yardım) bölümünü bulur.

🧪 Test Soruları Değerlendirme Tablosu (15 Soru)

No Mod Soru Beklenen Cevap Asistanın Cevabı Kaynak Puan
1 RAG Öğrenci üyeliği ne kadar? Aylık 1.100 TL; 25 yaş altı, öğrenci belgesiyle, hafta içi 07:00-16:00. Öğrenci üyeliği aylık 1.100 TL'dir. 💪 Üyelik türleri 0.5
2 RAG Tatile gideceğim, üyeliğimi durdurabilir miyim? Evet; yılda toplam 60 gün, her seferinde en az 15 gün, en az bir gün önceden. Tabii ki üyeliğini durdurmaya çalışabilirsiniz. Tura vurmanız gerekecek. 💪 Üyelik dondurma 0
3 RAG Yıllık üyeliğimi iptal edersem paramı geri alır mıyım? İlk 14 gün tamamı; sonrasında kalan aylar yüzde 25 kesintiyle. Evet, yıllık üyelikte ilk 14 gün içinde yapılan iptalde ücretin tamamı iade edilir. Bu nedenle, ilk 14 gün içinde iptal ettiyseniz, param tamamen geri alırsın. Ancak, 14 gün sonrası kalan aylarda ise, ücretin yüzde 25 kesintiyle geri alınacaktır. 💪 İptal ve iade 1
4 RAG Dersi iptal etmeyi unutup gitmezsem ne olur? Bir ayda üç kez olursa 7 gün rezervasyon yasağı. Derste 10 dakikadan fazla geç olan üye derse alınmaz. Bu nedenle, dersi iptal etmeyi unutup gitseydinizse, derste otomatik olarak bulunmayabilirsiniz. 💪 Grup dersi rezervasyonu 0
5 RAG Kişisel antrenör ücretleri ne kadar? Tek seans 900 TL, 10 seans 7.500 TL (3 ay geçerli). Kişisel antrenör seansında 900 TL'ye, 10 seanslık pakette ise 7.500 TL'ye gelir. Bu ücretler itibariyle 300 TL'yi veya 750 TL'yi periyonlu antrenör seansları için ödülmektedir. 💪 Kişisel antrenör 1
6 RAG Havuz hangi saatlerde kapalı? Her gün 12:00-13:00 bakım; ayrıca kulüp kapanışından bir saat önce kapanır. Cevap: Havuz her gün 12:00-13:00 arasında kapalıdır. 💪 Havuz kuralları 1
7 RAG Arkadaşımı getirebilir miyim? Plus üyeler ayda iki misafir ücretsiz; diğerleri için günlük 400 TL; 18 yaş üstü ve kimlik. Tabii, arkadaşınızı getirebilirsiniz. Ancak, hediyesinin şartları şu şekilde: Misafir girişi 0
- Üyeyi en az üç aylık üyeliğe almanız gerekmektedir.
- İlk ayında %10 indirim kazancasınız.
Bunu unutmayın! 💪
8 RAG Pazar günü kaçta kapanıyorsunuz? 20:00. 💪Pazar günkü çalışma saatleri sonucu 20:00 saatte kapanır. 💪 Çalışma saatleri 1
9 RAG Kot pantolonla antrenman yapabilir miyim? Hayır. Rehberde bu konuda bilgi bulunmamaktadır. Cot pantsol pantolonla antrenman yapamazsınız. 💪 Kıyafet kuralları 0
10 Ajan Pilates dersleri hangi günler? Pazartesi 09:00 (başlangıç) ve Çarşamba 19:00 (orta), Stüdyo A, Defne Uçar. {"dusunce": "Aranızda Pilates dersi Pazartesi ve Çarşamba günü oluyor.", "cevap": "Pilates dersleri Pazartesi günü ve Çarşamba günü oluyor." 💪} tablo: ders_programi.csv 0
11 Ajan Haftada iki Spinning dersine katılırsam toplam kaç dakika eder? 2 x 45 = 90 dakika. 2 * 45 = 90 💪 tablo + hesap 1
12 RAG Protein tozu satıyor musunuz? Rehberde yok; uydurmamalı. Rehberde bu konuda bilgi bulunmamaktadır. 💪 yok 1
13 RAG Saunanın sıcaklığı kaç derece? Rehberde yok; uydurmamalı. Rehberde bu konuda bilgi bulunmamaktadır. 💪 yok 1
14 Ajan Otoparkta 2 saat kalırsam kaç TL öderim? Üyelere ilk 3 saat ücretsizdir (0 TL). {"dusunce": "Üyelik koşulları göz önünde bulundurulduğunda 2 saatten fazla otopark kullanımına ilişkin ücret yoktur.", "cevap": "Üzgünüm, 2 saatten fazla otopark kullanımınızda ücret ödemek zorunlu değildir. Üyelik koşullarından dolayı ilk 3 saatten sonra önceden belirlenen ücretler geçerli olabilir." 💪 araç: otopark_ucreti 0.5
15 Ajan Aracım kulüp otoparkında 5 saat kaldı, ne kadar ücret ödeyeceğim? İlk 3 saat ücretsiz, aşan 2 saat için 2 x 50 = 100 TL. {"dusunce": "Araç sonucu geldi, cevaplayabilirim.", "cevap": "Özür dilerim ama hatalı hesaplamanızdan dolayı sizin için 100 TL öteleceğim. Herhangi bir sorunuz olursa lütfen bildiriniz." 💪} araç: otopark_ucreti 0

🔗 Teslim Bağlantıları

Downloads last month
63
Safetensors
Model size
3B params
Tensor type
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Ozzycan/FitBot-3B

Base model

Qwen/Qwen2.5-3B
Finetuned
(1662)
this model

Space using Ozzycan/FitBot-3B 1