Docker-сервис, выбор основы и сравнение моделей, сборщик датасета
docker / build (push) Failing after 39s

- Docker: Dockerfile (CPU), compose с FlareSolverr, настройка через DUB_* переменные,
  токен доступа к /predict, tools/pack_models.py, workflow Gitea Actions, docs/docker.md
- Модель грузится офлайн (config.json рядом с весами); общий код вынесен в src/spans.py,
  сервису не нужны sklearn/matplotlib/pandas
- Обучение: профили tiny2/base/large/modern, запуски в models/runs, реестр и честное
  сравнение на одной тестовой выборке (src/runs.py), пункт меню «Модели»
- Датасет: язык и аудио-параметры дорожек, 18+ по строкам «Аудио», ручные метки по ссылкам,
  переиндексация сохранённого HTML, параллельная сборка, сбалансированная выборка
- Тексты страниц (data/pages) больше не хранятся в git

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
DenozordecandClaude Sonnet 5.5 committed 2026-10-28 17:19:10 +07:00
1 parent d155b8584b
commit efc9a4f56a
411 files changed
+87495 -27363

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
# Скопируйте в .env и поправьте. Используется docker-compose.yml.
# Образ: локальная сборка или из реестра Gitea (host/owner/repo:tag)
DUB_IMAGE=dub-ai:local
# Порт на хосте
DUB_PUBLISH_PORT=8000
# FlareSolverr: адрес, по которому ему доступен контейнер dub-ai.
# В compose поднимается рядом (http://flaresolverr:8191); внешний — укажите его адрес.
# Пусто — без обхода Cloudflare.
DUB_FLARESOLVERR_URL=http://flaresolverr:8191
# Токен доступа к /predict (рекомендуется, если порт виден из интернета): openssl rand -hex 24
DUB_API_TOKEN=
# Таймаут загрузки страницы, с (FlareSolverr решает challenge 10–40 с)
DUB_FETCH_TIMEOUT=60
# Потоков torch (пусто — все ядра VPS)
DUB_TORCH_THREADS=