TextileXAI-RAG, tekstil üretiminde karşılaşılan fire, duruş ve kalite problemlerini makine öğrenmesi teknikleriyle tahmin eden ve bu tahminleri XAI (Explainable AI) + LLM teknolojileriyle açıklayan gelişmiş bir karar destek sistemidir.
- Tekstil üretiminde fire oranı, duruş süreleri ve kalite problemlerini önceden tahmin etmek
- Üretim verilerini analiz ederek risk skorları ve açıklamalar sunmak
- Alternatif senaryolar ve doğal dil raporlar ile karar vericileri desteklemek
- Üretim Planlamacıları: Kapasite ve kaynak optimizasyonu için
- Operatörler: Anlık üretim durumu ve müdahale önerileri için
- Yöneticiler: Stratejik karar alma ve performans analizi için
- Veri Ön İşleme: Eksik değer kontrolü, aykırı değer tespit ve düzeltme
- KPI Üretimi: DurusOrani, FireOrani gibi kritik performans göstergelerinin hesaplanması
- Feature Engineering: Üretim verilerinden anlamlı özellikler çıkarma
- Ensemble Modeller: XGBoost, LightGBM, RandomForest kombinasyonları
- Model Değerlendirme: Çapraz doğrulama ve performans metrikleri
- Otomatik Hiperparametre Optimizasyonu
- SHAP Analizleri: Feature importance ve impact analizi
- LIME Açıklamaları: Yerel model yorumlamaları
- Counterfactual Senaryolar: "Ne olursa ne olur?" analizleri
- Doğal Dil Raporlama: Teknik sonuçları anlaşılır dilde sunma
- Interaktif Sorgulama: Kullanıcı sorularına anlık yanıt
- Otomatik İçgörü Üretimi: Veri trendleri ve anomalilerin açıklanması
- Vektör Veritabanı: Üretim verilerinden oluşturulan bilgi tabanı
- Semantik Arama: İlgili üretim kayıtlarını akıllı eşleştirme
- Kontekstual Yanıtlar: Geçmiş verilerle desteklenmiş öneriler
- Python 3.10+
- FastAPI: Web API framework
- ChromaDB: Vektör veritabanı
- OpenAI GPT: Doğal dil işleme
- XGBoost, LightGBM, RandomForest: Ana tahmin modelleri
- SHAP: Model açıklamaları
- LIME: Yerel yorumlamalar
- Counterfactual: Senaryo analizleri
- Pandas, NumPy: Veri manipülasyonu
- Scikit-learn: ML pipeline
- Plotly, Matplotlib: Görselleştirme
TextileXAI-RAG/
├── rag/ # RAG sistemi
│ ├── fill_db.py # Veritabanı doldurma
│ ├── ask.py # Sorgulama modülü
│ └── run_web.py # Web arayüzü
├── data/
│ ├── processed/ # İşlenmiş veriler
│ └── case_cards.jsonl # Üretim verileri
├── requirements.txt # Ana bağımlılıklar
├── requirements_web.txt # Web arayüzü bağımlılıkları
└── README.md
git clone https://github.com/ncrim7/rag.git
cd ragpython -m venv venv
source venv/bin/activate # Linux/Mac
# veya
venv\Scripts\activate # Windows# Ana bağımlılıklar
pip install -r requirements.txt
# Web arayüzü için ek bağımlılıklar
pip install -r requirements_web.txt# OpenAI API anahtarınızı ekleyin
export OPENAI_API_KEY="your-api-key-here"Sistem, tekstil üretim hattından gelen şu sütunları içeren CSV formatındaki verileri bekler:
TopMt,KKTopMt,Devir,DurusSure,Kalite,Hata,TezgahNo,Tarih,...
1250,1100,850,45,A,0,H0022,2024-01-15,...
980,920,780,12,B,1,H0023,2024-01-15,...
Temel Sütunlar:
TopMt: Toplam metrajKKTopMt: Kaliteli kumaş metrajıDevir: Tezgah devir sayısıDurusSure: Duruş süresi (dakika)Kalite: Kalite sınıfı (A/B/C)Hata: Hata koduTezgahNo: Tezgah numarasıTarih: Üretim tarihi
python rag/fill_db.py python rag/ask.py "Tezgah H0022'de son ay fire oranı nedir?"
python rag/ask.py "Kaliteyi artırmak için hangi parametreleri ayarlamalıyım?"python rag/run_web.pyWeb arayüzüne http://localhost:8000 adresinden erişebilirsiniz.
Soru: "Hangi tezgah en çok fire veriyor?"
Sistem Yanıtı: RAG + LLM kombinasyonu ile geçmiş veriler analiz edilir ve fire oranı en yüksek tezgahlar, nedenleri ve iyileştirme önerileri sunulur.
Soru: "Kaliteyi artırmak için neyi değiştirmeliyim?"
Sistem Yanıtı: Counterfactual analiz ile devir sayısı, hammadde kalitesi gibi parametrelerdeki değişikliklerin kalite üzerindeki etkisi gösterilir.
Soru: "Duruş oranı yüksek görünüyor, neden?"
Sistem Yanıtı: SHAP/LIME analizleri ile duruş süresini etkileyen faktörler ve bunların etki dereceleri açıklanır.
{
"id": "qa_0135",
"prompt": "Risk=Low (151.82); Devir=188, IplikNumara_NumaraTipi_enc=20, En=148, UrunSinifi_enc=0, KullanimYeri_enc=4, TezgahAdi__TezgahNo_enc=0. Influencers: En(↓), TezgahAdi__TezgahNo_enc(↓), Devir(↓), KKTopMt(↓). What is the interpretation and actions?",
"completion": {
"answer": "Risk seviyesi düşük, ana etkenler En, Tezgah No ve Devir azalan etkilerle risk puanını düşürüyor.",
"rationale_brief": "En ve Tezgah No gibi parametrelerin düşük olması riskin azalmasına katkı sağlıyor.",
"next_steps": "En'i artırarak üretim genişliğini maksimize edebilir, Tezgah No ayarlarının optimizasyonunu devam ettir ve Devir hızını artırarak üretim hızıyla..."
},
"context": {
"risk_score": 151.8152,
"features": {
"Devir": 188,
"IplikNumara_NumaraTipi_enc": 20,
"En": 148,
"UrunSinifi_enc": 0,
"KullanimYeri_enc": 4,
"TezgahAdi__TezgahNo_enc": 0
},
"xai": {
"shap_values": {
"En": -5404.591498870312,
"TezgahAdi__TezgahNo_enc": -4765.652240020282,
"Devir": -3248.388014216648,
"KKTopMt": -1365.1066203444748
}
},
"rule_hits": [],
"source_model": "risk_model_v3",
"timestamp": "2025-09-01T19:39:31Z"
},
"metadata": {
"expert_verified": false,
"severity": "Low",
"equipment": "JVSI 01__JIIM035",
"tags": [
"TezgahAdi__TezgahNo_enc",
"Devir",
"En"
]
}
}- Summary Plot: Tüm özelliklerin önem sıralaması
- Force Plot: Tek tahmin için detaylı açıklama
- Dependence Plot: Feature etkileşimleri
Tezgah H0022 için analiz:
Risk skorunun yükselmesi, birkaç temel nedenden kaynaklanabilir:
1. **Devir Hızındaki Artış (RPM)**: Devir sayısındaki artış, makinenin yükünü artırır, dolayısıyla iplik kopma riski artar.
2. **Kumaş Genişliği (En)**: Kumaşın genişliği arttıkça, makinenin işleme kapasitesi de zorlanır. Bu durum, makine arızası ve üretim kaybına yol açabilir.
3. **Toplam Ağırlık (KKTopMt)**: Yüksek toplam metre cinsinden ağırlığın kullanılması, iplik kısmında aşınma ve deformasyona neden olabilir. Bu da iplik kopma riskini artırır.
Bu faktörler bir araya geldiğinde, risk skoru yükselir ve iplik kopması, makine arızası ve üretim kaybı gibi sorunlarla karşılaşma ihtimali artar.
**Önerilen Adımlar**:
1. Tezgah ayarlarının gözden geçirilmesi,
2. İplik kalitesinin kontrol edilmesi,
3. Makine bakım programının güncellenmesi,
4. Operatör eğitimlerinin artırılması.
- Gerçek veriler: Kuruma ait üretim verileri gizlilik prensipleri çerçevesinde korunur
- Anonimleştirme: Dış paylaşım için hassas bilgiler maskelenir
- Güvenlik: API anahtarları ve veritabanı bağlantıları ortam değişkenleri ile korunur