Files
llm/docs/roadmap.md
T

202 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Roadmap
## Current Stand Status - 2026-06-20
Main UI:
- LAN URL: `http://192.168.220.91:8765/tools/model-chat/`
- Current GPU profile: `image`
- Running GPU containers: `llm-model-chat-ui`, `llm-transformers-image`, `llm-transformers-translation`
- Stopped heavy GPU containers: `llm-vllm-text`, `llm-transformers-audio`, `llm-transformers-video`, `llm-llama-qwen3-coder-q6-test`
- GPU mode is intentionally single-heavy-model: keep only the active task model loaded on RTX 4090.
Plugin status:
| Plugin | Current route | Status | Notes |
| --- | --- | --- | --- |
| Text | `qwen3-4b-instruct` on `vllm-text` | ready to start | Stopped in image profile to free VRAM. |
| 1C | `qwen3-coder-1c-q6` on `llama.cpp` port `8081` | ready to start | Default manual-check route now prefers Qwen3-Coder Q6; LoRA/RAG remain separate candidates. |
| Translation | `lmt-60-4b` on `translation-api` | online | API responds on `http://docker-gpu.cin.su:8010`. |
| Audio | `whisper-large-v3-turbo` | ready to start | Model files are present; service is stopped in image profile. |
| Video | `qwen2_5-vl-7b-instruct` | ready to start | Model files are present; service is stopped in image profile. |
| Image | `sdxl-image` | online | SDXL generation and inpainting are verified through UI proxy. |
Recent verified checks:
- Browser UI opens and selects `Stable Diffusion XL Base 1.0 [staging]` for plugin `Фото`.
- Image API route is `http://docker-gpu.cin.su:8040`, served model `sdxl-image`.
- SDXL generate smoke test completed at 512x512, 4 steps, after warmup in `2194 ms`.
- SDXL inpaint smoke test completed at 512x512, 4 steps, including first inpaint model load in `180649 ms`.
- SDXL generate smoke test completed after image service restart at 512x512, 1 step, in `86866 ms`.
- Qwen Image Edit files are present and `QwenImageEditPipeline` loads in about `31 s`, but a 512x512
1-step edit did not finish within `1800 s` on RTX 4090 with CPU offload; SDXL remains the default
practical image service.
- Qwen3-Coder Q6 GPU/CPU comparison exists: GPU `57.72 tok/s`, CPU `2.66 tok/s`, speedup about `x21.7`.
- `1C` route check returns `qwen3-coder-30b-a3b-instruct-q6_k` through `http://docker-gpu.cin.su:8081`.
Next technical priorities:
1. Done: add a first-class launcher for Qwen3-Coder Q6 on GPU instead of keeping it as an ad hoc test container.
2. Done: make the `1C` route prefer the strongest available GGUF model for manual checks, while keeping LoRA/RAG as separate modes.
3. Done: add smoke tests for `audio` and `video` profiles similar to the completed image smoke tests; live runs wait for profile switches.
4. Done: add an image model mode switch for SDXL vs Qwen Image Edit before trying Qwen Image Edit on RTX 4090.
5. Done: add a status report generator so this section can be regenerated from `/api/health`.
## Stage 1: Platform Skeleton
- Зафиксировать архитектуру `core + plugins`.
- Описать правила model registry.
- Создать шаблон model card.
- Подготовить структуру плагинов.
## Stage 2: First Inference
- Выбрать первую текстовую модель.
- Описать ее model card.
- Поднять inference на `docker-gpu.cin.su`.
- Проверить API и базовые eval-тесты.
Текущая основа:
- `core/deploy/docker-gpu/vllm/compose.yaml`
- `core/deploy/docker-gpu/vllm/.env.example`
- `docs/runbooks/first-vllm-inference.md`
- `registry/model-cards/qwen3-4b-instruct-2507.yaml`
- `scripts/download_hf_model.py`
- `scripts/list_model_cards.py`
- `scripts/build_model_index.py`
## Stage 3: 1C RAG
- Собрать документы и правила по 1С.
- Подготовить индекс для поиска.
- Добавить инструменты работы с метаданными 1С.
- Сделать eval-набор задач по BSL и запросам 1С.
Текущая основа:
- `plugins/1c/rag/manifests/corpus.yaml`
- `scripts/prepare_1c_rag_corpus.py`
- `plugins/1c/tools/tool-contract.yaml`
- `plugins/1c/prompts/system.md`
- `plugins/1c/evals/smoke.yaml`
- `scripts/build_1c_rag_index.py`
- `scripts/search_1c_rag.py`
- `scripts/ask_1c_rag.py`
- `scripts/check_1c_rag_prompt.py`
- `plugins/1c/metadata/schema.json`
- `scripts/validate_1c_metadata_snapshot.py`
- `scripts/convert_1c_metadata_to_rag.py`
## Stage 4: 1C Fine-Tuning
- Накопить проверенные пары вопрос/ответ.
- Очистить данные от секретов и персональных данных.
- Обучить LoRA/adapter.
- Сравнить base model, RAG и adapter.
Текущая основа:
- `plugins/1c/training/examples/instruction.examples.jsonl`
- `plugins/1c/training/manifests/dataset.yaml`
- `scripts/validate_1c_training_data.py`
- `scripts/prepare_1c_training_data.py`
- `plugins/1c/training/configs/qwen3-coder-30b-a3b-lora.yaml`
- `scripts/preflight_1c_training.py`
- `scripts/train_1c_lora.py`
- `core/deploy/docker-gpu/training/1c-lora.compose.yaml`
- `plugins/1c/adapters/qwen3-coder-30b-a3b-1c-lora-v1.yaml`
- `registry/model-cards/qwen3-coder-30b-a3b-1c-lora-v1.yaml`
## Stage 5: Service Split
- Вынести тяжелые плагины в отдельные контейнеры.
- Описать API-контракты.
- Добавить мониторинг и контроль версий моделей.
Текущая основа:
- `core/deploy/docker-gpu/transformers/translation.compose.yaml`
- `core/deploy/docker-gpu/transformers/audio.compose.yaml`
- `core/deploy/docker-gpu/transformers/video.compose.yaml`
- `scripts/transformers_plugin_server.py`
- `scripts/deploy_transformers_service.ps1`
## Stage 6: GPU Service Manager
- Управлять запуском/остановкой тяжелых сервисов моделей.
- Показывать VRAM и endpoint выбранной модели в UI.
- Исключить конфликт нескольких compose-проектов.
- Оставить ручной операторский путь через PowerShell.
Текущая основа:
- `scripts/manage_model_service.ps1`
- `POST /api/service-control` in `scripts/model_chat_server.py`
- service panel in `tools/model-chat/index.html`
## Stage 7: Model Cabinet
- Загружать модель файлом из личного кабинета.
- Импортировать модель по URL или серверному пути.
- Проверять наличие файлов, размер, checksum и карточку модели.
- Переводить проверенную модель из incoming в рабочий registry.
Текущая основа:
- `/api/model-ingest/upload`
- `/api/model-ingest/source`
- `/api/model-ingest/verify`
- `reports/model-ingest/jobs.jsonl`
## Stage 8: Video And Vision
- Реализовать image endpoint для Qwen2.5-VL.
- Добавить загрузку изображения в UI.
- Для видео сделать извлечение кадров и VLM-анализ.
- Добавить eval-набор для экранов, документов и видео-сцен.
## Stage 9: 1C Live Integration
- Подключить read-only коннектор к реальной базе 1С.
- Добавить быстрый operational loop без обязательной полной XML/EDT-синхронизации на каждый шаг.
- Индексировать реальные метаданные и BSL-модули через легкий 1C agent или JSON snapshot.
- Подключить intake задач из текста, Excel-файлов и скриншотов/макетов интерфейса.
- Ввести полные 1C-пути как основной язык агента:
`Справочник.Контрагенты.Наименование`, а не голое `Наименование`.
- Разделить effective-read и editor-provenance: агент читает итоговую картину
1С, но пишет только через origin/layer-aware write plan.
- Добавить отдельное разрешение BSL-символов внутри модуля/формы, чтобы
переменная `Номенклатура` не смешивалась с объектом
`Справочник.Номенклатура`.
- Расширить поддержку расширений: порядок применения, добавленные объекты,
adopted base objects, insert-before/after, replace, replace-with-control.
- Добавить quality gates перед любыми изменениями.
- Обучать LoRA только после RAG baseline и проверенного датасета.
Текущая основа:
- `docs/runbooks/1c-operational-coding.md`
- `docs/1c-extension-layer-plan.md`
- `docs/1c-adapter-api-contract.md`
- `plugins/1c/connector/contracts/openapi.yaml`
- `plugins/1c/connector/policies/read-only-query.yaml`
- `plugins/1c/connector/policies/change-workflow.yaml`
## Cross-Cutting: Evals
- `scripts/validate_evals.py`
- `scripts/run_1c_smoke_eval.py`
- `docs/runbooks/evals.md`
## Cross-Cutting: Observability And Quality Logging
- Add centralized access, turn, model-call, tool-call, and retrieval logging.
- Propagate `trace_id` and `request_id` across agent, adapter, MCP, and model routes.
- Add redaction, retention, and export rules for quality analysis.
- Add reviewed quality labels and aggregate reports for regressions and route comparisons.
Current plan:
- `docs/quality-audit-logging-plan.md`