# 1C Training

Контур дообучения для 1С.

Рекомендуемый порядок:

1. собрать проверенные примеры;
2. удалить секреты и персональные данные;
3. привести к chat/instruction формату;
4. прогнать базовые eval-тесты;
5. обучить LoRA/adapter;
6. сравнить базовую модель, RAG и адаптер;
7. опубликовать адаптер через model card.

## Data Validation

Синтетический пример:

```powershell
python scripts/validate_1c_training_data.py plugins/1c/training/examples/instruction.examples.jsonl
python scripts/generate_1c_training_data.py
python scripts/validate_1c_training_data.py plugins/1c/training/raw/generated.instruction.jsonl
python scripts/prepare_1c_training_data.py --input plugins/1c/training/examples/instruction.examples.jsonl --output plugins/1c/training/prepared/train.chat.jsonl
```

`prepare_1c_training_data.py` автоматически добавляет `plugins/1c/training/raw/generated.instruction.jsonl`, если файл существует. `generate_1c_training_data.py` также добавляет проверенные write-route примеры из `reports/1c-sql/upo_test/write-matrix-verified-registry-*.json` и manual learning-plan примеры из `write-learning-plan-*.json`; лимиты регулируются `--max-write-records` и `--max-learning-records`. `raw` и `prepared` игнорируются git. Реальные обучающие данные должны проходить secret-scan и экспертное ревью.

## LoRA Training

Config: `plugins/1c/training/configs/qwen3-coder-30b-a3b-lora.yaml`.

Preflight:

```powershell
python scripts/preflight_1c_training.py
```

Dry run:

```powershell
python scripts/train_1c_lora.py --dry-run
```

Runbook: `docs/runbooks/1c-lora-training.md`.

