Skip to content

v1.3.0 — быстрый вход, публичные бенчмарки наверху, починка .env

Choose a tag to compare

@slavabars slavabars released this 11 Nov 08:12
· 9 commits to main since this release

В 1.3.0 два независимых изменения: README наконец начинается с того, ради чего его открывают, и починен баг деплоя, из-за которого .env на сервере не читался вообще.

Быстрый старт вместо предисловия

Установка начиналась на 123-й строке из 1241: человек сначала читал позиционирование и только потом видел первую команду. Теперь сверху pip install → uvicorn → curl с реальным ответом сервиса и честной пометкой, что на hash-энкодере вероятности почти равномерные, а осмысленные числа начинаются с обученного пака. Рядом оглавление и минимальный набор из пяти переменных.

Публичные бенчмарки наверху

Публичный набор decision-cascade 124M Clef-Flash 9.4B Laya 421M
AG News — accuracy 0.873 0.855 0.662
AG News — p50 10 мс 130 мс 16 мс
RouterBench — accuracy 0.542 0.442 0.312
RouterBench — p50 21 мс 170 мс 27 мс

Синтетический домен support в эту таблицу не попал: он in-distribution, и аргумент «0.915 против 0.667» на нём разваливается от первого же вопроса. Полная картина с политиками эскалации и оговорками осталась в docs/benchmarks.md.

Английская версия и бейджи

README.en.md повторяет quickstart, бенчмарки и SDK на английском; расхождение версии или чисел с русской версией ловит тест. Бейджи поставил только динамические: CI, версия PyPI, поддерживаемые версии Python, лицензия. Покрытие показываю не числом «94%», которое устареет через месяц, а обещанием ≥90% из pyproject.toml.

Юнит не читал .env

Это была настоящая ошибка, а не косметика. docs/deploy.md называет .env основным способом задать DECISION_*, deploy/backup.sh его архивирует, а systemd-юнит его не подключал: на сервере всё, что вы туда положили, молча игнорировалось и сервис работал на дефолтах. Теперь в юните EnvironmentFile=-<project>/.env. Файл по-прежнему необязателен, поэтому забытый .env не роняет сервис, но если он есть — значения применяются.

При апгрейде загляните в .env и сверьте, что там ожидаемое: GET /info → config показывает, что реально применилось.

Совместимость

Ломающих изменений нет: schema_version остаётся "1", блок config в /info аддитивен, новых зависимостей и переменных окружения нет.

Проверки

ruff и shellcheck чистые, uv lock --check проходит, pytest — 799 passed, 14 skipped без GPU, покрытие 94%, pip-audit не знает уязвимостей, twine check и smoke установленного wheel — в порядке.

Артефакты

В релизе wheel и sdist, v1.3.0-weights.tar.gz с манифестом (семь паков; русский не публикуется из-за лицензии датасета) и v1.3.0-benchmarks.tar.gz с 38 файлами прогонов. Контрольные числа паков не менялись: AG News 0.8800, RouterBench 0.5480, support 0.9258.