Spaces:
Running
Running
| 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. **Клонируйте репозиторий или создайте директорию проекта**: | |
| ```bash | |
| mkdir qwen-vl-app | |
| cd qwen-vl-app | |
| ``` | |
| 2. **Создайте виртуальное окружение**: | |
| ```bash | |
| python -m venv venv | |
| ``` | |
| 3. **Активируйте виртуальное окружение**: | |
| - Windows: | |
| ```bash | |
| venv\Scripts\activate | |
| ``` | |
| - Linux/Mac: | |
| ```bash | |
| source venv/bin/activate | |
| ``` | |
| 4. **Установите зависимости**: | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| ## 💻 Использование | |
| ### Запуск приложения | |
| ```bash | |
| 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. |