111 lines
4.2 KiB
Markdown
111 lines
4.2 KiB
Markdown
# NordicFlow 🇳🇴
|
|
|
|
**NordicFlow** to nowoczesna aplikacja desktopowa do nauki języka norweskiego, wykorzystująca Local AI do interaktywnych konwersacji, analizy obrazu i nauki z wideo.
|
|
|
|
Projekt zbudowany w oparciu o **Tauri 2.0**, **React 19**, **TypeScript** oraz **Rust**.
|
|
|
|
## 🚀 Kluczowe Funkcje
|
|
|
|
* **AI Chat**: Konwersacje z wirtualnym nauczycielem (model Llama 3.1) z korektą błędów w czasie rzeczywistym.
|
|
* **Visual Recognition**: Nauka słownictwa poprzez rozpoznawanie obiektów na zdjęciach (model MiniCPM-V).
|
|
* **Smart Reading**: Generowanie historii dopasowanych do poziomu użytkownika z ćwiczeniami "fill-in-the-blank".
|
|
* **Video Learning**: Nauka z materiałów wideo z transkrypcją i interaktywnymi napisami (wymaga Whisper).
|
|
* **Flashcards & Mini Games**: Fiszki, tryb pisowni i gry językowe.
|
|
|
|
## 🛠️ Wymagania Wstępne
|
|
|
|
Aby uruchomić projekt w trybie deweloperskim, potrzebujesz:
|
|
|
|
1. **Node.js** (v18+)
|
|
2. **Rust** (najnowsza wersja stabilna)
|
|
3. **Build Tools for Visual Studio** (Windows) - z zaznaczonym "Desktop development with C++".
|
|
4. **Sterowniki NVIDIA CUDA** (Zalecane dla płynnego działania AI na GPU).
|
|
|
|
## ⚙️ Instalacja i Uruchomienie
|
|
|
|
1. **Sklonuj repozytorium:**
|
|
```bash
|
|
git clone https://git.kciolek.pl/kamici/NordicFlow.git
|
|
cd nordicflow
|
|
```
|
|
|
|
|
|
2. **Zainstaluj zależności frontendowe:**
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
|
|
3. **Uruchom tryb deweloperski:**
|
|
```bash
|
|
npm run tauri dev
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
## 🤖 Konfiguracja AI (Instalacja Manualna)
|
|
|
|
⚠️ **WAŻNE:** Obecna wersja deweloperska nie pobiera automatycznie silnika wykonawczego AI (`llama.cpp`). Należy go zainstalować ręcznie, aby funkcje **AI Chat** i **Visual Recognition** działały.
|
|
|
|
W przyszłości proces ten będzie zautomatyzowany wewnątrz aplikacji.
|
|
|
|
### Krok 1: Pobierz wymagane pliki
|
|
|
|
Pobierz poniższe archiwa `.zip` (wersja `b4603` lub nowsza, kompatybilna z CUDA 12.4):
|
|
|
|
1. 📥 **Pliki wykonywalne (Binaries):**
|
|
[llama-b4603-bin-win-cuda-12.4-x64.zip](https://www.google.com/search?q=https://github.com/ggml-org/llama.cpp/releases/download/b4603/llama-b4603-bin-win-cuda-12.4-x64.zip)
|
|
2. 📥 **Biblioteki CUDA (Backend):**
|
|
[cudart-llama-bin-win-cuda-12.4-x64.zip](https://www.google.com/search?q=https://github.com/ggml-org/llama.cpp/releases/download/b4603/cudart-llama-bin-win-cuda-12.4-x64.zip)
|
|
|
|
### Krok 2: Zlokalizuj folder danych aplikacji
|
|
|
|
Uruchom aplikację raz (`npm run tauri dev`), aby utworzyła ona swoje katalogi systemowe. Następnie znajdź folder danych lokalnych:
|
|
|
|
* **Windows**: Wciśnij `Win + R`, wpisz `%LocalAppData%` i szukaj folderu o nazwie **`NordicFlow`** (lub `com.nordicflow.app`).
|
|
|
|
### Krok 3: Instalacja plików
|
|
|
|
1. W folderze `src-tauri` utwórz katalog o nazwie `binaries` (jeśli aplikacja nie utworzyła go automatycznie).
|
|
2. Wypakuj **zawartość obu pobranych archiwów** bezpośrednio do tego folderu.
|
|
3. Upewnij się, że plik `llama-server.exe` oraz pliki `.dll` (np. `cudart64_12.dll`) znajdują się w tym samym katalogu, z którego korzysta aplikacja.
|
|
|
|
|
|
### Uwaga dotycząca funkcji Video (Whisper)
|
|
|
|
Do działania funkcji **Video Learning** (transkrypcja) aplikacja w kodzie odwołuje się również do `whisper-cli.exe` oraz `ffmpeg.exe`. Te pliki również powinny znaleźć się w folderze z binariami, jeśli chcesz korzystać z tej konkretnej funkcji.
|
|
|
|
---
|
|
|
|
## 📂 Modele AI
|
|
|
|
Aplikacja automatycznie zarządza pobieraniem modeli językowych (GGUF) przy pierwszej próbie użycia danej funkcji.
|
|
|
|
* **Czat:** `Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf` (~4.8 GB)
|
|
* **Wzrok:** `MiniCPM-V-2_6-Q4_K_M.gguf` + projektor (~5 GB)
|
|
* **Mowa:** `nb-whisper-medium-q5_0.gguf` (~1 GB)
|
|
|
|
Modele są zapisywane w katalogu `%LocalAppData%\NordicFlow\models`.
|
|
|
|
## 🏗️ Struktura Projektu
|
|
|
|
* `src/` - Kod źródłowy Frontend (React)
|
|
* `src/features/` - Moduły funkcjonalne (ai-chat, flashcards, video-learning)
|
|
* `src/components/` - Komponenty UI (Shadcn/ui)
|
|
|
|
|
|
* `src-tauri/` - Kod źródłowy Backend (Rust)
|
|
* `src-tauri/src/commands.rs` - Komendy Tauri (logika AI, pliki)
|
|
* `src-tauri/capabilities/` - Uprawnienia Tauri 2.0
|
|
|
|
|
|
|
|
## 🤝 Kontrybucja
|
|
|
|
Projekt jest w fazie aktywnego rozwoju. Zgłoszenia błędów (Issues) i propozycje zmian (Pull Requests) są mile widziane.
|
|
|
|
## 📄 Licencja
|
|
|
|
CC BY-NC-SA 4.0 License © 2026 Kazimierz Ciołek |