/ Модель

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

Библиотека
transformers
Опубликована
29 июл 2026

text2sql-7b-v3-16

Генерация текстаТекст → текст

Дообученная модель на базе Arctic-Text2SQL-R1-7B генерирует PostgreSQL-запросы по вопросу на естественном языке и описанию схемы, включая запросы для pgvector.

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

Бенчмарки

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

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

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

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

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

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

ihebaker10/text2sql-7b-v3-16 — дообученная причинная языковая модель примерно с 8 млрд параметров для преобразования вопросов на естественном языке в SQL. Она принимает вопрос вместе с описанием схемы базы данных и генерирует запрос в формате, предусмотренном карточкой модели.

Модель предназначена для генерации PostgreSQL-запросов, включая запросы для поиска по векторам pgvector с использованием embed_query() и операторов векторного расстояния. По карточке, она обучалась на 10 000 примерах text-to-SQL; PEFT LoRA-адаптеры были объединены в итоговые веса BF16 в формате Safetensors. Указаны английский язык и возможность диалогового использования.

На валидационной выборке синтаксическая корректность достигла 99,2%, а распознавание необходимости pgvector — 80,1%; полнота для pgvector составила 73,8%, поэтому часть запросов для векторного поиска может быть сгенерирована как обычный SQL. Совпадение SQL посимвольно составило 20,1% и может занижать оценку семантически эквивалентных запросов. Сгенерированные запросы следует проверять перед выполнением: модель не исполняет SQL. Лицензия в предоставленных данных не указана.

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

  • Преобразование вопросов на английском языке в PostgreSQL-запросы
  • Генерация SQL по описанию таблиц и схемы базы данных
  • Создание запросов поиска по векторам pgvector
  • Подготовка SQL для проверки и последующего выполнения в базе данных

Ограничения

Полнота распознавания запросов pgvector на валидационной выборке составляет 73,8%, поэтому часть таких запросов модель может сформировать как обычный SQL. Сгенерированный SQL нужно проверить перед запуском; модель не исполняет запросы.

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

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

Открыть на Hugging Face

text2sql-7b-v3-16

Model Details

text2sql-7b-v3-16 is an 8B-parameter causal language model fine-tuned for text-to-SQL generation. It accepts a natural-language question plus schema context and returns SQL inside the notebook's required answer format.

  • Model type: causal language model, text generation
  • Primary task: text-to-SQL
  • Base model family: Arctic-Text2SQL-R1-7B
  • Output format: <think>...</think><answer>SQL</answer>
  • Tensor format: Safetensors
  • Precision: BF16
  • Fine-tuning method: PEFT LoRA adapters merged into the final model artifact
  • Final artifact path used locally: outputs/text2sql-7b-v3-16/merged-text2sql-7b-v3-16

Intended Technical Use

Use this model to generate PostgreSQL-style SQL from a natural-language question and schema description. The fine-tuning set contains both plain SQL examples and pgvector retrieval examples using embed_query() with vector-distance operators.

This model is not a SQL execution engine. Generated SQL should be parsed, reviewed, and run in a controlled environment before use.

How to Use

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "ihebaker10/text2sql-7b-v3-16"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True,
)

messages = [
    {
        "role": "system",
        "content": "Generate SQL. Return the final SQL inside <answer>...</answer>.",
    },
    {
        "role": "user",
        "content": "Schema:\n...\n\nQuestion:\nList the latest 10 records.",
    },
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=768,
        temperature=0.2,
        top_p=0.95,
        do_sample=False,
    )

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Training Data

The training data contains 10,000 text-to-SQL examples loaded from a MongoDB collection and split into 9,001 training examples and 999 validation examples.

Split / TypeExamplesShare
Train9,00190.0%
Validation99910.0%
SQL-only3,93139.3%
pgvector6,06960.7%

Each record contains an identifier, is_sql_only, natural-language question, reference SQL query, reasoning hint, schema text, table list, and version.

Training Procedure

Training used a three-stage PEFT workflow:

StageObjectiveDataSchedule
Stage 1aSQL-only SFT warm-upSQL-only examples1 epoch
Stage 1bMixed SFTNatural mixed SQL + pgvector split2 epochs
Stage 2GRPO refinementNatural mixed SQL + pgvector splitabout 0.5 epoch, capped by max steps

The LoRA adapter was merged into the base weights before publishing the final Safetensors artifact.

Hyperparameters

ParameterStage 1a SFTStage 1b SFTStage 2 GRPO
Learning rate1e-47e-51e-05
SchedulercosinecosineSchedulerType.COSINE
Warmup ratio0.050.030.05
Per-device train batch size112
Gradient accumulation16164
Effective batch size16168
Weight decay0.010.010.01
Max grad norm1.01.01.0
Precisionbf16bf16bf16
Optimizeradamw_torchadamw_torchadamw_torch
Max sequence length15361536n/a
Max prompt lengthn/an/a1024
Max completion lengthn/an/a192
Rollouts per promptn/an/a2
Temperaturen/an/a0.8
Top-pn/an/a0.95
KL betan/an/a0.002
Early stopping patiencen/an/a2

LoRA configuration:

ParameterValue
Rank64
Alpha64
Dropout0.05
Biasnone
Target modulesdown_proj, gate_proj, k_proj, o_proj, q_proj, up_proj, v_proj

Reward Functions

Stage 2 used the following reward checks:

  • format_reward: validates the <think> and <answer> response structure.
  • sql_syntax_reward: rewards SQL that parses successfully.
  • pgvector_usage_reward: checks whether embed_query() is used only when expected.
  • execution_reward: optionally compares generated SQL results with reference SQL when DB_URL is configured.

Evaluation

Positive class for precision, recall, and F1 is pgvector usage, meaning the generated SQL contains embed_query().

SplitNFormatSyntaxUse accuracyPrecisionRecallF1Exact match
SQL-only393100.0%99.5%89.8%0.0%0.0%0.0%33.1%
pgvector606100.0%99.0%73.8%100.0%73.8%84.9%11.7%
combined999100.0%99.2%80.1%91.8%73.8%81.8%20.1%

Stage eval losses:

StageEval loss
Stage 1a0.013554
Stage 1b0.002467
Stage 20.000403

Detailed pgvector decision metrics from the saved final merged-model evaluation:

SplitTPFPFNTNSQL-only specificityEmbed false positive rate
SQL-only040035389.8%10.2%
pgvector447015900.0%0.0%
combined4474015935389.8%10.2%

Detailed saved stage metrics:

StageTrain lossEval lossTrain runtimeEval runtimeTrain samples/sEval samples/sTrain steps/sEval steps/sTotal FLOPs
Stage 1a2.4604370.0135542478s167.1s1.4285.9790.0895.9792.222e+17
Stage 1b0.0491280.00246712935s164.9s1.3926.0570.0876.0571.165e+18
Stage 20.0003920.00040336192s2772.4s0.1240.3600.0160.0450.000e+00

Limitations

  • SQL should be validated before execution.
  • Exact-match SQL is strict and may undercount semantically equivalent queries.
  • pgvector recall on the validation split is lower than precision, so some retrieval-style prompts may be answered as plain SQL.
  • Execution-based reward depends on DB_URL; without it, training optimizes formatting, SQL syntax, and pgvector usage only.

Technical Environment

  • Frameworks: transformers, peft, trl, datasets, torch
  • Attention implementation: sdpa
  • Gradient checkpointing: enabled
  • CUDA memory fraction in notebook: 0.98
  • TF32 matmul: enabled
  • TensorBoard logging: enabled for all training stages

Environmental Impact

Carbon emissions were not measured. Recorded training runtimes were approximately:

StageRuntime
Stage 1a2478 seconds
Stage 1b12935 seconds
Stage 236192 seconds

Total recorded training runtime was approximately 14.3 hours on a local CUDA GPU.

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

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

GPU в ailist

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

Нельзя запустить

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
e590305

0 моделей