Caption_Qwen-vl / README.md
Slait's picture
Update README.md
e5f38d9 verified
metadata
title: Qwen3 VL Image Description Generator
emoji: 🏆
colorFrom: blue
colorTo: gray
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
license: apache-2.0
short_description: We use the full power of Qwen-vl to create image description

🖼️ Генератор описаний изображений Qwen VL

Приложение для автоматической генерации описаний изображений с использованием моделей 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+ рекомендуется для больших моделей)

🚀 Установка

  1. Клонируйте репозиторий или создайте директорию проекта:
mkdir qwen-vl-app
cd qwen-vl-app
  1. Создайте виртуальное окружение:
python -m venv venv
  1. Активируйте виртуальное окружение:

    • Windows:
      venv\Scripts\activate
      
    • Linux/Mac:
      source venv/bin/activate
      
  2. Установите зависимости:

pip install -r requirements.txt

💻 Использование

Запуск приложения

python app.py

Приложение запустится на http://localhost:7860

Одиночная обработка

  1. Перейдите на вкладку "📄 Одиночная обработка"
  2. Загрузите изображение
  3. Введите промт (например: "Создать описание тарелки арт:123 для онлайн магазина")
  4. При необходимости настройте расширенные параметры
  5. Нажмите "🚀 Генерировать описание"

Пакетная обработка

  1. Перейдите на вкладку "📚 Пакетная обработка"
  2. Загрузите несколько изображений
  3. Введите промты:
    • Один промт для всех: Введите один промт, он будет применен ко всем изображениям
    • Индивидуальные промты: Введите по одному промту на строку для каждого изображения
  4. Нажмите "🚀 Обработать пакет"

🎯 Примеры промтов

  • "Создать описание тарелки арт:123 для онлайн магазина"
  • "Описать блюдо для меню ресторана с указанием ингредиентов"
  • "Создать привлекательное описание продукта для маркетплейса"
  • "Детально описать изображение для каталога товаров"
  • "Написать SEO-оптимизированное описание товара"

⚙️ Параметры генерации

Макс. количество токенов (1-4096)

Определяет максимальную длину генерируемого текста. Больше токенов = более длинное описание.

Температура (0.1-2.0)

Контролирует "креативность" модели:

  • Низкая (0.1-0.5): Более предсказуемые и консервативные ответы
  • Средняя (0.6-0.8): Баланс между креативностью и точностью
  • Высокая (0.9-2.0): Более креативные и разнообразные ответы

Top-p (0.05-1.0)

Nucleus sampling - ограничивает выбор токенов по кумулятивной вероятности.

Top-k (1-1000)

Ограничивает выбор только k наиболее вероятными токенами.

Seed

Для воспроизводимости результатов. Используйте одинаковый seed для получения идентичных результатов.

🤖 Доступные модели

  • Qwen/Qwen2-VL-2B-Instruct: Легкая модель, быстрая генерация
  • Qwen/Qwen2-VL-8B-Instruct: Более мощная модель с лучшим качеством

🔧 Логика работы с моделями

Приложение использует умную систему управления моделями:

  • Модель загружается только один раз при первом использовании
  • При переключении модели старая модель выгружается из памяти
  • Одновременно в памяти находится только одна модель
  • Это оптимизирует использование GPU/RAM

📝 Структура проекта

qwen-vl-app/
├── app.py              # Основной файл приложения
├── requirements.txt    # Зависимости Python
└── README.md          # Документация

🐛 Устранение неполадок

Ошибка CUDA out of memory

  • Используйте модель меньшего размера (2B вместо 7B)
  • Уменьшите max_new_tokens
  • Закройте другие приложения, использующие GPU

Медленная генерация

  • Убедитесь, что используется GPU (проверьте вывод при запуске)
  • Используйте модель меньшего размера
  • Уменьшите разрешение изображений

Модель не загружается

  • Проверьте подключение к интернету (модели загружаются из HuggingFace)
  • Убедитесь, что достаточно места на диске
  • Проверьте, что установлены все зависимости

📄 Лицензия

Этот проект использует модели Qwen, которые распространяются под лицензией Apache 2.0.

🤝 Поддержка

При возникновении проблем или вопросов создайте issue в репозитории проекта.


Примечание: Первый запуск может занять время, так как модели будут загружены из HuggingFace Hub.