Qwen3-1.7B Otomobil Yedek Parça LoRA Modeli
Türk otomobil sektörü için özel olarak fine-tune edilmiş Qwen3-1.7B LoRA modeli. Bu model, otomobil yedek parça satışı, teknik destek ve müşteri hizmetleri senaryolarında kullanılmak üzere geliştirilmiştir.
📋 İçindekiler
- Model Özeti
- Özellikler
- Eğitim Detayları
- Veri Seti
- Kullanım
- Inference Örnekleri
- Performans
- Katkı
- Lisans
🤖 Model Özeti
| Özellik | Değer |
|---|---|
| Base Model | unsloth/Qwen3-1.7B-unsloth-bnb-4bit |
| Fine-tuning Yöntemi | LoRA + Unsloth |
| Eğitim Süresi | ~9 saat |
| Epoch Sayısı | 2 |
| Final Loss | 0.4931 |
| GPU | 1x NVIDIA L40S |
| Dil | Türkçe |
✨ Özellikler
Bu model aşağıdaki yeteneklere sahiptir:
- 🔍 Ürün Arama: OEM numarası, marka, model ve özelliklere göre yedek parça sorgulama
- 💰 Fiyat Bilgisi: Ürün fiyatları hakkında güncel bilgi sağlama
- 🔧 Teknik Destek: Arıza tespiti ve tamir önerileri
- 📍 Yer Tespiti: Parçaların araç üzerindeki konumunu belirtme
- 🔄 Uyumluluk Kontrolü: Parçanın araca uygunluğunu doğrulama
- 🛠️ Function Calling: Tool kullanarak ürün araması yapma ve sonuçları yorumlama
- 💬 Çoklu Turlu Konuşma: Önceki mesajları hatırlayan devam eden sohbet desteği
- 🧠 Reasoning: Adım adım akıl yürütme ve karmaşık soruları analiz etme
📊 Eğitim Detayları
Eğitim Hiperparametreleri
# Model Konfigürasyonu
MAX_SEQ_LENGTH = 1024
LOAD_IN_4BIT = True
# LoRA Parametreleri
LORA_R = 8
LORA_ALPHA = 16
LORA_DROPOUT = 0.05
# Training Parametreleri
BATCH_SIZE = 1
GRAD_ACCUM = 4
NUM_EPOCHS = 2
LEARNING_RATE = 2e-5
WARMUP_STEPS = 100
Eğitim İstatistikleri
- Toplam Eğitim Süresi: ~9 saat
- Kullanılan GPU: 1x NVIDIA L40S
- Son Loss Değeri: 0.4931
- Effective Batch Size: 16 (4 gradyan biriktirme × 1 batch)
📚 Veri Seti
Model, özenle hazırlanmış sentetik bir veri seti üzerinde eğitilmiştir:
Veri Seti Bileşenleri
| Veri Tipi | Adet | Açıklama |
|---|---|---|
| Reasoning QA | ~43.000 | <think> parametreleri içeren, adım adım akıl yürütme gerektiren soru-cevap çiftleri |
| Parça Tanımları | +7.000 | Yedek parça açıklamaları, teknik özellikler ve kullanım alanları |
| Temel QA | - | <think> parametresi içermeyen, doğrudan cevap gerektiren sorular |
| Function Calling | 1.457 | Uzun konuşma bağlamı içeren, tool çağrısı gerektiren senaryolar |
Veri Seti Kapsamı
Veri seti aşağıdaki senaryoları kapsar:
- Ürün Sorgulama: "BMW 320d 5W30 motor yağı fiyatı nedir?"
- Uyumluluk Kontrolü: "Opel Astra 2015 modelime hangi fren balatası uygun?"
- Teknik Destek: "Volkswagen Golf 1.6 TDI arıza lambası yandı, ne yapmalıyım?"
- Konum Bilgisi: "Mazda 3'ün radyatörü neresinde?"
- Alternatif Marka: "Peugeot 3008 için orjinal alternatifi nedir?"
- Fiyat Karşılaştırma: "Ford Focus için en uygun fiyatlı kampanalı fren diskı hangisi?"
🚀 Kullanım
Kurulum
# Gerekli kütüphaneleri yükleyin
pip install torch transformers peft unsloth accelerate sentencepiece
Model Yükleme
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
from peft import PeftModel
# Base model ve tokenizer yükleme
base_model_name = "unsloth/Qwen3-1.7B-unsloth-bnb-4bit"
model = AutoModelForCausalLM.from_pretrained(
base_model_name,
device_map="cuda",
torch_dtype=torch.float16,
trust_remote_code=True
)
# LoRA adapter'ını yükleme
model = PeftModel.from_pretrained(model, "./qwen3-1.7b-otomobil-yedekparca-lora")
tokenizer = AutoTokenizer.from_pretrained(
base_model_name,
trust_remote_code=True
)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
model.eval()
Temel Sorgulama
# Tekli sorgu örneği
system_prompt = """Sen otomobil yedek parçaları konusunda uzman bir asistansın.\nSorulara net ve kısa cevap ver.\n\nKullanabileceğin araçlar:\n- search_products: Ürün, fiyat, OEM, marka ve güncel bilgiler için\nBir yanıtta en fazla bir araç çağırabilirsin.\nGenel ve teknik sorularda araç kullanma."""
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "BMW 320d 2019 model aracım için hangi motor yağı önerirsin?"}
]
text_input = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer([text_input], return_tensors="pt").to("cuda")
with torch.no_grad():
generated_ids = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.7,
top_p=0.9,
do_sample=True
)
output = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
print(output)
💻 Inference Örnekleri
Detaylı çalıştırma örneği için baglam.py dosyasına bakabilirsiniz.
Interaktif Mod
python baglam.py
Örnek Konuşmalar
Örnek 1: Ürün Sorgulama
Kullanıcı: Mercedes C180 2018 için orijinal akü önerir misin?
Model: Mercedes-Benz Orijinal Akü (12V 80Ah) - Önerilen ürün:
Marka: Mercedes-Benz (Varta)
Voltaj: 12V
Kapasite: 80Ah
CCA: 740A
Boyutlar: 315x175x190mm
Fiyat: ₺4.500
...
Örnek 2: Function Calling
Kullanıcı: Ford Fiesta 2017 model aracım için buji fiyatı nedir?
Model: (Tool çağrısı yapar)
<tool_call>{"name":"search_products","arguments":{"query":"Ford Fiesta 2017 buji"}}</tool_call>
(Veritabanından sonuç alınır)
Model: Ford Fiesta 2017 için önerilen bujiler:
1. NGK Iridium IX - ₺450 (4'lü set)
2. Bosch Platinum - ₺380 (4'lü set)
3. Denso Iridium - ₺420 (4'lü set)
...
Örnek 3: Uyumluluk Kontrolü
Kullanıcı: Peugeot 308 2015 model arabama Opel marka fren balatası takılır mı?
Model: Hayır, Opel fren balatası Peugeot 308 2015 modele doğrudan uymaz.
Bunun nedenleri:
1. Fren kaliperleri farklı boyutlarda
2. Disk kalınlıkları uyumsuz
3. Sensör konumları farklı
Peugeot 308 2015 için önerilen orijinal fren balatası:
- Marka: Peugeot (Bosch)
- Ön Aks: ₺1.850
- Arka Aks: ₺1.450
...
📈 Performans
Eğitim Grafiği
Epoch 1: Loss: 0.8234
Epoch 2: Loss: 0.4931 ✓ (Final)
Benchmark Sonuçları
Model, aşağıdaki senaryolarda test edilmiştir:
| Senaryo | Başarı Oranı |
|---|---|
| Ürün Sorgulama | İyi |
| Fiyat Bilgisi | İyi |
| Uyumluluk Kontrolü | Kötü |
| Teknik Destek | Kötü |
| Function Calling | İyi |
| Genel Sohbet | Çok kötü |
🔧 Teknik Gereksinimler
- GPU: Minimum 4GB VRAM (8GB önerilir)
- RAM: Minimum 16GB sistem belleği
- Python: 3.8+
- CUDA: 11.0+
📝 Lisans
Bu model, Apache 2.0 Lisansı altında yayınlanmıştır.
Base model olan Qwen3-1.7B'ın lisans koşullarına tabidir.
🙏 Teşekkürler
📞 İletişim
Herhangi bir sorunuz veya öneriniz için:
- GitHub Issues: aiproje/qwen3-1.7b-otomobil-yedekparca-lora
Not: Bu model, otomotiv yedek parça sektörü için eğitilmiş olup genel amaçlı kullanım için optimize edilmemiştir. Ticari kullanım için kendi testlerinizi yapmanızı öneririz. Bu deneysel eğitimdeki temel amaç qwen3 1.7 parametreli modelde E-Ticaret sitelerinde kullanım için yeterli olup olmadığını görebilmekti. 4bit varyasyonu pek sağlıklı bir tercih olmasa da sıkıştırılmamış modeldeki eğitim için fikir verebileceğini düşündüğümüzden tercih edip adaptörü ana model üzerinde de test ettik. Sentetik veriseti hazırlığında minimax m2.1, qwen3 max thinking, glm 4.7 gibi modeller kullanılmıştır ve thinking yapıları kopyalanmak yerine adım-adım mantık zinciri de sentetik olarak sonradan üretilmiştir. Kullanıcı niyeti analiz etme, sorudan alınması gereken cevap analizi de yine düşünce sürecinde geçirilmiştir. Verisetini ilerleyen zamanlarda yayınlamayı planlıyoruz.
Model HuggingFace'de yayınlanmıştır: aiproje/qwen3-1.7b-otomobil-yedekparca-lora
- Downloads last month
- 5
Model tree for aiprojecom/qwen3-1.7b-otomobil-yedekparca-lora
Base model
Qwen/Qwen3-1.7B-Base