Saha teknisyenlerinin karmaşık arıza kodlarını saniyeler içinde analiz edebilmesini sağlayan, RAG (Retrieval-Augmented Generation) tabanlı akıllı mobil asistan.
- 🎯 Genel Bakış
- ✨ Temel Özellikler
- 🏗️ Sistem Mimarisi
- 🛠️ Teknoloji Yığını
- 🚀 Kurulum ve Çalıştırma
- 📁 Proje Yapısı
- 📊 Performans ve Kazanımlar
- 👥 Ekip
Geleneksel bakım süreçlerinde teknisyenler, bir arıza kodunun çözümünü bulmak için yüzlerce sayfalık PDF kılavuzlarını manuel olarak taramak zorunda kalır. Akıllı Kabin Asistanı, bu hantal süreci baştan sona otomatikleştirerek sahada operasyonel hız kazandırır:
📟 Arıza Tespiti➔🔍 RAG Sorgusu➔💬 Anlık Çözüm
- Teknisyen arıza kodunu sisteme girer (veya sistem sensörlerden otonom olarak çeker).
- Backend, kurumun resmi bakım kılavuzlarını temel alan RAG motoruna bağlamsal bir sorgu iletir.
- Yanıt, interaktif bir sohbet arayüzü üzerinden anlık olarak sunulur.
🛡️ Sıfır Halüsinasyon İlkesi: İş Sağlığı ve Güvenliği (İSG) standartları gereği, sistem yanıtları yalnızca resmi kılavuz içeriğiyle sınırlandırılmıştır. Model, veri tabanında bulunmayan bir bilgiyi asla üretmez.
- 💬 Arıza Analizi (Chat): Arıza kodu üzerinden RAG destekli derinlemesine analiz ve oturum bazlı takip soruları.
- 📡 Canlı Sensör İzleme: Sıcaklık, titreşim ve basınç simülasyonu ile eşik aşımı durumlarında proaktif tespit.
- 📊 Denetim İzi (Audit Log): Geçmiş sorguların saklanması, çözüm başarı oranları ve metrik takibi.
- 🔔 Akıllı Bildirimler: Kritik veya uyarı seviyesindeki arızalar için anında push bildirim akışı.
- 🔐 Güvenli Erişim: Firebase Authentication destekli rol bazlı kimlik doğrulama altyapısı.
- 👤 Profil Yönetimi: Teknisyen verilerinin ve geçmiş operasyonların kişiselleştirilmiş yönetimi.
Projenin veri akışı aşağıdaki şemada belirtilmiştir:
graph LR
A[📱 Flutter Mobil] -- REST / HTTPS --> B[⚙️ FastAPI Backend]
B -- Bağlamsal Sorgu --> C[🧠 Gemini RAG Motoru]
C -- Sınırlandırılmış Yanıt --> B
B -- JSON Formatı --> A
A -. Güvenli Erişim .-> D[(🔥 Firebase Auth)]
style A fill:#02569B,stroke:#fff,stroke-width:2px,color:#fff
style B fill:#009688,stroke:#fff,stroke-width:2px,color:#fff
style C fill:#8E75B2,stroke:#fff,stroke-width:2px,color:#fff
style D fill:#FFCA28,stroke:#fff,stroke-width:2px,color:#000
| Bileşen | Kullanılan Teknoloji | Görev |
|---|---|---|
| Mobil Uygulama | Flutter & Provider |
Çapraz platform arayüz ve durum yönetimi |
| Backend API | FastAPI (Python) |
Yüksek performanslı RESTful mimari |
| Veri Doğrulama | Pydantic |
İstek/Yanıt modellerinin tip güvenliği |
| Yapay Zeka | Gemini API (RAG) |
Doküman tabanlı, erişim-destekli metin üretimi |
| Veritabanı & Auth | Firebase & Firestore |
Güvenli giriş ve NoSQL veri saklama |
| Dağıtım | Docker |
Bulut tabanlı, izole ve ölçeklenebilir ortam |
- ✅ Flutter SDK
^3.11.5veya üzeri - ✅ Yapılandırılmış Firebase Projesi (Auth & Firestore aktif)
- ✅ Çalışır durumda bir Backend API adresi
1. Depoyu Klonlayın
git clone [https://github.com/osmanbabayigit/endustriyel-rag-asistani.git](https://github.com/osmanbabayigit/endustriyel-rag-asistani.git)
cd endustriyel-rag-asistani2. Bağımlılıkları Yükleyin
flutter pub get
3. Ortam Değişkenlerini (ENV) Ayarlayın
Proje kök dizininde bir .env dosyası oluşturun ve gizli anahtarlarınızı ekleyin:
API_BASE_URL=[https://your-backend-url.example.com](https://your-backend-url.example.com) API_KEY=your-api-key-here
⚠️ Not:.envdosyası güvenlik sebebiyle.gitignoreiçerisinde tanımlıdır ve depoya itilmemelidir. Firebase bağlantısı içinflutterfire configurekomutunu çalıştıraraklib/firebase_options.dartdosyasını kendi projenize göre oluşturmayı unutmayın.
4. Uygulamayı Başlatın
flutter run
lib/
├── 🎨 constants/
│ └── app_colors.dart # Ortak renk paleti
├── 🧬 models/ # Veri Modelleri
│ ├── ariza_model.dart
│ ├── audit_log_model.dart
│ └── sensor_model.dart
├── 🔄 providers/ # Durum Yönetimi (State)
│ ├── ai_provider.dart
│ ├── audit_log_provider.dart
│ ├── auth_provider.dart
│ └── bildirim_provider.dart
├── 📺 screens/ # Arayüz Ekranları
│ ├── auth/ # ➔ Yetkilendirme
│ │ ├── login_screen.dart
│ │ └── sifre_sifirla_ekrani.dart
│ ├── details/ # ➔ Arıza İnceleme
│ │ └── ariza_detay_ekrani.dart
│ └── home/ # ➔ Ana Sayfa & Modüller
│ ├── ana_sayfa.dart
│ ├── bildirim_ekrani.dart
│ ├── gecmis_log_ekrani.dart
│ ├── iot_sensor_ekrani.dart
│ └── profil_ekrani.dart
├── 🌐 services/ # Dış Servis Bağlantıları
│ ├── api_service.dart
│ └── auth_service.dart
├── 🧩 widgets/ # Tekrar Kullanılabilir Parçalar
│ ├── ariza_karti.dart
│ └── durum_etiketi.dart
├── ⚙️ firebase_options.dart # Firebase Ayarları
└── 🚀 main.dart # Başlangıç Noktası
| Metrik | Geleneksel Süreç | Akıllı Kabin Asistanı 🚀 |
|---|---|---|
| ⏱️ Arıza Arama Süresi | Dokümanlarda manuel arama (Ort. 15-20 dk) | RAG destekli anlık sorgu (~2-3 saniye) |
| 🎯 Yanıt Güvenilirliği | Teknisyen inisiyatifine bağlı, hataya açık | %100 Resmi Kılavuz dayanaklı, sıfır halüsinasyon |
| 💰 Altyapı Maliyeti | Ekstra donanım ve saha terminali gereksinimi | Donanımdan bağımsız, mobil cihaz tabanlı çözüm |
| ☁️ Ölçeklenebilirlik | Tesis bazlı yerel kurulum gerektirir | Dockerize edilmiş, bulut üzerinden anında dağıtım |
Bu proje, staj kapsamında bir ekip çalışması olarak geliştirilmiştir.
| Rol | Sorumlu |
|---|---|
| 📱 Mobil (Flutter) & ⚙️ Backend Entegrasyonu | Osman BABAYİĞİT |
| 🧠 Yapay Zeka / RAG Motoru | Efe Yiğit ALTUN |
Bu proje bir kavram kanıtı (Proof of Concept) niteliğinde tasarlanmış olup, mobil arayüz üzerinden simüle edilen verilerle test edilmiştir.
⭐ Projeyi faydalı bulduysanız repo'yu yıldızlamayı unutmayın!