test(gpu): покрыть L4 OllamaClient (парсинг парафраза, 12 тестов)

Сеть замокана (monkeypatch httpx.post/get). Проверяется устойчивость слоя LLM:
- нормализация ответа: is_paraphrase→bool, confidence→float, reason→str;
- кривой/невалидный JSON от модели → безопасные дефолты, не падение;
- отсутствие ключа "response" → пустой объект → безопасные значения;
- таймаут/ConnectError → «LLM недоступна»; прочие ошибки перехвачены;
- summarize: strip ответа и фолбэк в аннотацию/заголовок при ошибке;
- is_available: 200 → True, исключение → False.

Тестов всего: 53 (indexer 19, gost 17, gpu 17). httpx добавлен в requirements-test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jze9
2026-08-11 20:10:34 +05:00
parent e79f254af6
commit 426796a9a7
2 changed files with 133 additions and 2 deletions

View File

@@ -1,6 +1,8 @@
# Зависимости для юнит-тестов worker-gpu (FAISS-индекс L3, в памяти, без GPU).
# torch/sentence-transformers НЕ нужны — тестируется только логика индекса.
# Зависимости для юнит-тестов worker-gpu (FAISS-индекс L3 + OllamaClient L4).
# torch/sentence-transformers НЕ нужны — тестируется только логика индекса и
# парсинг ответа LLM (сеть в тестах замокана).
pytest==8.2.0
faiss-cpu==1.8.0
numpy==1.26.4
pydantic-settings==2.2.1
httpx==0.27.0