108 lines
3.4 KiB
Batchfile
108 lines
3.4 KiB
Batchfile
|
|
@echo off
|
||
|
|
setlocal enabledelayedexpansion
|
||
|
|
|
||
|
|
:: ============================================================
|
||
|
|
:: run_eval.bat - Run a RAGAS evaluation scenario with logs
|
||
|
|
::
|
||
|
|
:: Usage:
|
||
|
|
:: run_eval.bat (uses default online scenario)
|
||
|
|
:: run_eval.bat offline (runs offline smoke scenario)
|
||
|
|
:: run_eval.bat path\to\scenario.yaml (any custom scenario)
|
||
|
|
:: run_eval.bat offline DEBUG (second arg = log level)
|
||
|
|
:: ============================================================
|
||
|
|
|
||
|
|
cd /d "%~dp0"
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo ============================================================
|
||
|
|
echo Siemens RAGAS - Evaluation Runner
|
||
|
|
echo ============================================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
:: 1. Resolve scenario path (arg1)
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
set "SCENARIO=%~1"
|
||
|
|
if "%SCENARIO%"=="" set "SCENARIO=online"
|
||
|
|
|
||
|
|
if /i "%SCENARIO%"=="online" (
|
||
|
|
set "SCENARIO=scenarios\online\siemens-pdf-question-bank-online.yaml"
|
||
|
|
)
|
||
|
|
if /i "%SCENARIO%"=="offline" (
|
||
|
|
set "SCENARIO=scenarios\offline\siemens-pdf-offline-smoke.yaml"
|
||
|
|
)
|
||
|
|
|
||
|
|
if not exist "%SCENARIO%" (
|
||
|
|
echo [ERROR] Scenario file not found: %SCENARIO%
|
||
|
|
echo.
|
||
|
|
echo Usage examples:
|
||
|
|
echo run_eval.bat - online eval (default)
|
||
|
|
echo run_eval.bat offline - offline smoke
|
||
|
|
echo run_eval.bat path\to\file.yaml - custom scenario
|
||
|
|
goto :error
|
||
|
|
)
|
||
|
|
echo [OK] Scenario : %SCENARIO%
|
||
|
|
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
:: 2. Resolve log level (arg2, default INFO)
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
set "LOG_LEVEL=%~2"
|
||
|
|
if "%LOG_LEVEL%"=="" set "LOG_LEVEL=INFO"
|
||
|
|
echo [OK] Log level: %LOG_LEVEL%
|
||
|
|
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
:: 3. Create logs dir and build timestamped log filename
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
if not exist "logs" mkdir logs
|
||
|
|
for /f "tokens=1-3 delims=/-" %%a in ("%DATE%") do (
|
||
|
|
set "YMD=%%c-%%a-%%b"
|
||
|
|
)
|
||
|
|
for /f "tokens=1-3 delims=:." %%a in ("%TIME: =0%") do (
|
||
|
|
set "HMS=%%a%%b%%c"
|
||
|
|
)
|
||
|
|
set "LOG_FILE=logs\eval_%YMD%_%HMS%.log"
|
||
|
|
echo [OK] Log file : %LOG_FILE%
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo ============================================================
|
||
|
|
echo Starting evaluation...
|
||
|
|
echo (Logs also written to %LOG_FILE%)
|
||
|
|
echo Press Ctrl+C to abort
|
||
|
|
echo ============================================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
:: 4. Run evaluation with UTF-8 and logging
|
||
|
|
:: ----------------------------------------------------------------
|
||
|
|
set PYTHONIOENCODING=utf-8
|
||
|
|
set PYTHONPATH=.
|
||
|
|
|
||
|
|
python main.py ^
|
||
|
|
--scenario "%SCENARIO%" ^
|
||
|
|
--log-file "%LOG_FILE%" ^
|
||
|
|
--log-level %LOG_LEVEL%
|
||
|
|
|
||
|
|
if errorlevel 1 (
|
||
|
|
echo.
|
||
|
|
echo [ERROR] Evaluation failed. Check log: %LOG_FILE%
|
||
|
|
goto :error
|
||
|
|
)
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo ============================================================
|
||
|
|
echo Evaluation complete!
|
||
|
|
echo Log saved to: %LOG_FILE%
|
||
|
|
echo Open the web console to view results: start.bat
|
||
|
|
echo ============================================================
|
||
|
|
echo.
|
||
|
|
pause
|
||
|
|
exit /b 0
|
||
|
|
|
||
|
|
:error
|
||
|
|
echo.
|
||
|
|
echo ============================================================
|
||
|
|
echo Evaluation failed. See error above or check log file.
|
||
|
|
echo ============================================================
|
||
|
|
pause
|
||
|
|
exit /b 1
|