72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
# 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 покажет ошибку запроса, но каталог моделей все равно загрузится.
|