Files
llm/docs/roadmap.md
T

9.5 KiB
Raw Blame History

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