RU Context-Aware Document Splitter (T-lite-it-2.1 LoRA)

Дообучение t-tech/T-lite-it-2.1 (Qwen3-8B), которое режет русские документы на самодостаточные смысловые чанки для RAG, держа таблицы/код целыми. На вход — текст, заранее разбитый на нумерованные юниты; на выход — индексы границ + topic в JSON.

Текущая версия — v2 (main). v1 доступна тегом v1.0. Что нового в v2: (1) метки учителя — self-consistency голосование 3 сэмплов + few-shot промпт «не рви единую мысль» (по фидбеку сообщества); (2) датасет 17k→28k, источников 3→6 (+финансовые новости, учебно-официальные документы, юридические НПА); (3) впервые — честный эталон: 140 out-of-domain юр.документов, размеченных консенсусом двух независимых моделей с арбитражем (не teacher-agreement).

Использование

Это completion-модель, обученная на raw-Alpaca промпте (без чат-шаблона). Сначала разбей документ на нумерованные юниты; чанки собери на хосте по возвращённым индексам.

Промпт:

### Instruction:
Раздели документ на смысловые части для системы поиска (RAG). Каждая часть читается независимо, не разрывая предложений, таблиц и кода. Верни ТОЛЬКО номера единиц, после которых проходит граница, в формате JSON.

### Input:
[1] Первое предложение. [2] Второе. [3] | таблица |...|
### Response:

Вывод: {"splits": [2], "topic": "..."}splits = индексы юнитов, после которых граница (1-индексные). Режь оригинал по этим точкам.

Полный пре-/пост-процессинг + рецепт сервинга на llama.cpp — в GitHub-репозитории.

Результаты v2 — эталон (главные цифры)

Эталон — 140 out-of-domain документов (90 НПА из RusLawOD + 50 судебных решений, 8 отраслей права), размечены консенсусом двух независимых моделей (DeepSeek × Claude) с арбитражем спорных — это не teacher-agreement, границы верифицированы чтением документов.

модель JSON boundary-F1@0 boundary-F1@±1
v1 (GGUF Q5) 99.3% 0.352 0.595
v2 (bf16) 100% 0.415 (+18%) 0.609
v2 (GGUF Q5, AMD Vulkan) 100% 0.405 0.606

По жанрам (v1 → v2, @±1): судебные решения 0.825 → 0.867; НПА 0.473 → 0.465 (паритет при выросшей точной позиции). Точность на судах @0: 0.361 → 0.495 (+37%).

История v1: согласие с метками учителя (teacher-agreement, не gold)

Snapshot N=300 из holdout-1500: JSON 100% / F1@0 0.656 / F1@±1 0.821 / exact 29%.

Перепроверка на полном holdout-1500 (2026-06-26): HF bf16 — 99.9% / 0.665 / 0.825 / 30.0%; GGUF Q5_K_M (AMD Vulkan) — 100% / 0.661 / 0.826 / 29.9%.

Данные

v2: 28 095 train + 1 500 holdout, 6 источников (cultura 30% / habr 23% / синтетика 19% / юр. НПА 12% / финансовые новости 8% / учебные документы 8%). Метки — DeepSeek-V4-Flash, self-consistency голосование 3 сэмплов (n=3 из одного префилла) + few-shot промпт против крошения мысли. Датасет: AGmind/agmind-rag-splitter-ru-data.

Обучение

bf16 LoRA (r32, rsLoRA, all-linear, response-only) на RTX 5090, 2 эпохи (3 512 шагов, ~8ч). См. docs/methodology.md в репо.

Файлы

  • LoRA-адаптер / merged FP16-веса
  • *-Q5_K_M.gguf (llama.cpp, Vulkan/CPU)

Ограничения

Метрики — согласие с учителем, не human-ground-truth. Лёгкая пере-сегментация. Для очень больших таблиц нужна отдельная табличная стратегия, а не эта боундари-модель.

Лицензия

Apache-2.0 (наследует лицензию базы T-lite-it-2.1).

Downloads last month
2,698
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AGmind/agmind-rag-splitter-ru

Finetuned
Qwen/Qwen3-8B
Adapter
(1)
this model
Quantizations
1 model

Dataset used to train AGmind/agmind-rag-splitter-ru