llamacpp-installer

Automatyczny instalator llama.cpp

English Polski

Automatyczny instalator llama.cpp z optymalizacjami sprzętowymi. Projekt wykrywa typ sprzętu (Raspberry Pi 5, Raspberry Pi 4, Termux Android, Linux x86_64) i automatycznie dobiera optymalne flagi kompilacji dla maksymalnej wydajności.

Autor: Fibogacci (https://fibogacci.pl)
Licencja: MIT
Technologie: Python, Textual (GUI), Typer (CLI), Rich, psutil

Funkcje

Obsługiwany sprzęt

Raspberry Pi

Linux x86_64

Mobilne

Szybki start

Instalacja

Instalacja bezpośrednia (zalecana)

# Sklonuj repozytorium
git clone https://github.com/fibogacci/llamacpp-installer.git
cd llamacpp-installer

# Zainstaluj zależności globalnie
pip install -r requirements.txt

Alternatywnie: środowisko wirtualne (opcjonalne)

Jeśli masz problemy z instalacją globalną lub chcesz izolować zależności:

# Sklonuj repozytorium
git clone https://github.com/fibogacci/llamacpp-installer.git
cd llamacpp-installer

# Utwórz środowisko wirtualne
python -m venv venv-llamacpp-installer

# Aktywuj środowisko wirtualne
source venv-llamacpp-installer/bin/activate

# Zainstaluj zależności w środowisku wirtualnym
pip install -r requirements.txt

# Aby deaktywować środowisko wirtualne (po zakończeniu pracy)
deactivate

Użycie

Interfejs GUI (zalecany)

# Polski (domyślny)
python main.py

# Angielski
python main.py --lang en

Interfejs CLI

# Wykrywanie sprzętu
python cli.py detect
python cli.py detect --lang en

# Automatyczna instalacja (zalecana)
python cli.py install --hardware dynamic --dir /ścieżka/do/instalacji

# Ręczny wybór sprzętu
python cli.py install --hardware rpi5_8gb --dir /home/user/llama
python cli.py install --hardware x86_linux --dir /opt/llama --lang en

# Własna konfiguracja
python cli.py install --config example_configs/x86_avx512.txt --dir /ścieżka/do/instalacji

Typy sprzętu

Sprzęt Typ Opis
Raspberry Pi 5 8/16GB rpi5_8gb Maksymalna wydajność z RPC
Raspberry Pi 5 4GB rpi5_4gb Zrównoważona optymalizacja
Raspberry Pi 4 rpi4 Optymalizowany dla Cortex-A72
Linux x86_64 Auto dynamic Automatyczne wykrywanie ⭐
Linux x86_64 Nowe x86_linux AVX2 + OpenBLAS
Linux x86_64 Starsze x86_linux_old AVX bez AVX2
Linux x86_64 Minimalne x86_linux_minimal Podstawowe optymalizacje
Bez optymalizacji no_optimization Maksymalna kompatybilność
Termux Android termux Optymalizowany dla urządzeń mobilnych

Własne konfiguracje

Utwórz własne pliki .txt z flagami CMAKE:

# example_configs/moja_konfiguracja.txt
-DGGML_NATIVE=ON
-DGGML_AVX2=ON
-DGGML_OPENMP=ON
-DGGML_OPENBLAS=ON

Użycie:

python cli.py install --config moja_konfiguracja.txt --dir /ścieżka/do/instalacji

Struktura katalogów

Po instalacji struktura będzie następująca:

/twoja/wybrana/ścieżka/
└── llama.cpp/
    ├── build/
    │   └── bin/
    │       ├── llama-cli
    │       ├── llama-server
    │       └── ...
    ├── logs/
    │   └── llamacpp_installer_*.log
    ├── llama-cli.sh      # Skrypt wrapper
    ├── llama-server.sh   # Skrypt wrapper
    └── llama-simple.sh   # Skrypt wrapper

Obsługa języków

CLI

# Polski (domyślny)
python cli.py detect
python cli.py install --hardware dynamic --dir /ścieżka

# Angielski
python cli.py detect --lang en
python cli.py install --hardware dynamic --dir /ścieżka --lang en

GUI

# Polski (domyślny)
python main.py

# Angielski
python main.py --lang en
python main.py --en

Zmienna środowiskowa

export LLAMACPP_INSTALLER_LANG=en
python main.py  # Użyje angielskiego

Zaawansowane użycie

Tryb debugowania

# Włącz szczegółowe logowanie
python cli.py detect --debug
python cli.py install --hardware dynamic --dir /ścieżka --debug

Testowanie wykrywania sprzętu

# Test wykrywania sprzętu
python hardware_detector.py

# Test dynamicznego wykrywania CPU
python dynamic_config.py

# Test konfiguracji optymalizacji
python optimization_configs.py

Rozwiązywanie problemów

Częste problemy

  1. Błędy kompilacji na starszych CPU
    • Użyj --hardware x86_linux_old lub --hardware dynamic
    • Sprawdź logi w {katalog_instalacji}/logs/
  2. Brakujące zależności
    • Zainstaluj narzędzia budowania: sudo apt install build-essential cmake git
    • Dla Ubuntu/Debian z OpenBLAS: sudo apt install libopenblas-dev
  3. Błędy uprawnień
    • Upewnij się, że masz uprawnienia zapisu do katalogu instalacji
    • Używaj sudo tylko przy instalacji do katalogów systemowych
  4. Problemy specyficzne dla Termux
    • Zainstaluj wymagane pakiety: pkg install python cmake git
    • Użyj --hardware termux dla optymalizacji mobilnej

Pliki logów

Logi instalacji są zapisywane w {katalog_instalacji}/logs/ w formacie: llamacpp_installer_YYYYMMDD_HHMMSS.log

Wymagania

Współpraca

  1. Zrób fork repozytorium
  2. Utwórz gałąź funkcji
  3. Wprowadź zmiany
  4. Przetestuj na różnym sprzęcie jeśli to możliwe
  5. Wyślij pull request

Licencja

Licencja MIT - zobacz plik LICENSE dla szczegółów.

Autor

Fibogacci


Dla dokumentacji angielskiej, zobacz README.md