Slait commited on
Commit
5015c25
·
verified ·
1 Parent(s): af5c770

Upload 2 files

Browse files
Files changed (2) hide show
  1. README.md +156 -14
  2. requirements.txt +6 -0
README.md CHANGED
@@ -1,14 +1,156 @@
1
- ---
2
- title: Caption Qwen-vl
3
- emoji: 📊
4
- colorFrom: green
5
- colorTo: purple
6
- sdk: gradio
7
- sdk_version: 5.49.1
8
- app_file: app.py
9
- pinned: false
10
- license: apache-2.0
11
- short_description: We use the full power of Qwen-vl to create image description
12
- ---
13
-
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🖼️ Генератор описаний изображений Qwen VL
2
+
3
+ Приложение для автоматической генерации описаний изображений с использованием моделей Qwen Vision Language (VL). Идеально подходит для создания описаний товаров для интернет-магазинов, каталогов и маркетплейсов.
4
+
5
+ ## ✨ Возможности
6
+
7
+ - **Одиночная обработка**: Загрузите одно изображение и получите описание
8
+ - **Пакетная обработка**: Обработайте несколько изображений одновременно
9
+ - **Выбор моделей**: Поддержка моделей Qwen2-VL различных размеров
10
+ - **Расширенные параметры**:
11
+ - Макс. количество новых токенов (1-4096)
12
+ - Температура (0.1-2.0)
13
+ - Top-p nucleus sampling (0.05-1.0)
14
+ - Top-k (1-1000)
15
+ - Seed для воспроизводимости результатов
16
+ - **Современный UI**: Интуитивный веб-интерфейс на базе Gradio
17
+
18
+ ## 📋 Требования
19
+
20
+ - Python 3.8 или выше
21
+ - CUDA-совместимая GPU (рекомендуется, но не обязательно)
22
+ - Минимум 8GB RAM (16GB+ рекомендуется для больших моделей)
23
+
24
+ ## 🚀 Установка
25
+
26
+ 1. **Клонируйте репозиторий или создайте директорию проекта**:
27
+ ```bash
28
+ mkdir qwen-vl-app
29
+ cd qwen-vl-app
30
+ ```
31
+
32
+ 2. **Создайте виртуальное окружение**:
33
+ ```bash
34
+ python -m venv venv
35
+ ```
36
+
37
+ 3. **Активируйте виртуальное окружение**:
38
+ - Windows:
39
+ ```bash
40
+ venv\Scripts\activate
41
+ ```
42
+ - Linux/Mac:
43
+ ```bash
44
+ source venv/bin/activate
45
+ ```
46
+
47
+ 4. **Установите зависимости**:
48
+ ```bash
49
+ pip install -r requirements.txt
50
+ ```
51
+
52
+ ## 💻 Использование
53
+
54
+ ### Запуск приложения
55
+
56
+ ```bash
57
+ python app.py
58
+ ```
59
+
60
+ Приложение запустится на `http://localhost:7860`
61
+
62
+ ### Одиночная обработка
63
+
64
+ 1. Перейдите на вкладку "📄 Одиночная обработка"
65
+ 2. Загрузите изображение
66
+ 3. Введите промт (например: "Создать описание тарелки арт:123 для онлайн магазина")
67
+ 4. При необходимости настройте расширенные параметры
68
+ 5. Нажмите "🚀 Генерировать описание"
69
+
70
+ ### Пакетная обработка
71
+
72
+ 1. Перейдите на вкладку "📚 Пакетная обработка"
73
+ 2. Загрузите несколько изображений
74
+ 3. Введите промты:
75
+ - **Один промт для всех**: Введите один промт, он будет применен ко всем изображениям
76
+ - **Индивидуальные промты**: Введите по одному промту на строку для каждого изображения
77
+ 4. Нажмите "🚀 Обработать пакет"
78
+
79
+ ## 🎯 Примеры промтов
80
+
81
+ - "Создать описание тарелки арт:123 для онлайн магазина"
82
+ - "Описать блюдо для меню ресторана с указанием ингредиентов"
83
+ - "Создать привлекательное описание продукта для маркетплейса"
84
+ - "Детально описать изображение для каталога товаров"
85
+ - "Написать SEO-оптимизированное описание товара"
86
+
87
+ ## ⚙️ Параметры генерации
88
+
89
+ ### Макс. количество токенов (1-4096)
90
+ Определяет максимальную длину генерируемого текста. Больше токенов = более длинное описание.
91
+
92
+ ### Температура (0.1-2.0)
93
+ Контролирует "креативность" модели:
94
+ - **Низкая (0.1-0.5)**: Более предсказуемые и консервативные ответы
95
+ - **Средняя (0.6-0.8)**: Баланс между креативностью и точностью
96
+ - **Высокая (0.9-2.0)**: Более креативные и разнообразные ответы
97
+
98
+ ### Top-p (0.05-1.0)
99
+ Nucleus sampling - ограничивает выбор токенов по кумулятивной вероятности.
100
+
101
+ ### Top-k (1-1000)
102
+ Ограничивает выбор только k наиболее вероятными токенами.
103
+
104
+ ### Seed
105
+ Для воспроизводимости результатов. Используйте одинаковый seed для получения идентичных результатов.
106
+
107
+ ## 🤖 Доступные модели
108
+
109
+ - **Qwen/Qwen2-VL-2B-Instruct**: Легкая модель, быстрая генерация
110
+ - **Qwen/Qwen2-VL-8B-Instruct**: Более мощная модель с лучшим качеством
111
+
112
+ ## 🔧 Логика работы с моделями
113
+
114
+ Приложение использует умную систему управления моделями:
115
+ - Модель загружается только один раз при первом использовании
116
+ - При переключении модели старая модель выгружается из памяти
117
+ - Одновременно в памяти находится только одна модель
118
+ - Это оптимизирует использование GPU/RAM
119
+
120
+ ## 📝 Структура проекта
121
+
122
+ ```
123
+ qwen-vl-app/
124
+ ├── app.py # Основной файл приложения
125
+ ├── requirements.txt # Зависимости Python
126
+ └── README.md # Документация
127
+ ```
128
+
129
+ ## 🐛 Устранение неполадок
130
+
131
+ ### Ошибка CUDA out of memory
132
+ - Используйте модель меньшего размера (2B вместо 7B)
133
+ - Уменьшите max_new_tokens
134
+ - Закройте другие приложения, использующие GPU
135
+
136
+ ### Медленная генерация
137
+ - Убедитесь, что используется GPU (проверьте вывод при запуске)
138
+ - Используйте модель меньшего размера
139
+ - Уменьшите разрешение изображений
140
+
141
+ ### Модель не загружается
142
+ - Проверьте подключение к интернету (модели загружаются из HuggingFace)
143
+ - Убедитесь, что достаточно места на диске
144
+ - Проверьте, что установлены все зависимости
145
+
146
+ ## 📄 Лицензия
147
+
148
+ Этот проект использует модели Qwen, которые распространяются под лицензией Apache 2.0.
149
+
150
+ ## 🤝 Поддержка
151
+
152
+ При возникновении проблем или вопросов создайте issue в репозитории проекта.
153
+
154
+ ---
155
+
156
+ **Примечание**: Первый запуск может занять время, так как модели будут загружены из HuggingFace Hub.
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ gradio>=4.0.0
2
+ torch>=2.0.0
3
+ transformers>=4.48.0
4
+ qwen-vl-utils
5
+ Pillow>=10.0.0
6
+ accelerate>=0.20.0