Перейти к основному содержимому

Управление зависимостями

В 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. Ручное редактирование

  1. Добавьте пакет в секцию dependencies нужного pyproject.toml.
  2. Выполните синхронизацию из корня:
    uv lock
    uv sync

3. Обновление зависимостей

Для обновления всех пакетов до последних разрешенных версий:

uv lock --upgrade
uv sync

💡 Совет: Всегда проверяйте uv.lock после добавления зависимостей и коммитьте его вместе с pyproject.toml.