# Стенд проверки текстовых моделей · 12 ноября 2026

- Форма: https://chat-agent.gis-master.ru/model-test.html
- MCP: https://chat-agent.gis-master.ru/mcp/model-test
- Chat Agent MR !82: https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/merge_requests/82
- rag-stack MR !10: https://git.giscloud.ru/ai-assistant/deployments/rag-stack/-/merge_requests/10
- Chat Agent main: `b89275a84f183b9adcc7b2c4d34e2234302e67e8`.
- rag-stack main: `8026c48d2f23cf28514e790c5ae0cfc61cb56209`.

## Подключение MCP

Транспорт: Streamable HTTP. Заголовок: `Authorization: Bearer <ключ>`.
Ключ сохранён только локально в `локальный источник
с правами 600. На сервере используется SHA-256 ключа; ключ в этот отчёт не включён.
Инструменты: `models_list`, `test_start`, `test_get`, `test_cancel`, `test_compare`.

Каждый запуск принимает новый UUID `run_id`, ID модели, системный промпт и запрос.
Эталон и обязательные/запрещённые фрагменты необязательны и модели не передаются.
Выполнение асинхронное: `test_start` → `test_get` до конечного состояния.
Повтор того же UUID и входа возвращает прежний запуск. При потере потока стенд
блокирует новые генерации до проверки завершения прежней работы оператором.

## Проверки

- CI Chat Agent 5997 и 6003: все пять обязательных групп прошли.
- Адресные локальные тесты: 11 backend, 3 frontend; настоящий NATS в штатном CI.
- GPU-кандидат, job 31898: 14/14 технических запусков — русский ASR 8K и английский
  TTS 32K для каждой модели. Завершение `stop`, reasoning отсутствует.
- Переполнение: 12012 токенов при контексте 8192 → HTTP 400, без обрезания.
- Драйвер: 187 отсчётов, пик 7742 МиБ, минимально свободно 14402 МиБ из 22144 МиБ.
- Job 31897: действующий NATS-маршрут из Gateway подтверждён.
- Job 31909: OCI-образ на H100 сверён с официальным manifest; все слои совпали.
- Job 31910: обновлён только Ollama. Версия 0.40.16 подтверждена через публичный
  NATS-прокси. Прежний образ и том сохранены, конфигурация MIG не менялась.
- Jobs 31926/31929: сборки Gateway/Front. Jobs 31954/31959: адресная поставка,
  проверка источника и работающих образов; настройки TTS сохранены.
- Публичный MCP: initialize, пять инструментов, отказ без ключа, список семи
  доступных моделей, повтор UUID, точное совпадение READY, эталон исключён из запроса.
  Полный синтетический результат: `mcp-acceptance.json`.
- Дополнительно: все шесть остальных моделей выполнили по одному короткому запросу
  через публичный MCP. Итого 7/7, ответ READY, reasoning отсутствует, digest и GPU
  подтверждены. Исходные результаты: `mcp-models.json`. Это не сравнительный benchmark.
- Браузер: после входа проверена опубликованная форма, Qwen3.5 4B / 8K.
  Вход «не меняй слой WMS» → «Не меняй слой WMS.»; точное совпадение,
  WER/CER = 0. Кнопки копирования ответа и полного JSON проверены чтением
  скопированного результата. В запросе ровно system + user, эталона и истории нет.
  Первый текст в браузере 3108,7 мс, полный ответ 3277,2 мс; загрузка модели
  2458,8 мс, обработка входа 113,2 мс, генерация 89,3 мс. Это один запуск
  с загрузкой модели, не benchmark. Доказательства: `browser-acceptance.json`
  и `browser-acceptance.jpg`. Финальная браузерная приёмка завершена.

## Работающие образы

- Ollama: `ollama/ollama@sha256:a372a1c0d1e15b68e9521189785c3ca17795c26c2356f8b1b10122cfb59ed0d7`.
- Gateway: `builder-registry.builder.giscloud.ru/gis/chat-agent/api-gateway/main@sha256:097b6a929014ac51adb2d1e500b85ceb5bf6939ee42b0049ef5f0a7df333d60d`.
- Front: `builder-registry.builder.giscloud.ru/gis/chat-agent/front/main@sha256:091e024c6b25d8c68e72321c718db810b4db95f8dff0033b12ac719df0bef86c`.

## Ограничения

Это проверка работоспособности стенда, не рейтинг качества. У моделей встречались
неверные термины и искажения смысла; стенд возвращает их без исправления.
Совпадение с эталоном и смысловая правильность — разные оценки.

История не передаётся, однако модель и вычислительный кэш могут оставаться загружены.
Первый публичный MCP-запуск Qwen 2B занял 61,05 с: загрузка 27,18 с, обработка входа
32,67 с, генерация 1,16 с. Это холодный запуск, не прогретая скорость.
У Gemma абсолютная оценка VRAM из API Ollama занижена; для ресурсной приёмки
использован драйвер. Исходные метрики API не подменяются.

Новые сервисы inference, базы промптов и обновление расширения не требуются.
