Files

2.7 KiB

Evals

Цель: проверять качество моделей, RAG и будущих адаптеров воспроизводимым способом.

Validate Eval Files

python scripts/validate_evals.py

Run 1C Smoke Eval Without Model

Prompt-only режим проверяет, что eval-набор читается и превращается в отчет.

python scripts/run_1c_smoke_eval.py --print

Отчет пишется в:

reports/evals/1c-smoke.report.json

Папка reports не коммитится.

Run 1C Smoke Eval Against vLLM

После запуска inference:

python scripts/run_1c_smoke_eval.py --base-url http://docker-gpu.cin.su:8000 --model qwen3-4b-instruct

Runner сохраняет ответы и считает автоматические проверки, если критерий задан структурно. Строковые критерии остаются ручными.

Поддерживаемые автоматические типы:

  • contains
  • not_contains
  • regex
  • max_sentences
  • refuses
  • requires_metadata

Для GGUF/llama.cpp:

python scripts/run_1c_smoke_eval.py --base-url http://docker-gpu.cin.su:8080 --model devstral-1c-q4

Перед evals удобно проверить endpoint:

python scripts/check_inference_endpoint.py --base-url http://docker-gpu.cin.su:8000 --expected-model qwen3-4b-instruct --print
python scripts/check_inference_endpoint.py --base-url http://docker-gpu.cin.su:8080 --expected-model devstral-1c-q4 --print

Run Live Evals For Available Models

Единая команда проверяет endpoint-ы активного GPU-профиля и запускает smoke eval только для моделей этого профиля:

python scripts/run_live_model_evals.py --profile text --print

Отчет пишется в:

reports/evals/live-model-evals.json

По умолчанию live eval использует продуктовый 1С system prompt:

plugins/1c/prompts/system.md

Если endpoint недоступен, соответствующая модель получает статус blocked. Для полной ручной проверки взаимоисключающих профилей используйте:

python scripts/run_live_model_evals.py --all-targets --print

Promotion Rule

Модель или адаптер нельзя переводить из draft/staging в production, пока smoke-evals не пройдены и отчет не просмотрен.