Unity tabanlı sanal sınıf için, yapay zeka destekli öğrenci-öğretmen etkileşimi sunan bir MVP arka uç/ön yüz sistemi. Bu sistem, sanal öğrenci ajanlarını simüle etmek ve kontrol etmek için modüler bir Python arka ucu (FastAPI) ve React tabanlı bir öğretmen paneli kullanır.
Sistem akışı, veri akışı ve bileşenlerin detaylı görünümü için lütfen Sistem Mimarisi Şeması'na bakın.
- Backend: Python FastAPI (Modüler, Genişletilebilir, Senkron/Asenkron Desteği)
- Frontend: React + Vite + TypeScript + Tailwind CSS
- Yapay Zeka Motoru: Karar Verme için Google Gemini & Groq (Llama 3)
- Unity: C# İstemci (WebSocket & REST Entegrasyonu)
Sistemin çekirdeği, girdileri aşamalı olarak işleyen ai/pipeline.py dosyasıdır:
- NLP Analizörü: Yaygın niyetler (Selamlaşma, Övgü, Disiplin) için kural tabanlı tespit.
- Bilgi Tabanı (Knowledge Base): Anlık geri bildirimler için önceden tanımlanmış yanıtlar.
- LLM Entegrasyonu: Karmaşık veya bilinmeyen sorguları işlemek için Groq/Gemini kullanımı.
- WebSocket Yöneticisi: Durum değişikliklerini bağlı tüm istemcilere (Unity & Web) yayınlar.
- Role Dayalı Mesajlaşma: Belirli rollere (
unity,debug,teacher) yönlendirilmiş mesajlar.
- Öğretmen Paneli: Manuel komutlar göndermek ve YZ davranışını geçersiz kılmak için arayüz.
- Debug Dashboard: Yapay zekanın "düşünce sürecini" (gecikme, güven, seçilen duygu) gerçek zamanlı izleme.
- Python 3.9+
- Node.js 18+
- npm
-
Backend klasörüne gidin:
cd backend -
Sanal ortam oluşturun ve aktif edin:
python -m venv venv # Windows venv\Scripts\activate # Mac/Linux source venv/bin/activate
-
Bağımlılıkları yükleyin:
pip install -r requirements.txt
-
Konfigürasyon:
backendklasöründe API anahtarlarınızla bir.envdosyası oluşturun:GEMINI_API_KEY=your_gemini_key GROQ_API_KEY=your_groq_key DEBUG=True SECRET_KEY=your_secret_key
-
Sunucuyu çalıştırın:
uvicorn main:app --reload
- API Dokümantasyonu:
http://localhost:8000/docs - WebSocket:
ws://localhost:8000/ws/v1/classroom/{room_id}
- API Dokümantasyonu:
- Frontend klasörüne gidin:
cd frontend - Bağımlılıkları yükleyin:
npm install
- Geliştirme sunucusunu çalıştırın:
npm run dev
- Uygulama:
http://localhost:5173
- Uygulama:
- Servisleri Başlatın: Hem Backend (Port 8000) hem de Frontend (Port 5173) çalıştığından emin olun.
- Öğretmen Panelini Açın: Tarayıcınızda
http://localhost:5173adresine gidin. - Unity Bağlantısı (Opsiyonel): Unity ile geliştirme yapıyorsanız, istemciyi çalıştırarak otomatik olarak
ws://localhost:8000adresine bağlanmasını sağlayın. - Komut Gönderin:
- Panel üzerinden "Otur", "Soruyu Cevapla" gibi komutlar gönderin.
- Yapay zeka niyeti işleyecek, bir animasyon/duygu seçecek ve bunu yayınlayacaktır.
- Yanıtı paneldeki Debug bölümünde görebilirsiniz.
backend/app: Temel uygulama mantığı (Pipeline, Modeller).backend/ai: Karar motorları ve entegrasyonlar (Groq, Gemini).backend/nlp: Doğal Dil İşleme ve Bilgi Tabanı.backend/ws: WebSocket bağlantı yöneticisi.docs/: Detaylı tasarım belgeleri ve API özellikleri.