4.2 KiB
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:
- Node.js (v18+)
- Rust (najnowsza wersja stabilna)
- Build Tools for Visual Studio (Windows) - z zaznaczonym "Desktop development with C++".
- Sterowniki NVIDIA CUDA (Zalecane dla płynnego działania AI na GPU).
⚙️ Instalacja i Uruchomienie
- Sklonuj repozytorium:
git clone https://git.kciolek.pl/kamici/NordicFlow.git
cd nordicflow
- Zainstaluj zależności frontendowe:
npm install
- Uruchom tryb deweloperski:
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):
- 📥 Pliki wykonywalne (Binaries): llama-b4603-bin-win-cuda-12.4-x64.zip
- 📥 Biblioteki CUDA (Backend): 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 nazwieNordicFlow(lubcom.nordicflow.app).
Krok 3: Instalacja plików
- W folderze
src-tauriutwórz katalog o nazwiebinaries(jeśli aplikacja nie utworzyła go automatycznie). - Wypakuj zawartość obu pobranych archiwów bezpośrednio do tego folderu.
- Upewnij się, że plik
llama-server.exeoraz 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