qwen3:8b вместо qwen2.5, отмена правки и пересоздание тегов
Замер на наших задачах (разбор 8 фраз + теги для 6 предметов):
qwen2.5:7b разбор 8/8, но теги «электротool Makita», «вoltage meter»
(первая буква кириллическая), «многофункциональный мера» —
модель думает по-английски и переводит на ходу;
qwen3:8b разбор 8/8, теги на нормальном русском.
Плата — примерно на треть медленнее на тегах. Теги важнее: по ним вещь
и находится.
Поддержка моделей-ризонеров: ollama.chat получил think=False. Без него
qwen3 тратит весь бюджет ответа на внутренний монолог и возвращает пустой
content — на первом прогоне модель выглядела нерабочей.
Разбор ответа с тегами укреплён: qwen3 иногда присылает объект
{"name":..., "synonyms":[...]} вместо списка строк, и он попадал в теги
целиком как строка. Теперь достаётся вложенный список, отсеиваются дубликаты
в разном регистре, вложенные объекты, bool и слишком длинные строки.
По замечаниям Алекса в правке предмета:
- кнопка «Отмена» — раньше открытую форму можно было только сохранить или
удалить вещь целиком;
- кнопка «🔄 Пересоздать теги» — после смены модели теги остаются старыми,
и это способ обновить их, не перезаводя вещь. Новый список показывается,
но не сохраняется молча: его ещё можно поправить руками.
В README добавлен раздел «Какую модель выбрать» с замерами и требованиями
к своей модели для тех, кто ставит приложение себе.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,10 +16,49 @@
|
||||
Модели (на машине с Ollama):
|
||||
|
||||
```
|
||||
ollama pull qwen2.5:7b разбор фраз и теги
|
||||
ollama pull bge-m3 поиск по смыслу (необязательно)
|
||||
ollama pull qwen3:8b разбор фраз и теги
|
||||
ollama pull bge-m3 поиск по смыслу
|
||||
```
|
||||
|
||||
### Какую модель выбрать
|
||||
|
||||
Обе задачи русские, и требование к модели одно: она должна **думать
|
||||
по-русски**, а не переводить с английского на ходу. Замеры на наших же
|
||||
задачах — разбор восьми фраз и генерация тегов для шести предметов:
|
||||
|
||||
| Модель | Размер | Разбор фраз | Русский в тегах | Скорость |
|
||||
|---|---|---|---|---|
|
||||
| **`qwen3:8b`** | 5 ГБ | 8/8 | чистый | 2,5 с на предмет |
|
||||
| `qwen2.5:7b` | 4,7 ГБ | 8/8 | «электротool Makita» | 1,8 с |
|
||||
|
||||
Разница видна именно на тегах — по ним вещь потом и находится:
|
||||
|
||||
```
|
||||
qwen2.5: шуруповёрт Makita → «электротool Makita», «удлинитель для шуруповерта»
|
||||
мультиметр → «многофункциональный мера», «вoltage meter»
|
||||
qwen3: изолента → «изоляционная лента», «лента для изоляции», «ПВХ-лента»
|
||||
саморезы 4х50 → «шурупы по дереву», «крепёжный элемент»
|
||||
```
|
||||
|
||||
У `qwen2.5` в слове «вoltage» первая буква кириллическая, а «электротool» —
|
||||
гибрид двух языков. В поиске такие теги бесполезны.
|
||||
|
||||
**Что учесть, выбирая свою модель:**
|
||||
|
||||
- **Меньше 7B на русском обычно плохи** — путают падежи и сваливаются
|
||||
в английский. `qwen2.5-coder:1.5b` для этой задачи не годится.
|
||||
- **Модели-ризонеры** (`qwen3`, `deepseek-r1`) тратят бюджет ответа на
|
||||
размышления и возвращают пустоту. В `ollama.py` это гасится `think=False`;
|
||||
добавляя свою, проверьте, что она отвечает, а не молчит.
|
||||
- **Формат важнее красноречия.** Приложение ждёт строгий JSON. `qwen3` иногда
|
||||
присылает объект вместо списка тегов — разбор это переживает, но модель,
|
||||
совсем не держащая формат, будет постоянно сваливаться на регулярки.
|
||||
- **Эмбеддер обязан быть многоязычным** — см. раздел про поиск.
|
||||
|
||||
Модель выбирается в настройках (вкладка **⚙**) из реально установленных.
|
||||
После смены у записанных вещей теги остаются прежними; обновить их можно
|
||||
кнопкой **«🔄 Пересоздать теги»** в карточке.
|
||||
|
||||
## Установка
|
||||
|
||||
Положите `install.cmd` в пустую папку и запустите — он скачает проект, создаст
|
||||
@@ -61,7 +100,7 @@ start.cmd запускает сервер и печатает адреса
|
||||
| Переменная | По умолчанию | Зачем |
|
||||
|---|---|---|
|
||||
| `OLLAMA_HOST` | `http://localhost:11434` | адрес Ollama |
|
||||
| `HLAMINGO_CHAT_MODEL` | `qwen2.5:7b` | разбор фраз и теги |
|
||||
| `HLAMINGO_CHAT_MODEL` | `qwen3:8b` | разбор фраз и теги |
|
||||
| `HLAMINGO_EMBED_MODEL` | `bge-m3` | поиск по смыслу |
|
||||
| `HLAMINGO_PORT` | `5000` | порт веб-интерфейса |
|
||||
| `HLAMINGO_DATA_DIR` | — | другая папка для данных и `.env`; используется тестами |
|
||||
|
||||
Reference in New Issue
Block a user