Files
grabber-ai/examples/rust/onnx_local
DenozordecandClaude Sonnet 5.5 8cbd800ec7 Релиз целиком: вход по ссылке, агрегат студий/типов/18+, малая int8-модель
- src/fetch.py: загрузка по URL (allowlist трекеров, защита от SSRF, cp1251)
- src/release.py: агрегат релиза, студии из заголовка раздачи (ПМ (LostFilm))
- predict --url, POST /predict {"url"}; ответ расширен, tracks сохранён
- export_onnx --quantize: tiny2 int8 29 МБ, parity 99.2-100%
- тесты (52 ok), docs/plan.md, docs; target/ убран из git

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 17:02:04 +07:00
..

onnx_local — локальный инференс DUB-AI на Rust (без Python)

cargo build
# onnxruntime.dll грузится динамически; можно взять из pip-пакета onnxruntime
# (уже есть в .venv проекта) или из официального релиза onnxruntime
ORT_DYLIB_PATH=<путь>/onnxruntime.dll ./target/debug/dub-ai-onnx-local.exe \
    "<путь к models/best-onnx>" "Перевод: Дублированный | MovieDalen"

Пример из корня проекта (Git Bash):

cd examples/rust/onnx_local
ORT_DYLIB_PATH="$(find ../../.venv -name onnxruntime.dll | head -1)" \
  ./target/debug/dub-ai-onnx-local.exe ../../models/best-onnx \
  "Авторский (одноголосый закадровый) - Юрий Сербин"

Модель должна быть экспортирована заранее: python -m src.export_onnx (создаст models/best-onnx/: model.onnx, tokenizer.json, label_maps.json, aliases.json).

Крейты: ort 2.0.0-rc.15 (инференс), tokenizers (HF tokenizer.json), serde_json (метки/алиасы). Постобработка повторяет src/predict.py: argmax типа и 18+, первый B-I-прогон по offsets → текст спана → канонизация по aliases.json.