@echo off
chcp 65001 >nul
cd /d "%~dp0"
set "VENV_DIR=.venv"
set "PY=%VENV_DIR%\Scripts\python.exe"
set "PORT=8000"
echo ========================================
echo LLM 安全攻防演示平台
echo ========================================
echo.
if not exist "%PY%" (
echo [1/3] 首次运行,正在创建虚拟环境...
python -m venv "%VENV_DIR%"
if errorlevel 1 (
echo 创建虚拟环境失败,请确认已安装 Python 并加入 PATH。
pause
exit /b 1
)
)
echo [2/3] 检查并安装依赖...
"%PY%" -m pip install -r requirements.txt -q
if errorlevel 1 (
echo 依赖安装失败,请检查网络后重试。
pause
exit /b 1
)
echo [3/3] 启动服务...
netstat -ano | findstr ":%PORT% " | findstr "LISTENING" >nul 2>&1
if not errorlevel 1 (
set "PORT=8001"
echo 端口 8000 被占用,改用 %PORT%
)
echo.
echo 访问地址: http://127.0.0.1:%PORT%
echo 按 Ctrl+C 可停止服务
echo.
"%PY%" -m uvicorn app.main:app --host 127.0.0.1 --port %PORT% --reload
pause