初始化项目,由ModelHub XC社区提供模型
Model: Rudblest/projedanismanai-v2-qwen3-14b Source: Original Platform
This commit is contained in:
206
README.md
Normal file
206
README.md
Normal file
@@ -0,0 +1,206 @@
|
||||
---
|
||||
language:
|
||||
- tr
|
||||
license: apache-2.0
|
||||
base_model: Qwen/Qwen3-14B-Instruct
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- qwen3
|
||||
- turkish
|
||||
- teknofest
|
||||
- tubitak
|
||||
- fine-tuned
|
||||
- qlora
|
||||
- unsloth
|
||||
- conversational
|
||||
- instruct
|
||||
library_name: transformers
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
# 🎯 ProjeDanışmanAI v2
|
||||
|
||||
### TEKNOFEST & TÜBİTAK Yarışmacıları için Türkçe Yapay Zeka Danışmanı
|
||||
|
||||
[](https://huggingface.co/Qwen/Qwen3-14B-Instruct)
|
||||
[](https://huggingface.co/models?language=tr)
|
||||
[](https://opensource.org/licenses/Apache-2.0)
|
||||
[](https://github.com/unslothai/unsloth)
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 📌 Nedir?
|
||||
|
||||
**ProjeDanışmanAI v2**, Qwen3-14B modeli üzerine 3.043 Türkçe örnek ile fine-tune edilmiş bir danışman modelidir. TEKNOFEST ve TÜBİTAK yarışmacılarına proje süreçlerinin her aşamasında rehberlik eder.
|
||||
|
||||
> ⚡ v2, v1'e (Mistral-Nemo-12B) kıyasla daha güçlü bir base model kullanıyor.
|
||||
> Qwen3-14B, Qwen2.5-32B eşdeğeri performans gösterirken 14B VRAM'de çalışır.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Ne Yapabilir?
|
||||
|
||||
| Kategori | Açıklama |
|
||||
|---|---|
|
||||
| 📄 **Rapor Yazımı** | KTR / PTR teknik rapor bölümlerini yazar, örnekler sunar |
|
||||
| 💡 **Proje Geliştirme** | Sıfırdan proje fikri oluşturur, yol haritası çıkarır |
|
||||
| 🔍 **Özet & Analiz** | Proje dökümanlarını özetler, güçlü/zayıf yönleri analiz eder |
|
||||
| 🧠 **Strateji** | Jüri odaklı sunum stratejisi, özgünlük bölümü güçlendirme |
|
||||
| 🛠️ **Hata Düzeltme** | Mevcut rapor bölümlerindeki eksikleri tespit eder |
|
||||
| 🚫 **Alan Dışı Red** | TEKNOFEST/TÜBİTAK dışı sorulara kibarca yanıt vermez |
|
||||
|
||||
---
|
||||
|
||||
## 🏋️ Eğitim Detayları
|
||||
|
||||
| Parametre | Değer |
|
||||
|---|---|
|
||||
| Base Model | `Qwen/Qwen3-14B-Instruct` |
|
||||
| Yöntem | QLoRA 4-bit + Unsloth |
|
||||
| LoRA Rank | 16 |
|
||||
| LoRA Alpha | 32 |
|
||||
| rsLoRA | ✅ |
|
||||
| Epoch | 2 |
|
||||
| Learning Rate | 1e-4 |
|
||||
| Efektif Batch | 8 (2 × 4 grad. accum.) |
|
||||
| Max Seq Length | 3072 |
|
||||
| Warmup Ratio | %10 |
|
||||
| LR Scheduler | Cosine |
|
||||
| Thinking Mode | Kapalı (`/no_think`) |
|
||||
| En İyi Val Loss | 0.5519 (adım 400) |
|
||||
|
||||
---
|
||||
|
||||
## 📊 Veri Seti
|
||||
|
||||
3.043 Türkçe instruction-output çifti:
|
||||
|
||||
| Kategori | Örnek |
|
||||
|---|---|
|
||||
| Rapor Yazımı | 761 |
|
||||
| Sıfırdan Proje | 730 |
|
||||
| Genel Özet | 593 |
|
||||
| Strateji | 505 |
|
||||
| Hata Düzeltme | 324 |
|
||||
| Alan Dışı Red | 130 |
|
||||
| **Toplam** | **3.043** |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Kullanım
|
||||
|
||||
### Ollama ile (GGUF Q4_K_M)
|
||||
|
||||
```bash
|
||||
ollama run hf.co/Rudblest/projedanismanai-v2-qwen3-14b:Q4_K_M
|
||||
```
|
||||
|
||||
### Python — Unsloth ile
|
||||
|
||||
```python
|
||||
import re
|
||||
from unsloth import FastLanguageModel
|
||||
|
||||
model, tokenizer = FastLanguageModel.from_pretrained(
|
||||
model_name = "Rudblest/projedanismanai-v2-qwen3-14b",
|
||||
max_seq_length = 3072,
|
||||
dtype = None,
|
||||
load_in_4bit = True,
|
||||
)
|
||||
FastLanguageModel.for_inference(model)
|
||||
|
||||
SYSTEM_PROMPT = (
|
||||
"/no_think\n"
|
||||
"Sen ProjeDanışmanAI'sın. TEKNOFEST ve TÜBİTAK yarışmacılarına Türkçe olarak "
|
||||
"rehberlik eden bir yapay zeka danışmanısın."
|
||||
)
|
||||
|
||||
def chat(soru, max_new_tokens=512):
|
||||
messages = [
|
||||
{"role": "system", "content": SYSTEM_PROMPT},
|
||||
{"role": "user", "content": soru},
|
||||
]
|
||||
prompt = tokenizer.apply_chat_template(
|
||||
messages, tokenize=False, add_generation_prompt=True
|
||||
)
|
||||
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
||||
outputs = model.generate(
|
||||
**inputs,
|
||||
max_new_tokens=max_new_tokens,
|
||||
temperature=0.7,
|
||||
top_p=0.9,
|
||||
repetition_penalty=1.1,
|
||||
do_sample=True,
|
||||
)
|
||||
response = tokenizer.decode(
|
||||
outputs[0][inputs["input_ids"].shape[1]:],
|
||||
skip_special_tokens=True
|
||||
)
|
||||
# <think> taglarını temizle
|
||||
return re.sub(r"<think>.*?</think>", "", response, flags=re.DOTALL).strip()
|
||||
|
||||
print(chat("TEKNOFEST KTR raporunda risk analizi nasıl yazılır?"))
|
||||
```
|
||||
|
||||
### llama-cpp-python ile
|
||||
|
||||
```python
|
||||
from llama_cpp import Llama
|
||||
|
||||
llm = Llama.from_pretrained(
|
||||
repo_id = "Rudblest/projedanismanai-v2-qwen3-14b",
|
||||
filename = "*Q4_K_M.gguf",
|
||||
n_gpu_layers = -1,
|
||||
n_ctx = 3072,
|
||||
)
|
||||
|
||||
response = llm.create_chat_completion(messages=[
|
||||
{"role": "system", "content": "/no_think\nSen ProjeDanışmanAI'sın..."},
|
||||
{"role": "user", "content": "TÜBİTAK 2209-A başvurusu nasıl hazırlanır?"},
|
||||
])
|
||||
print(response["choices"][0]["message"]["content"])
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Önemli Not — `/no_think`
|
||||
|
||||
Qwen3 varsayılan olarak `<think>...</think>` bloklarıyla düşünce zinciri üretir.
|
||||
Bu model **thinking mode kapalı** olarak eğitilmiştir. Her kullanımda system prompt'un başına `/no_think` ekleyin, aksi hâlde boş `<think></think>` tagları yanıta karışabilir.
|
||||
|
||||
---
|
||||
|
||||
## 🔄 v1 → v2 Karşılaştırması
|
||||
|
||||
| | v1 | v2 |
|
||||
|---|---|---|
|
||||
| Base Model | Mistral-Nemo-12B | **Qwen3-14B** |
|
||||
| Türkçe Kalite | Orta | **Yüksek** |
|
||||
| LoRA Rank | 64 | **16** (az veri için optimal) |
|
||||
| Epoch | 5 | **2** (overfitting önlendi) |
|
||||
| Thinking Mode | Yok | **Kapalı (`/no_think`)** |
|
||||
| Val Loss (en iyi) | — | **0.5519** |
|
||||
|
||||
---
|
||||
|
||||
## 🚫 Sınırlamalar
|
||||
|
||||
- Yalnızca Türkçe yanıt üretir
|
||||
- TEKNOFEST / TÜBİTAK dışı konularda yardım etmez
|
||||
- Şartname detayları için RAG sistemi önerilir (model şartnameleri ezberlemiş değildir)
|
||||
- Üretilen içerik danışman niteliğindedir, resmi başvuru öncesi kontrol edilmelidir
|
||||
|
||||
---
|
||||
|
||||
## 👥 Ekip
|
||||
|
||||
**ProjeDanışmanAI** — Fırat Üniversitesi öğrencileri tarafından geliştirilmektedir.
|
||||
|
||||
---
|
||||
|
||||
## 📄 Lisans
|
||||
|
||||
Apache 2.0 — Qwen3 temel modeli lisansına uygun.
|
||||
Reference in New Issue
Block a user