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
|
Download README.md from Ilirt/datapilot-tiny-aya-sql-sft-extra: direct link, hf CLI and curl.
- Browser
- Download file 6.13 kB
-
https://huggingface.co/Ilirt/datapilot-tiny-aya-sql-sft-extra/resolve/main/README.md
- Command line
-
hf download hf://Ilirt/datapilot-tiny-aya-sql-sft-extra/README.md
-
curl -L -o README.md https://huggingface.co/Ilirt/datapilot-tiny-aya-sql-sft-extra/resolve/main/README.md
6.13 kB
| 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: | |
| - Ilirt/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, "Ilirt/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/Ilirt/datapilot-ecommerce-sql | |
| ## Результаты | |
| Тест: 18 задач из 3 семейств, не входящих в обучение. Критерий: результат SQL агента равен результату эталонного запроса (значения и имена столбцов). Один замер на модель. Рецепт выполнен дважды: **этот адаптер относится к запуску 1**, запуск 2 и GRPO лежат в `experiments/`. | |
| | Вариант | Запуск 1 | Запуск 2 | | |
| |---|---|---| | |
| | Базовая модель | 0/18 | 0/18 | | |
| | SFT на исходных данных (v1) | 2/18 | 1/18 | | |
| | **SFT v1 + доп. задачи** | **12/18** (этот адаптер) | 10/18 (`experiments/run2-sft-extra-adapter`) | | |
| | + повтор SQL ×3 (настройка приложения, не адаптер) | 13/18 | не измерялся | | |
| | + GRPO 60 шагов (`experiments/run2-grpo-adapter`, накладывается на слитую модель запуска 2) | не измерялся | 11/18 | | |
| Разброс между запусками (две задачи) сопоставим с эффектом повтора SQL и GRPO, поэтому они не считаются доказанным улучшением. По семействам запуск 1: `revenue-by-country` 6/6, `payment-status-counts` 6/6, `paid-profit` 0/6. | |
| ## Ограничения | |
| - **Малая оценка.** 18 задач, три семейства, нет доверительных интервалов. Результат не доказывает обобщающую способность. | |
| - **Тест не совсем чистый.** Дополнительные обучающие семейства придуманы после просмотра ошибок на тесте. | |
| - **Нестабильность обучения.** Два запуска одного рецепта дали 12/18 и 10/18. | |
| - **Известная ошибка.** В `paid-profit` модель считает прибыль по ценам каталога, а не по ценам позиции заказа. «Успех» с повтором объясняется `LIMIT 1`. | |
| - **Повтор SQL убирает явные ошибки, но не неверные значения.** | |
| - **GRPO** (награда по выполненному SQL, AgentTune) не дал надёжного улучшения: в формате AgentTune модель выдумывает результаты инструментов, в 171 из 240 траекторий награда 0. | |
| - **Текст итогового ответа не проверялся.** Правильность проверена по строкам SQL. | |
| - **Безопасность** (отказ на изменяющие запросы) обеспечивает защитный слой приложения. | |
| - Одна учебная схема интернет-магазина (5 таблиц), русскоязычные вопросы. | |
| ## Не предназначено для | |
| Работы с реальными или конфиденциальными данными без собственной проверки; коммерческого использования (лицензия базовой модели). | |