Skip to main content

needle-tr

Türkçe Araç Çağırıcı (Tool Calling) ve Fine-Tuning Sistemi.

needle-tr, Türkçe dilinde fonksiyon / araç çağırma (function calling) yeteneklerine sahip yapay zeka modelleri geliştirmek, sentetik veri üretmek, LoRA ile fine-tuning yapmak ve Ollama üzerinde dağıtmak için tasarlanmış uçtan uca bir kütüphane ve CLI aracıdır.

Proje, Cactus Compute tarafından geliştirilen hafif ve cihaz üstü (on-device) araç çağırma modeli Needle (cactus-needle) altyapısını temel alarak Türkçe dil desteği ve fine-tuning araçlarıyla genişletilmiştir.


🚀 Özellikler

  • Yerleşik Türkçe Araçlar: Hava durumu sorgulama, mesaj gönderme, alarm kurma, matematiksel hesaplama gibi şablon araçlar.
  • Sentetik Veri Üretici: Tohum (seed) veriler ve isteğe bağlı yerel Ollama (qwen2.5:7b vb.) desteğiyle Türkçe veri seti genişletme (data/train.jsonl, data/val.jsonl).
  • LoRA Fine-Tuning Desteği: Hugging Face transformers, peft ve trl entegrasyonu ile hedef modelleri Türkçe araç çağırma formatına uyarlama.
  • Ollama Dağıtımı: Eğitilen veya mevcut modeller için otomatik Modelfile üretimi ve tek tıkla Ollama ortamına aktarım.

📦 Kurulum

Bu proje uv paket yöneticisi ile yönetilmektedir:

# Bağımlılıkları senkronize edin
uv sync

🛠️ CLI Kullanımı

Tüm süreç needle-tr komut satırı arayüzü ile yönetilebilir:

1. Sentetik Veri Üretimi

# Yerel tohum verileri kullanarak
uv run needle-tr generate-data

# Ollama ile zenginleştirilmiş veri üretimi
uv run needle-tr generate-data --use-ollama --ollama-model qwen2.5:7b

2. Fine-Tuning

# Doğrulama (Dry-run)
uv run needle-tr train --dry-run

# Eğitim başlatma
uv run needle-tr train --base-model Qwen/Qwen2.5-7B-Instruct --epochs 3

3. Ollama Modelfile Dışa Aktarma

uv run needle-tr export-ollama --base-model qwen2.5:7b --model-name needle-tr

Ardından Ollama üzerinde modeli oluşturun ve çalıştırın:

ollama create needle-tr -f Modelfile
ollama run needle-tr "25 * 4 hesapla"

🐍 Python Ajan Kullanımı

Cihaz üstü yerel ajan çalıştırma, Cactus Compute Needle (cactus-needle) kütüphanesini kullanır:

uv run needle-agent

Veya Python kodunuz içerisinde:

from needle_tr import agent

response = agent.run("İstanbul'da hava durumu nasıl?")
print(response)

📚 Detaylı Rehber

Ayrıntılı adımlar ve mimari açıklamaları için FINETUNE_GUIDE.md dosyasına göz atabilirsiniz.


📊 Benchmark ve Başarım Sonuçları

needle-tr yerleşik benchmark aracı ile ölçülen son başarım sonuçları:

Needle-TR Benchmark Sonuçları

📈 Özet Performans Metrikleri

Metrik Değer Açıklama
Test Edilen Hedef Cactus Needle (On-Device Agent) Test edilen ortam (Ajan / Model)
Toplam Test Sayısı 14 Doğrulama sorgusu sayısı
Araç Seçim Doğruluğu %92.9 (13/14) Doğru fonksiyonun seçilme oranı
Argüman Doğruluğu %78.6 (11/14) Parametrelerin eksiksiz eşleşme oranı
Geçerli Yanıt / JSON %100.0 (14/14) Bozulma olmadan parse edilen çağrılar
Ortalama Gecikme 261.2 ms Min: 59.1 ms, Max: 931.0 ms
Son Güncelleme 2026-09-28 15:13:49 Otomatik benchmark çalıştırma zamanı

🔍 Araç Bazında Detay Dağılımı

Araç (Tool) Araç Doğruluğu Argüman Eşleşmesi Test Sayısı Ortalama Gecikme
calculate %100.0 %50.0 4 75.3 ms
get_weather %75.0 %75.0 4 556.5 ms
send_message %100.0 %100.0 3 214.8 ms
set_alarm %100.0 %100.0 3 161.6 ms

Benchmark testlerini kendiniz çalıştırmak ve grafiği güncellemek için:

# Cactus Needle (On-device) Ajanı için
uv run needle-tr benchmark --target agent

# Ollama Modeli için
uv run needle-tr benchmark --target ollama --ollama-model needle-tr

🙏 Referanslar & Teşekkürler

  • Cactus Compute - Needle: Cihaz üzerinde (on-device) çalışan hafif ve verimli fonksiyon / araç çağırma kütüphanesi (needle).

Metadata

Release files for needle-tr 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for needle-tr 0.1.1
File Size Uploaded
needle_tr-0.1.1.tar.gz 17.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for needle-tr 0.1.1
File Interpreter ABI Platform
needle_tr-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 39.4 kB

Release files / needle_tr-0.1.1.tar.gz

Download URL needle_tr-0.1.1.tar.gz
Size 17.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0f9e1b0a68e98f7ef66eec53543578fe76fd2e79a5e7c4fef79c25f129f52c33
BLAKE2b-256 checksum
How to use checksums
55960c3b9ff1a40d44115bb089e7ee571e08b08ef6c5c2014691fe110a5a9d66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / needle_tr-0.1.1-py3-none-any.whl

Download URL needle_tr-0.1.1-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7dd2d50b9fecb5c8fede48dec75f1f528a01144d43c48d40559c8628466ea7c
BLAKE2b-256 checksum
How to use checksums
8463514a9b3e1e9cf9b5b216cd9bba50bbc3ee9b85dd3adbc696409911610859
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page