Подсказка названия по фотографии
Фото выбрано в форме — приложение показывает его модели и предлагает название
с прочитанными надписями. «Подставить» переносит в поля, «Не надо» прячет.
Само не подставляется, и это принципиально: модели домысливают марки
и артикулы, когда надписей не видно. В замере клипсу для кабеля модель назвала
«конструктором LEGO Technic, 8376, 401 шт.». Запрет на выдумывание в промпте
помог: та же вещь стала «красной щёткой для посуды».
Смотрит gemma3:4b. Выбрана замером на настоящих снимках из базы:
gemma3:4b 3.5 с, отвечает всегда, надписи читает верно
(«Лампа светодиодная C35, Нейтральный белый, 9 Вт LED, E14»);
qwen3-vl:8b 11-32 с и часто пустой ответ — это ризонер, ему нужен бюджет
в 2000+ токенов, и уменьшение картинки не спасает.
Проверялась и гипотеза, что дело в размере снимка: у gemma3 разницы между
1280 и 512 px почти нет, у qwen3-vl время падает с 62 до 41 с, но ответ
всё равно пуст. Картинка всё же уменьшается до 768 px — незачем гонять лишнее.
Генерация тегов чинилась по ходу: на «Стабилизатор 7805 (TO-220)» модель
отвечала массивом объектов с пояснениями, не укладывалась в 256 токенов,
и JSON обрывался на полуслове — теги выходили пустыми. Бюджет поднят до 500,
промпт требует плоский массив строк, а из битого ответа строки теперь
вытаскиваются регуляркой: лучше несколько живых тегов, чем ничего.
Pillow добавлен в зависимости — для уменьшения картинки перед распознаванием.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
```
|
||||
ollama pull qwen3:8b разбор фраз и теги
|
||||
ollama pull bge-m3 поиск по смыслу
|
||||
ollama pull gemma3:4b подсказка названия по фото (необязательно)
|
||||
```
|
||||
|
||||
### Какую модель выбрать
|
||||
@@ -102,6 +103,7 @@ start.cmd запускает сервер и печатает адреса
|
||||
| `OLLAMA_HOST` | `http://localhost:11434` | адрес Ollama |
|
||||
| `HLAMINGO_CHAT_MODEL` | `qwen3:8b` | разбор фраз и теги |
|
||||
| `HLAMINGO_EMBED_MODEL` | `bge-m3` | поиск по смыслу |
|
||||
| `HLAMINGO_VISION_MODEL` | `gemma3:4b` | подсказка по фото; пусто — выключено |
|
||||
| `HLAMINGO_PORT` | `5000` | порт веб-интерфейса |
|
||||
| `HLAMINGO_DATA_DIR` | — | другая папка для данных и `.env`; используется тестами |
|
||||
|
||||
@@ -175,6 +177,31 @@ start.cmd запускает сервер и печатает адреса
|
||||
|
||||
Модель разбирает фразу за ~1,5 с, места из неё создаются сами.
|
||||
|
||||
### Подсказка по фотографии
|
||||
|
||||
Когда фото выбрано в форме заведения вещи, приложение показывает его модели
|
||||
и предлагает название с прочитанными надписями:
|
||||
|
||||
```
|
||||
фото коробки лампы → «Лампочка LED E14»
|
||||
надписи: Лампа светодиодная C35, Нейтральный белый, 9 Вт LED, E14
|
||||
```
|
||||
|
||||
Кнопка **«✓ Подставить»** переносит это в поля, **«Не надо»** прячет.
|
||||
Само оно не подставляется, и это принципиально: модели домысливают марки
|
||||
и артикулы, когда надписей не видно. В замере клипсу для кабеля модель
|
||||
назвала «конструктором LEGO Technic, 8376, 401 шт.». Поэтому — только
|
||||
подсказка, решает человек.
|
||||
|
||||
Смотрит **`gemma3:4b`** (`HLAMINGO_VISION_MODEL`, 3,3 ГБ). Выбрана замером
|
||||
на настоящих снимках: 3,5 с и всегда отвечает, тогда как `qwen3-vl:8b` — 11–32 с
|
||||
и часто пустой ответ, потому что это ризонер, которому нужен бюджет
|
||||
в 2000+ токенов. Перед отправкой картинка уменьшается до 768 px: снимок
|
||||
разворачивается в токены, а для чтения крупных надписей столько не нужно.
|
||||
|
||||
Распознавание отключается пустым `HLAMINGO_VISION_MODEL` — тогда блок
|
||||
подсказки просто не появляется.
|
||||
|
||||
### Фото
|
||||
|
||||
Две кнопки: **«📷 Снять»** открывает камеру, **«🖼»** — готовые снимки в галерее.
|
||||
|
||||
Reference in New Issue
Block a user