@echo off :: MiniLlama — Portable LLM Chat Launcher (Windows) :: Erkennt automatisch alle .gguf-Modelle im models/-Ordner und zeigt ein Menü. :: Default: LFM2-8B-A1B-UD-Q4_K_XL (Testsieger) cd /d "%~dp0" set "DEFAULT_MODEL=LFM2-8B-A1B-UD-Q4_K_XL.gguf" echo. echo ======================================= echo MiniLlama — Modellauswahl echo ======================================= echo. setlocal enabledelayedexpansion :: --- Modelle einsammeln --- set count=0 for %%f in (models\*.gguf) do ( set /a count+=1 set "model[!count!]=%%f" set "modelname[!count!]=%%~nxf" ) if %count% equ 0 ( echo Fehler: Keine .gguf-Modelle im models/-Ordner gefunden. echo Legen Sie GGUF-Dateien in das models/-Verzeichnis. echo. pause exit /b 1 ) :: --- Menü anzeigen mit Default-Markierung --- for /l %%i in (1,1,%count%) do ( set "marker=" if "!modelname[%%i]!"=="%DEFAULT_MODEL%" set "marker= ^<-- Standard" echo %%i^) !modelname[%%i]!!marker! ) echo. :: --- Auswahl (Default bei Enter) --- :choose set /p sel="Auswahl [1-%count%] oder Enter=%DEFAULT_MODEL% oder q=beenden: " if /i "!sel!"=="q" exit /b 0 :: Leere Eingabe = Default if "!sel!"=="" ( for /l %%i in (1,1,%count%) do ( if "!modelname[%%i]!"=="%DEFAULT_MODEL%" set idx=%%i ) if defined idx goto launch echo Default-Modell %DEFAULT_MODEL% nicht gefunden, nehme erstes. set idx=1 goto launch ) :: Prüfen ob Zahl set "isnum=" for /f "delims=0123456789" %%a in ("!sel!") do set isnum=%%a if defined isnum goto badchoice if !sel! lss 1 goto badchoice if !sel! gtr %count% goto badchoice set idx=!sel! goto launch :badchoice echo Bitte eine Zahl zwischen 1 und %count% eingeben. goto choose :: --- Starten --- :launch echo. echo Starte: !modelname[%idx%]! echo. bin\win\llama-cli.exe -m "!model[%idx%]!" -cnv if errorlevel 1 ( echo. echo Fehler beim Start. Druecken Sie eine Taste. pause ) endlocal