Без Ollama приложение больше не выглядит зависшим
Проверка работы с недоступной Ollama показала: если машина с ней просто выключена, пакеты уходят в никуда и каждый вызов честно ждёт свой таймаут. Замер: запись одной вещи — 92 секунды, разбор фразы — 154, правка — 30. Формально всё работало, но пользоваться этим невозможно. Предохранитель в ollama.py: - перед дорогим запросом быстрая проверка TCP-соединения (1.5 с вместо 120); - после неудачи 30 секунд к серверу вообще не обращаемся; - при успехе результат кешируется на 5 секунд, чтобы не проверять на каждом шаге; - смена адреса в настройках и проба адреса сбрасывают паузу, иначе новый сервер полминуты считался бы мёртвым. Замер после: те же операции отвечают мгновенно, первая проверка — 1.5 с. Проверено в двух режимах недоступности: закрытый порт и молчащий адрес. Тесты закрепляют поведение: запись, разбор фразы и поиск при мёртвом адресе обязаны укладываться в 3 секунды и работать по существу — вещь записывается без тегов, фраза разбирается регулярками, поиск идёт по словам. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -185,8 +185,9 @@ ollama pull bge-m3
|
||||
|
||||
## Что если Ollama выключен
|
||||
|
||||
Если Ollama на отдельной машине, она бывает выключена. Приложение это переживает:
|
||||
наверху появляется предупреждение, а работает почти всё.
|
||||
**Приложение работает и без Ollama вообще** — можно поставить и пользоваться,
|
||||
не устанавливая её. Наверху появится предупреждение со ссылкой в настройки,
|
||||
а всё основное останется на месте.
|
||||
|
||||
| | Ollama есть | Ollama нет |
|
||||
|---|---|---|
|
||||
@@ -196,6 +197,14 @@ ollama pull bge-m3
|
||||
| Разбор свободных фраз | модель | упрощённо, регулярками |
|
||||
| Поиск по смыслу | да | нет |
|
||||
|
||||
**Ожидания это не добавляет.** Если машина с Ollama выключена, пакеты уходят
|
||||
в никуда, и без защиты каждый вызов честно ждал бы свой таймаут: замер показал
|
||||
92 секунды на запись одной вещи и 154 на разбор фразы — выглядит как зависание.
|
||||
Поэтому в `ollama.py` стоит предохранитель: перед дорогим запросом идёт быстрая
|
||||
проверка соединения (полторы секунды вместо двух минут), а после неудачи
|
||||
приложение полминуты вообще не тревожит сервер. Замер после: те же операции
|
||||
отвечают мгновенно. Смена адреса в настройках сбрасывает паузу сразу.
|
||||
|
||||
Модели: `qwen2.5:7b` для разбора фраз (в конфиге — `CHAT_MODEL`).
|
||||
Не `omnicoder-9b`: тот ризонер, пишет `<think>` прямо в ответ и медленнее.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user