# Model Chat Testbench Цель: вручную проверять модели из `registry/index.json` через чат с выбором плагина и модели. ## Web UI ```powershell python scripts/model_chat_server.py ``` Открыть: ```text http://127.0.0.1:8765 ``` Интерфейс читает модели из `registry/index.json`, группирует их по плагинам и отправляет запросы в OpenAI-compatible endpoint через локальный proxy. Возможности: - выбор endpoint preset: `vLLM text`, `llama.cpp GGUF`, `local`; - проверка `/v1/models` и наличия выбранного `served_model_name`; - выбор плагина и модели из registry; - готовые тестовые prompt-пакеты по каждому плагину; - сравнение нескольких моделей на одном prompt; - сборка 1C RAG prompt с найденными источниками; - сохранение каждого ответа и ошибки в JSONL; - ручная оценка ответа: `ok`, `needs_review`, `bad`. Endpoint по умолчанию: ```text http://docker-gpu.cin.su:8000 ``` ## CLI Smoke Chat ```powershell python scripts/model_chat_cli.py --plugin text python scripts/model_chat_cli.py --plugin 1c --model-id qwen3-4b-instruct-2507 python scripts/model_chat_cli.py --plugin translation --prompt "Переведи на английский: Проверяем модель." ``` ## Reports Результаты сохраняются в: ```text reports/model-chat/YYYYMMDD.jsonl ``` Записи `type=chat` содержат prompt, ответ, модель, endpoint, latency и статус. Записи `type=feedback` содержат ручную оценку и ссылку на `parent_id`. Записи `type=compare` содержат общий prompt и ответы нескольких моделей. Записи `type=rag_prompt` содержат вопрос, количество найденных источников и список source chunks. ## 1C RAG Prompt Для кнопки `1C RAG` нужен подготовленный индекс: ```powershell python scripts/prepare_1c_rag_corpus.py python scripts/build_1c_rag_index.py ``` Если индекс отсутствует, UI покажет команду подготовки. ## Notes - Для vLLM используется `served_model_name` из model card. - Для GGUF/llama.cpp укажите endpoint соответствующего сервиса, например `--base-url http://docker-gpu.cin.su:8080`. - Если GPU endpoint недоступен, UI покажет ошибку запроса, но каталог моделей все равно загрузится.