LLAMA 启动脚本

@echo off
setlocal EnableDelayedExpansion
title Multi-Model Launcher

:: ==========================
:: Configuration
:: ==========================

set MODEL_DIR=models
set PORT=8080
set CONTEXT=131072

if not exist "llama-server.exe" (
    echo.
    echo ERROR:
    echo llama-server.exe not found.
    pause
    exit
)

:: ==========================
:: Discover Models
:: ==========================

set MODEL_COUNT=0
set "MODEL_LIST="

for /r "%MODEL_DIR%" %%f in (*.gguf) do (
    set /a MODEL_COUNT+=1
    set "MODEL_!MODEL_COUNT!=%%f"
    set "MODEL_NAMES!MODEL_COUNT!=%%~nxf"
    set "MODEL_DIR_!MODEL_COUNT!=%%~dpf"
)

if %MODEL_COUNT%==0 (
    echo.
    echo ERROR: No .gguf models found in %MODEL_DIR%
    pause
    exit
)

:MODEL_MENU

cls
echo ================================================
echo            Multi-Model Launcher
echo ================================================
echo.
echo Available Models:
echo.

for /l %%i in (1,1,%MODEL_COUNT%) do (
    set "DIR_NAME=!DIR_NAME:~1,-1!"
    echo %%i. !MODEL_NAMES%%i!
)

echo.
echo A. Load All Models
echo 0. Exit
echo.
echo Select models (comma-separated, e.g., 1,3,4):
echo.

set /p MODEL_SEL=

if "%MODEL_SEL%"=="0" exit

if /i "%MODEL_SEL%"=="A" (
    set "SELECTED_MODELS="
    for /l %%i in (1,1,%MODEL_COUNT%) do (
        if defined SELECTED_MODELS (
            set "SELECTED_MODELS=!SELECTED_MODELS!,%%i"
        ) else (
            set "SELECTED_MODELS=%%i"
        )
    )
    goto MODE_MENU
)

:: Validate selection
set VALID=1
for %%m in (%MODEL_SEL%) do (
    if %%m lss 1 set VALID=0
    if %%m gtr %MODEL_COUNT% set VALID=0
)

if %VALID%==0 (
    echo Invalid selection!
    pause
    goto MODEL_MENU
)

set "SELECTED_MODELS=%MODEL_SEL%"
goto MODE_MENU

:MODE_MENU

cls
echo ================================================
echo            Reasoning Mode
echo ================================================
echo.
echo 1. Think
echo 2. No Think
echo.
echo 0. Back
echo.

set /p MODE=

if "%MODE%"=="1" (
    set THINK=1
    goto START
)

if "%MODE%"=="2" (
    set THINK=0
    goto START
)

if "%MODE%"=="0" goto MODEL_MENU

goto MODE_MENU

:START

cls

if "%THINK%"=="1" (
    set SYSTEM=You are a helpful AI assistant. Think carefully before answering.
    set MODE_NAME=Think
)

if "%THINK%"=="0" (
    set SYSTEM=You are a helpful AI assistant. Answer directly without exposing your reasoning.
    set MODE_NAME=No Think
)

echo ================================================
echo              Starting Server
echo ================================================
echo.
echo Models:
for %%m in (%SELECTED_MODELS%) do (
    echo   - !MODEL_NAMES%%m!
)
echo.
echo Mode    : %MODE_NAME%
echo Context : %CONTEXT%
echo Port    : %PORT%
echo.

echo Local Address:
ipconfig | findstr /R "IPv4"

echo.

start "" http://127.0.0.1:%PORT%

llama-server ^
--models-dir "%MODEL_DIR%" ^
--models-autoload ^
-c %CONTEXT% ^
-ngl 999 ^
--flash-attn auto ^
--host 0.0.0.0 ^
--port %PORT% ^
--temp 0.6 ^
--top-p 0.95 ^
--min-p 0.05 ^
--repeat-penalty 1.05 ^
--seed -1

echo.
echo Server Stopped.
pause

 

posted @ 2026-07-22 17:38  木子欢儿  阅读(12)  评论(0)    收藏  举报