Text Generation
PEFT
Safetensors
Russian
English
lora
sft
sql
agent
tool-use
postgresql
conversational
Instructions to use Ilirt/datapilot-tiny-aya-sql-sft-extra with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Ilirt/datapilot-tiny-aya-sql-sft-extra with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("CohereLabs/tiny-aya-global") model = PeftModel.from_pretrained(base_model, "Ilirt/datapilot-tiny-aya-sql-sft-extra") - Notebooks
- Google Colab
- Kaggle
File size: 5,958 Bytes
65b30a4 20291ed 65b30a4 20291ed 65b30a4 20291ed | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | ---
base_model: CohereLabs/tiny-aya-global
library_name: peft
pipeline_tag: text-generation
license: cc-by-nc-4.0
language:
- ru
- en
tags:
- lora
- sft
- sql
- agent
- tool-use
- postgresql
datasets:
- HF_USER/datapilot-ecommerce-sql
---
# DataPilot · Tiny Aya SQL (LoRA `sft-extra`)
LoRA-адаптер к `CohereLabs/tiny-aya-global` (3,35 млрд параметров). Обучен вести агентный цикл по базе PostgreSQL: `list_tables` → `describe_table` → `execute_sql` → `finish`. Проект для трека 3 Lexsi. Код и воспроизведение: https://github.com/prprprmk12/datapilot-ai
**Лицензия и условия.** Адаптер производный от Tiny Aya Global, поэтому действуют условия базовой модели: CC BY-NC 4.0 (только некоммерческое использование) и Acceptable Use Policy Cohere Labs. Для загрузки базовой модели нужно принять условия на её странице.
## Как использовать
Адаптер надо подключить к базовой модели (PEFT) или слить с ней. Для vLLM мы сливаем веса (`scripts/merge_adapter.py`) и запускаем OpenAI-совместимый сервер, к которому обращается приложение DataPilot (`MODEL_PROVIDER=model_api`, `MODEL_SCHEMA_STYLE=json_schema`).
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("CohereLabs/tiny-aya-global", dtype="float16", device_map="auto")
model = PeftModel.from_pretrained(base, "HF_USER/datapilot-tiny-aya-sql-sft-extra")
tok = AutoTokenizer.from_pretrained("CohereLabs/tiny-aya-global")
```
Формат запроса и ответов (JSON-действия) задан в `datapilot/integrations/protocol.py` репозитория; без него модель не получит правильный промпт.
## Обучение
| Параметр | Значение |
|---|---|
| Метод | SFT, LoRA (TRL + PEFT), потери только по ответу |
| LoRA | r=16, alpha=32, dropout=0, все линейные слои |
| Эпохи / lr | 2 / 1e-4, batch 1 × accumulation 8, seed 42 |
| Точность / длина | float16, max_length 2048 |
| Данные | 69 train-задач v1 + 51 дополнительная train-задача (12 семейств), траектории строятся реальными инструментами |
| Железо | Kaggle, T4 |
Данные и отчёты: https://huggingface.co/datasets/HF_USER/datapilot-ecommerce-sql
## Результаты
Тест: 18 задач из 3 семейств, не входящих в обучение. Критерий: результат SQL агента равен результату эталонного запроса (значения и имена столбцов). Один прогон.
| Вариант | Решено полностью | Запусков с ошибкой SQL |
|---|---|---|
| Базовая модель | 0/18 | 12/18 |
| SFT на исходных данных (v1) | 2/18 | 14/18 |
| **SFT v1 + доп. задачи (этот адаптер)** | **12/18** | 6/18 |
| + повтор SQL после ошибки ×3 (настройка приложения, не адаптер) | 13/18 | 0/18 |
По семействам: `revenue-by-country` 6/6, `payment-status-counts` 6/6, `paid-profit` 0/6 (с повтором 1/6, но это совпадение, см. ниже).
## Ограничения
- **Малая оценка.** 18 задач, три семейства, один прогон, нет доверительных интервалов. Результат не доказывает обобщающую способность.
- **Тест не совсем чистый.** Дополнительные обучающие семейства придуманы после просмотра ошибок на тесте. Тестовые семейства в обучение не копировались.
- **Известная ошибка.** В `paid-profit` модель считает прибыль по ценам каталога (`products.price`, `products.cost`), а не по ценам позиции заказа (`order_items.unit_price`, `unit_cost`). Единственный «успех» с повтором объясняется `LIMIT 1`, где обе формулы дают один ответ.
- **Повтор SQL убирает явные ошибки, но не неверные значения**, поэтому ошибки становятся тихими.
- **Текст итогового ответа не проверялся.** Модель обучена писать «Результат запроса: …» и в демо один раз указала пустой результат при трёх реальных строках. Правильность проверена по строкам SQL, а не по тексту.
- **Безопасность** (отказ на изменяющие запросы) обеспечивает защитный слой приложения, а не обучение.
- Одна учебная схема интернет-магазина (5 таблиц), русскоязычные вопросы. На других схемах качество не измерялось.
- Только SFT. GRPO с наградой AgentTune не выполнено.
## Не предназначено для
Работы с реальными или конфиденциальными данными без собственной проверки; коммерческого использования (лицензия базовой модели). |