ChoyrensAi takımı tarafından geliştirilen, uçtan uca veri üretimi → model eğitimi → servis (backend) → arayüz (frontend) → değerlendirme (benchmark) akışını tek depoda sunan referans uygulama.
- BilisimVadisi2025
- Türkiye Açık Kaynak Platformu
- Proje Özeti
- Depo Yapısı
- Bağımlılıklar (Eksiksiz Liste)
- Kurulum ve Çalıştırma Adımları
- Veri Seti (Herkese Açık Bağlantı ve Alternatif Üretim)
- Model Eğitimi (QLoRA/BF16)
- Backend (API)
- Frontend (Web Arayüz)
- Benchmark ve Raporlama
- Testler
- Etiketler ve Duyurular
- Kod Referansı
- Eğitim scripti:
ai_model/scripts/training/expert_trainer-stable.py - Veri üretimi:
ai_model/modular_generator/(modüler veri üretici) - Ana veri seti dosyası:
ultimate_human_level_dataset_v2_enhanced_20250809_033446.json - Testler ve değerlendirme:
src/benchmark/ - Frontend:
frontend/ - Backend:
backend/
ai_model/modular_generator/: Üst düzey modüler veri üreteci (senaryolar, şema doğrulama, yardımcılar)ai_model/scripts/training/expert_trainer-stable.py: Llama-3 için QLoRA/BF16 uzman seviye eğitim scriptibackend/: FastAPI tabanlı REST servisleri ve Telekom mock/örnek uçlarıfrontend/: Vite + Vue tabanlı web arayüzüsrc/benchmark/: Model değerlendirme, metrikler, LLM tabanlı otomatik puanlamareports/: Benchmark çıktı ve özetleri
- Python 3.10+
- Node.js 18+ (frontend için)
- (İsteğe bağlı) NVIDIA GPU + CUDA 12.x (model eğitimi için önerilir)
- Kurulum:
pip install -r backend/requirements.txt
Başlıca paketler:
- fastapi, uvicorn, pydantic (v2), httpx, python-dotenv
Eğitim ortamı için önerilen paketler:
pip install --upgrade torch transformers datasets accelerate peft trl bitsandbytes pydantic python-dotenv
Benchmark ve metrikler için önerilen paketler:
pip install --upgrade click pandas numpy matplotlib httpx pyyaml sacrebleu rouge-score bert-score
Not: bert-score ilk çalıştırmada model indirebilir; internet erişimi gerektirir.
- Node paketleri:
npm install(veyapnpm install) - Vite, Vue 3, Tailwind (stil dosyaları repo içinde)
git clone <repo-url> && cd UniqeAi
Kök dizinde .env oluşturun ve en azından aşağıdaki anahtarları tanımlayın:
HUGGINGFACE_HUB_TOKEN=...
WANDB_API_KEY=... # (opsiyonel) eğitim logları için
- Seçenek A – İndir (herkese açık bağlantı): Aşağıdaki bölümdeki bağlantıyı kullanın ve dosyayı proje köküne kaydedin.
- Seçenek B – Üret (modüler üreteç):
cd ai_model
python -m modular_generator.main --num-samples 10000 --output-file ultimate_human_level_dataset_v2_enhanced_20250809_033446.json
cd ..
pip install -r backend/requirements.txt
uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --reload
cd frontend
npm install
npm run dev
Örnek bir models.yaml oluşturun (mock veya gerçek model tanımları ile):
models:
- id: mock
name: Mock Echo
backend: mock
model_name_or_endpoint: mockArdından değerlendirmeyi çalıştırın:
python -m src.benchmark.run --models models.yaml \
--dataset ultimate_human_level_dataset_v2_enhanced_20250809_033446.json \
--out reports --llm-eval
- Dosya adı:
ultimate_human_level_dataset_v2_enhanced_20250809_033446.json - Herkese açık indirme bağlantısı (örnek, Release varlıkları üzerinden):
https://github.com/UniqeAI/UniqeAi/releases/latest/download/ultimate_human_level_dataset_v2_enhanced_20250809_033446.json
Alternatif barındırma seçenekleri:
- GitHub Releases (önerilir)
- Hugging Face Datasets
- Bulut depolama (örn. Google Drive, S3) – paylaşımı “genel/anyone with the link” yapınız
Not: Lütfen yukarıdaki URL’de REPO_OWNER/REPO_NAME kısmını kendi deponuza göre güncelleyiniz.
Eğitim scripti: ai_model/scripts/training/expert_trainer-stable.py
Temel kullanım:
python ai_model/scripts/training/expert_trainer-stable.py \
--model_name "meta-llama/Meta-Llama-3-8B-Instruct" \
--data_paths ultimate_human_level_dataset_v2_enhanced_20250809_033446.json \
--output_dir UniqeAi/ai_model/final-model_v6_bf16 \
--num_train_epochs 3 --gradient_accumulation_steps 16 --bf16 True
Notlar:
.enviçindekiHUGGINGFACE_HUB_TOKENotomatik yüklenir.use_bf16_training=Trueise BF16; aksi halde 4-bit QLoRA kullanılır.- W&B entegrasyonu için
WANDB_API_KEYsağlayabilirsiniz.
Hugging Face'te yayınlanan modellerimiz:
- ChoyrensAI-Telekom-Agent-v6-gguf - En güncel GGUF formatı (5-bit Q5_K_M, 5.73 GB)
- ChoyrensAI-Telekom-Agent-v5-gguf - 8-bit Q8_0 formatı (8.54 GB)
- ChoyrensAI-Telekom-Agent-v4-gguf - Önceki versiyon GGUF
- ChoyrensAI-Telekom-Agent-v1-merged - İlk merged model (Safetensors, BF16)
Çalıştırma:
uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --reload
Örnek uçlar:
GET /api/v1/healthPOST /api/v1/telekom/billing/currentPOST /api/v1/telekom/packages/quotasPOST /api/v1/telekom/support/tickets
Detaylar için backend/app/api/v1/ ve backend/app/services/ dizinlerine bakınız.
Geliştirme modu:
cd frontend
npm install
npm run dev
Öntanımlı API adresi http://localhost:8000 olup, UI bileşenleri frontend/src/ altındadır.
- Çalıştırma:
python -m src.benchmark.run --models models.yaml --dataset <json> --out reports - Toplu rapor birleştirme:
python -m src.benchmark.compare --reports reports/aggregate --out reports/combined.csv - Metrikler: BLEU, ROUGE, BERTScore + (opsiyonel) LLM tabanlı değerlendirme
pytest -q
Başlıca testler:
- Backend:
backend/tests/test_telekom_api.py - Benchmark:
tests/test_runner_with_mock_model.py,tests/test_metrics.py
- GitHub konuları (Topics) bölümüne aşağıdaki etiketleri ekleyiniz:
BilisimVadisi2025Turkiye-Acik-Kaynak-Platformu
GitHub CLI ile eklemek için (opsiyonel):
gh repo edit --add-topic BilisimVadisi2025 --add-topic Turkiye-Acik-Kaynak-Platformu
Paylaşımlarda ve duyurularda “Türkiye Açık Kaynak Platformu”nu etiketlemeyi unutmayınız.
ChoyrensAi • 2025
Bu bölüm, repodaki ana bileşenleri ve önemli fonksiyon/sınıfları yüksek seviyede açıklar.
-
ai_model/scripts/training/expert_trainer-stable.pyModelAndDataConfig,TrainingArguments: Eğitim ve veri ayarları.setup_huggingface_token():.env→ HF token yükleme.ExpertTrainer_normalize_dialogue_item(): Farklı formatlardan standartdongulerşemasına dönüştürme._format_dialogue(): Llama-3 chat template’iyle %100 uyumlu tool-calling yapı üretimi._load_and_prepare_dataset(): JSON →datasets.Datasetdönüşümü,tokenizer.apply_chat_templatekullanımı.run(): BF16/QLoRA seçimi, LoRA kurulumu (peft),trl.SFTTrainerile eğitim ve kayıt.
-
ai_model/modular_generator/core_generator.py–SupremeHumanLevelDatasetGenerator_build_api_response_mapping(),_create_validated_response()generate_supreme_dataset(),save_dataset()- Lazy özellikler:
personality_profiles,cognitive_patterns,meta_templates,cultural_contexts,temporal_reasoning_patterns,innovation_frameworks(bkz.lazy_loading.py,initializers.py).
config/settings.pySCENARIO_WEIGHTS: Senaryo ağırlıklarıAPI_RESPONSE_MAPPING: Fonksiyon → Pydantic response modeli eşlemesitelekom_api_schema.pyimport ve şema özetleri
generators/basic_scenarios/veadvanced_scenarios/:generate_*_scenariofonksiyonları (ör.generate_change_package_scenario,generate_adaptive_communication_scenarios).
validators/api_validators.pyvalidate_tool_call,validate_scenario_quality,verify_pydantic_compliance.
utils/helpers.pygenerate_user_id,generate_mock_data_for_model,create_validated_response.
telekom_api_schema.py- Telekom alanına özel tüm
Request/ResponsePydantic modelleri ve yardımcı fonksiyonlar.
- Telekom alanına özel tüm
backend/app/main.py: Uygulama ana girişi,/api/v1/health.backend/app/api/v1/telekom.py: Telekom işlemleri- Faturalama:
/billing/current,/billing/history,/billing/pay,/billing/payments,/billing/autopay - Paketler:
/packages/current,/packages/quotas,/packages/change,/packages/available,/packages/details - Servisler/Ağ:
/services/roaming,/network/status - Destek:
/support/tickets,/support/tickets/close,/support/tickets/status,/support/tickets/list - Müşteri:
/customers/profile,/customers/contact,/lines/suspend,/lines/reactivate - Kimlik:
/auth/register,/auth/login
- Faturalama:
backend/app/api/v1/chat.py: Chat endpoint’leri (yeni/legacy),ChatRequest/ChatResponseNewşemaları.backend/app/services/ai_orchestrator*.py: Gerçek/sade orkestratör; araç çağrıları ve final yanıt üretimi.backend/app/services/ai_endpoint_functions.py: Telekom uçları için istemci yardımcıları (facade).- Testler:
backend/tests/test_telekom_api.py.
- Vite + Vue 3 yapısı (
frontend/src/). - API istemcisi:
frontend/src/services/api.js(telekom uçlarına sarmalayıcı fonksiyonlar). - Sayfalar/Bileşenler:
frontend/src/pages/*,frontend/src/components/*.
src/benchmark/adapters/:openai_adapter.py,hf_adapter.py,http_adapter.py,gguf_adapter.py,mock_adapter.py– ortakInferenceResulttipi (adapters/types.py).src/benchmark/metrics.py: BLEU, ROUGE, BERTScore vecompute_all_metrics.src/benchmark/llm_eval.py: OpenAI/HF/Mock LLM değerlendirme fonksiyonları.src/benchmark/pydantic_validator.py: Model çıktısının telekom şemalarına doğrulanması.src/benchmark/runner.py: Dataset üzerinde model çalıştırma ve sonuçların kaydı.src/benchmark/compare.py: Aggregate CSV’leri birleştirme.
reports/aggregate/*.csv: Modellerin toplu sonuçları.
Bu proje, uçtan uca veri üretimi → model eğitimi → servis (backend) → arayüz (frontend) → değerlendirme (benchmark) akışını tek depoda sunan referans uygulamadır.
- 🧠 Akıllı Sohbet: Doğal dil işleme ile müşteri sorularını anlama
- 📊 Modüler Veri Üretimi: 20+ kişilik profili, 7 bilişsel kalıp, 3 kültürel bağlam
- ⚡ Real-time İşlemler: Anlık fatura, paket ve destek işlemleri
- 🔧 Kapsamlı Test Sistemi: BLEU, ROUGE, BERTScore + LLM tabanlı değerlendirme
- 📱 Fatura sorgulama ve ödeme
- 📦 Paket değişimi ve yönetimi
- 🔧 Teknik destek ve arıza bildirimi
- 💰 Kampanya ve promosyon yönetimi
- 📞 Hat işlemleri ve numarahanı
- 🌐 İnternet ve Wi-Fi destek
- Llama 3 - Base language model (Meta-Llama-3-8B-Instruct)
- Transformers - Hugging Face model library
- QLoRA/BF16 - Efficient training techniques
- Peft & TRL - Parameter-efficient fine-tuning
- Python 3.10+ - Core backend language
- FastAPI - Modern async web framework
- Pydantic - Data validation and schema enforcement
- Uvicorn - ASGI server
- Vue 3 - Progressive framework
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- BLEU, ROUGE, BERTScore - Automatic metrics
- LLM-based evaluation - GPT-4o-mini scoring
- Pydantic validation - Schema compliance checking
- GitHub Actions - CI/CD pipeline
- Docker - Containerization support
- Model Size: 8.03B parameters (Llama-3 based)
- Training: QLoRA/BF16 optimized for efficiency
- Validation: %100 Pydantic compliance
- Benchmark: Multi-metric evaluation system
- Dataset: 10,000+ high-quality scenarios
- BilisimVadisi2025 compliance
- Türkiye Açık Kaynak Platformu standards
- Data validation with Pydantic v2
- Professional code review standards