Управление зависимостями
В VLMHyperBench используется uv workspaces для эффективного управления зависимостями как в корне проекта, так и во внутренних пакетах.
1. Команда uv add (рекомендуемый способ)
uv add автоматически обновляет pyproject.toml и uv.lock.
1.1 Глобальная зависимость (корень проекта)
uv add numpy>=1.26
1.2 Dev-зависимость
uv add ruff --group dev
Dev-зависимости устанавливаются только при разработке и исключаются из prod-сборок.
1.3 Зависимость для конкретного пакета
# Из корня проекта
uv add numpy>=1.26 --package bench-utils
# Или из каталога пакета
cd packages/bench_utils
uv add numpy>=1.26
1.4 Optional dependencies (Extras)
uv add flash-attn --package model-qwen2_5-vl --optional flash
Такие зависимости устанавливаются только при явном указании extra: uv sync --extra flash.
2. Ручное редактирование
- Добавьте пакет в секцию
dependenciesнужногоpyproject.toml. - Выполните синхронизацию из корня:
uv lock
uv sync
3. Обновление зависимостей
Для обновления всех пакетов до последних разрешенных версий:
uv lock --upgrade
uv sync
💡 Совет: Всегда проверяйте
uv.lockпосле добавления зависимостей и коммитьте его вместе сpyproject.toml.