初始化项目,由ModelHub XC社区提供模型
Model: AGmind/agmind-rag-splitter-ru Source: Original Platform
This commit is contained in:
68
README.md
Normal file
68
README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
language:
|
||||
- ru
|
||||
license: apache-2.0
|
||||
base_model: t-tech/T-lite-it-2.1
|
||||
datasets:
|
||||
- AGmind/agmind-rag-splitter-ru-data
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- rag
|
||||
- chunking
|
||||
- text-segmentation
|
||||
- russian
|
||||
- lora
|
||||
---
|
||||
|
||||
# RU Context-Aware Document Splitter (T-lite-it-2.1 LoRA)
|
||||
|
||||
Дообучение **`t-tech/T-lite-it-2.1`** (Qwen3-8B), которое режет русские документы на самодостаточные смысловые чанки для RAG, держа таблицы/код целыми. На вход — текст, заранее разбитый на нумерованные юниты; на выход — индексы границ + topic в JSON.
|
||||
|
||||
## Использование
|
||||
Это **completion**-модель, обученная на raw-Alpaca промпте (без чат-шаблона). Сначала разбей документ на нумерованные юниты; чанки собери на хосте по возвращённым индексам.
|
||||
|
||||
**Промпт:**
|
||||
```
|
||||
### Instruction:
|
||||
Раздели документ на смысловые части для системы поиска (RAG). Каждая часть читается независимо, не разрывая предложений, таблиц и кода. Верни ТОЛЬКО номера единиц, после которых проходит граница, в формате JSON.
|
||||
|
||||
### Input:
|
||||
[1] Первое предложение. [2] Второе. [3] | таблица |...|
|
||||
### Response:
|
||||
```
|
||||
**Вывод:** `{"splits": [2], "topic": "..."}` — `splits` = индексы юнитов, после которых граница (1-индексные). Режь оригинал по этим точкам.
|
||||
|
||||
Полный пре-/пост-процессинг + рецепт сервинга на llama.cpp — в [GitHub-репозитории](https://github.com/botAGI/AGmind-ML/tree/main/agmind-rag-splitter-ru).
|
||||
|
||||
## Результаты (согласие с метками учителя)
|
||||
|
||||
Исходный snapshot **N=300** из holdout-1500:
|
||||
|
||||
| Валидный JSON | F1@0 | F1@±1 | exact-set |
|
||||
|---|---|---|---|
|
||||
| 100% | 0.656 | 0.821 | 29% |
|
||||
|
||||
Перепроверка на полном **holdout-1500** (2026-06-26, raw stdout — в `eval/` GitHub-репозитория):
|
||||
|
||||
| Прогон | JSON | F1@0 | F1@±1 | exact |
|
||||
|---|---|---|---|---|
|
||||
| HF bf16 | 99.9% | 0.665 | 0.825 | 30.0% |
|
||||
| GGUF Q5_K_M, AMD Vulkan | 100% | 0.661 | 0.826 | 29.9% |
|
||||
|
||||
На полном holdout GGUF Q5_K_M практически равен HF-модели; работает на AMD Vulkan через llama.cpp.
|
||||
|
||||
## Данные
|
||||
Датасет: [`AGmind/agmind-rag-splitter-ru-data`](https://huggingface.co/datasets/AGmind/agmind-rag-splitter-ru-data) (~17k train + 12k синтетика, дистилляция от DeepSeek-V4-Flash).
|
||||
|
||||
## Обучение
|
||||
bf16 LoRA (r32, rsLoRA, all-linear, response-only) на RTX 5090; ~17k примеров дистилляции (DeepSeek-V4-Flash). См. `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).
|
||||
Reference in New Issue
Block a user