/ Модель

Характеристики

Контекст
32 768 токенов
Параметры
257 млн
Лицензия
Apache 2.0
Архитектура
gemma3_text · dense
Базовая модель
gemma-3-270m-it
Библиотека
transformers
Опубликована
27 авг 2026

gemma-3-270m-text2sql-oracle-postgres

Генерация текстаТекст → текст4 профессии

Компактная дообученная Gemma 3 преобразует вопросы по заданной схеме данных в SQL для Oracle и PostgreSQL.

83скачиваний за 30 дней0лайковвеса обновлены27 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

chabab дообучил инструкционную текстовую модель Google gemma-3-270m-it для преобразования вопроса на естественном языке и описания схемы в один SQL-запрос для Oracle или PostgreSQL. Модель построена на плотной архитектуре Gemma 3, содержит 257 млн параметров и имеет контекстное окно 32 768 токенов. Она принимает текст с указанием диалекта, блоком Schema и блоком Question и генерирует SQL без пояснений и разметки Markdown.

На отложенной выборке из 60 примеров точное совпадение с эталонным SQL составило 78,3%: 86,7% для Oracle и 53,3% для PostgreSQL. Модель обучалась на семи схемах; её качество на других схемах не проверено. Запросы не проверяются на реальной базе: возможны ошибки в выборе таблиц, интерпретации вопроса и диалектных конструкциях. Перед использованием SQL требуется проверка, особенно перед выполнением с правами записи. Модель распространяется по лицензии Apache-2.0.

Сценарии применения

  • генерация SQL по вопросу пользователя и описанию схемы
  • подготовка запросов для баз Oracle
  • подготовка запросов для баз PostgreSQL
  • создание черновиков SQL для аналитики по табличным данным

Ограничения

Оценка основана на небольшой выборке, причём примеров PostgreSQL было всего 15; проверены только семь обучающих схем. Модель может ошибаться в таблицах, смысле запроса и диалекте, а генерация не проверяется на живой базе, поэтому SQL нужно проверять до выполнения.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

gemma-3-270m-text2sql-oracle-postgres

google/gemma-3-270m-it fine-tuned to turn a schema + a natural-language question into one dialect-correct SQL statement — Oracle or PostgreSQL — with no markdown fences and no commentary.

At 270M parameters it runs on CPU and quantizes to ~290 MB.

Results

Held-out test split (60 examples), greedy decoding, normalized exact match against gold SQL:

SliceExact match
Overall78.3% (47/60)
Oracle86.7% (39/45)
PostgreSQL53.3% (8/15)
easy93.3% (14/15)
medium69.2% (27/39)
hard100% (6/6)

Per-example predictions are in eval_results.json.

Caveats worth knowing before you rely on these numbers:

  • The test split is skewed 45 Oracle / 15 PostgreSQL, so the PostgreSQL figure rests on 15 examples and has a wide error bar.
  • Exact match is strict. Several "failures" are valid SQL that differs from gold — an extra LIMIT, a different but equivalent predicate. Real semantic accuracy is higher than 78.3%.
  • The most common genuine error is dialect leakage: emitting LIKE where PostgreSQL gold uses ILIKE. If case-insensitive matching matters to you, check that specific pattern.
  • Only the 7 schemas in the training set (hr, sales, banking, inventory, tickets, university, logistics) are represented. Generalization to unseen schemas is untested.

Usage

The model expects the system prompt naming the dialect, then a Schema: block and a Question: block — the same shape as the training data.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "chabab/gemma-3-270m-text2sql-oracle-postgres"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype=torch.bfloat16,
    attn_implementation="eager",  # Gemma-3 needs eager attention for correct generation
    device_map="auto",
)

messages = [
    {"role": "system", "content": "You convert natural language into PostgreSQL SQL. Use only tables and columns from the provided schema. Reply with one SQL statement and nothing else. No markdown fences. No commentary."},
    {"role": "user", "content": """Schema:
employees(
  employee_id INTEGER PK,
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  hire_date DATE,
  salary NUMERIC(12,2),
  department_id INTEGER FK->departments.department_id
)

Question:
Show the five employees with the largest salary. Return only the SQL."""},
]

ids = tok.apply_chat_template(messages, add_generation_prompt=True,
                              return_tensors="pt", return_dict=True).to(model.device)
out = model.generate(**ids, max_new_tokens=256, do_sample=False)
print(tok.decode(out[0][ids["input_ids"].shape[-1]:], skip_special_tokens=True).strip())
# SELECT first_name, last_name, salary FROM employees ORDER BY salary DESC LIMIT 5;

Two things matter for output quality:

  • Use greedy decoding (do_sample=False). The task has one right answer; sampling only adds drift.
  • Use attn_implementation="eager". Gemma-3 generates degenerate repeated tokens under the default SDPA path in some configurations.

GGUF / local inference

Quantized builds for Ollama, LM Studio, and llama.cpp: chabab/gemma-3-270m-text2sql-oracle-postgres-GGUF

Training

Full-parameter SFT (no LoRA — the model is small enough to tune end to end) with TRL SFTTrainer on one L4 GPU, about 10 minutes.

Basegoogle/gemma-3-270m-it
Datachabab/text2sql-oracle-postgres — 684 train / 60 validation / 60 test
Epochs5
Effective batch size16 (4 × 4 grad accum)
Learning rate5e-5, cosine, 10 warmup steps
Max sequence length1024
Precisionbf16

Final metrics: train loss 0.0256, eval loss 0.0683, eval token accuracy 98.5%. Eval loss fell monotonically through training with no divergence.

Limitations

Generated SQL is not validated against a live database. The model can produce syntactically valid statements that reference the wrong table or misread the intent — two of the observed test failures do exactly that. Review output before executing it, and never run generated SQL against production with write permissions.

License

Apache 2.0, inheriting the Gemma terms of use from the base model.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Gemma3ForCausalLM
Ревизия весов
cfc5d04

0 моделей