Приложение для автоматической генерации описаний изображений с использованием моделей Qwen Vision Language (VL). Идеально подходит для создания описаний товаров для интернет-магазинов, каталогов и маркетплейсов.
- Одиночная обработка: Загрузите одно изображение и получите описание
- Пакетная обработка: Обработайте несколько изображений одновременно
- Выбор моделей: Поддержка моделей Qwen2-VL различных размеров
- Расширенные параметры:
- Макс. количество новых токенов (1-4096)
- Температура (0.1-2.0)
- Top-p nucleus sampling (0.05-1.0)
- Top-k (1-1000)
- Seed для воспроизводимости результатов
- Современный UI: Интуитивный веб-интерфейс на базе Gradio
- Python 3.8 или выше
- CUDA-совместимая GPU (рекомендуется, но не обязательно)
- Минимум 8GB RAM (16GB+ рекомендуется для больших моделей)
- Клонируйте репозиторий или создайте директорию проекта:
mkdir qwen-vl-app
cd qwen-vl-app- Создайте виртуальное окружение:
python -m venv venv-
Активируйте виртуальное окружение:
- Windows:
venv\Scripts\activate
- Linux/Mac:
source venv/bin/activate
- Windows:
-
Установите зависимости:
pip install -r requirements.txtpython app.pyПриложение запустится на http://localhost:7860
- Перейдите на вкладку "📄 Одиночная обработка"
- Загрузите изображение
- Введите промт (например: "Создать описание тарелки арт:123 для онлайн магазина")
- При необходимости настройте расширенные параметры
- Нажмите "🚀 Генерировать описание"
- Перейдите на вкладку "📚 Пакетная обработка"
- Загрузите несколько изображений
- Введите промты:
- Один промт для всех: Введите один промт, он будет применен ко всем изображениям
- Индивидуальные промты: Введите по одному промту на строку для каждого изображения
- Нажмите "🚀 Обработать пакет"
- "Создать описание тарелки арт:123 для онлайн магазина"
- "Описать блюдо для меню ресторана с указанием ингредиентов"
- "Создать привлекательное описание продукта для маркетплейса"
- "Детально описать изображение для каталога товаров"
- "Написать SEO-оптимизированное описание товара"
Определяет максимальную длину генерируемого текста. Больше токенов = более длинное описание.
Контролирует "креативность" модели:
- Низкая (0.1-0.5): Более предсказуемые и консервативные ответы
- Средняя (0.6-0.8): Баланс между креативностью и точностью
- Высокая (0.9-2.0): Более креативные и разнообразные ответы
Nucleus sampling - ограничивает выбор токенов по кумулятивной вероятности.
Ограничивает выбор только k наиболее вероятными токенами.
Для воспроизводимости результатов. Используйте одинаковый seed для получения идентичных результатов.
- Qwen/Qwen2-VL-2B-Instruct: Легкая модель, быстрая генерация
- Qwen/Qwen2-VL-8B-Instruct: Более мощная модель с лучшим качеством
Приложение использует умную систему управления моделями:
- Модель загружается только один раз при первом использовании
- При переключении модели старая модель выгружается из памяти
- Одновременно в памяти находится только одна модель
- Это оптимизирует использование GPU/RAM
qwen-vl-app/
├── app.py # Основной файл приложения
├── requirements.txt # Зависимости Python
└── README.md # Документация
- Используйте модель меньшего размера (2B вместо 7B)
- Уменьшите max_new_tokens
- Закройте другие приложения, использующие GPU
- Убедитесь, что используется GPU (проверьте вывод при запуске)
- Используйте модель меньшего размера
- Уменьшите разрешение изображений
- Проверьте подключение к интернету (модели загружаются из HuggingFace)
- Убедитесь, что достаточно места на диске
- Проверьте, что установлены все зависимости
Этот проект использует модели Qwen, которые распространяются под лицензией Apache 2.0.
При возникновении проблем или вопросов создайте issue в репозитории проекта.
Примечание: Первый запуск может занять время, так как модели будут загружены из HuggingFace Hub.