AlienTurk's picture
Upload README.md with huggingface_hub
ead7ba4 verified
|
Raw
History Blame Contribute Delete
3.98 kB
---
language:
- tr
- en
license: apache-2.0
tags:
- turkish
- personal-assistant
- qwen
- gguf
- llama.cpp
- unsloth
- natural-language
base_model: Qwen/Qwen2.5-3B-Instruct
---
# Mira Turkish Assistant v7N (Qwen2.5-3B-IT-TR) — Doğal Dil SFT
**v7N = v7 Natural.** v6N üzerine iyileştirilmiş NLP patternleri ve ek senaryolarla genişletilmiş sürüm. Doğal Türkçe yanıt üretir; yapısal veri (intent, datetime, task_id) Hybrid NLP Engine tarafından runtime'da paralel çıkarılır.
Qwen2.5-3B-Instruct baz modeli üzerine **Unsloth + TRL** ile **doğal dil SFT** (Supervised Fine-Tuning) eğitilmiş Türkçe kişisel asistan modelidir.
## v7N vs v6N
| Özellik | v6N | v7N |
|---|---|---|
| Türkçe time parser | `saat X:XX`, `akşam X` | Lokatif (`14'te`), `ayın 14`, `5te`, yazılı sayı |
| Date extraction | Gün isimleri | parseCalendarDay + parseWeekday (daha robust) |
| Disambiguation | P33 engine fallback | AlertDialog UI + engine |
| Undo stack | best-effort skip | 4 undo tipi (create/cancel/update + orijinal snapshot) |
## Mimari
```
User → LLM (Qwen2.5-3B v7N) ↔ NLPEngine (rule-based)
↓ ↓
Doğal yanıt Intent + taskTitle + datetime
↓ ↓
└────────→ ActionDispatcher → DB + notification
```
## Kullanım
```python
from llama_cpp import Llama
from datetime import datetime
llm = Llama(
model_path="qwen2.5-3b-tr-asistant-v7N.Q4_K_M.gguf",
n_threads=3,
n_ctx=2048,
)
today_str = datetime.now().strftime("%d %B %Y, %A")
SYSTEM_PROMPT = f"""Sen son derece yardımcı, nazik, empatik ve organize bir Türkçe kişisel asistansın.
BUGÜN: {today_str}.
- Kullanıcıyla doğal, samimi ve akıcı bir sohbet kur.
- Görevlerini, randevularını ve hatırlatıcılarını yönet.
- Detaylar (özellikle saat) eksikse kibarca sor. Netse, doğal dille onayla.
- Asla ham JSON, kod bloğu veya teknik terim kullanma."""
output = llm.create_chat_completion(
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Yarın saat 14'te fatura ödemeyi unutma."},
],
max_tokens=256,
)
print(output["choices"][0]["message"]["content"])
```
## Engine Guard'lar
- **TimeFabricationGuard** — LLM saat uydurduğunda saat sorma template
- **NotAlOverrideGuard** — "not al" semantiği → saatsiz görev
- **MultiTurnConfirmationRecoveryGuard** — Çok-turlu onay
- **ChatUpdateCancelRecoveryGuard** — Multi-turn update/cancel
- **P33 Disambiguation** — 2+ match kullanıcıya seçim listele
## Reply Formatları
| Senaryo | Format |
|---------|--------|
| 1.1 (saat sorma) | "Anladım [Gün] [Aktivite] için hangi saatte hatırlatma istersiniz?" |
| 1.3 (offset) | "[Gün] saat [HH:MM] [Aktivite] için hatırlatıcın [Süre] önce kuruldu." |
| 1.5 / Senaryo 2 | "[Gün] için [Aktivite] görevi kuruldu." |
| 3 (iptal) | "Tamam, [Aktivite] görevi silindi." |
| 5 (UPDATE) | "[Gün] [Aktivite] [Saat] için [Süre] önce güncellendi." |
## Donanım Doğrulamaları (Mobile)
| Cihaz | Backend | Threads | Context | Warm Response | RAM |
|-------|---------|---------|---------|---------------|-----|
| POCO X4 GT (Dimensity 8100) | CPU | 2 | 768 | ~6s | ~3 GB |
| iPhone 17 Pro (M3 Max sim) | CPU | 6 | 2048 | <2s | ~2.5 GB |
## Lisans
Apache 2.0 (Qwen2.5 base modeliyle uyumlu).
## Atıf
```
@misc{mira-turkish-assistant-v7n-2026,
author = {Algoritma Turk},
title = {Mira Turkish Assistant v7N (Natural): Qwen2.5-3B Fine-tuned with Natural-Language SFT for Turkish Personal Assistant Tasks},
year = {2026},
publisher = {Hugging Face},
url = {https://huggingface.co/AlienTurk/Turkish-Asistant-gguf}
}
```
## Bağlantılar
- Base model: https://huggingface.co/Qwen/Qwen2.5-3B-Instruct
- Quantized GGUF: https://huggingface.co/AlienTurk/Turkish-Asistant-gguf
- Fine-tune framework: https://github.com/unslothai/unsloth