/ Модель

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

Контекст
512 токенов
Параметры
38,5 млн
Лицензия
Apache 2.0
Архитектура
t5 · dense
Опубликована
28 авг 2023

t5-small-awesome-text-to-sql

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

Дообученная на базе T5-small модель преобразует вопросы на английском языке и описания таблиц в SQL-запросы, включая запросы с JOIN.

1 922скачиваний за 30 дней76лайковвеса обновлены29 авг 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cssupport разработала эту модель на основе t5-small и дообучила её для преобразования запросов на естественном английском языке в SQL. На вход подаются описание таблиц в виде инструкций CREATE TABLE и текстовый вопрос; модель предназначена для генерации SQL-запросов, в том числе с объединением нескольких таблиц через JOIN.

Модель использует архитектуру T5 и содержит 38,5 млн параметров. Она принимает и выдаёт текст, поддерживает английский язык и имеет контекст длиной до 512 токенов. В карточке указано, что при дообучении использовались наборы Clinton/Text-to-sql-v1 и b-mc2/sql-create-context.

Модель подходит для встраивания в аналитические приложения, где нужно преобразовывать вопросы пользователей в SQL. Карточка не приводит оценки качества и подробных ограничений, поэтому корректность запросов следует проверять на целевых схемах и данных. Лицензия — Apache 2.0.

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

  • генерация SQL по вопросу на естественном английском языке
  • создание запросов SQL по схемам таблиц CREATE TABLE
  • составление SQL-запросов с объединением нескольких таблиц
  • подключение преобразования текста в SQL к аналитическому приложению

Ограничения

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

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

Model Card for Model ID

Based on t5-small, model generates SQL from text given table list with "CREATE TABLE" statements. Supports multiple tables with joins. This is a very light weigh model and could be used in multiple analytical applications. Used combination of b-mc2/sql-create-context and Clinton/Text-to-sql-v1 dataset. Contact us for more info: support@cloudsummary.com

Model Details

Model Description

Model Sources

Please refer t5-small for Model Sources.

How to Get Started with the Model

Use the code below to get started with the model.

import torch
from transformers import T5Tokenizer, T5ForConditionalGeneration

# Initialize the tokenizer from Hugging Face Transformers library
tokenizer = T5Tokenizer.from_pretrained('t5-small')

# Load the model
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = T5ForConditionalGeneration.from_pretrained('cssupport/t5-small-awesome-text-to-sql')
model = model.to(device)
model.eval()

def generate_sql(input_prompt):
    # Tokenize the input prompt
    inputs = tokenizer(input_prompt, padding=True, truncation=True, return_tensors="pt").to(device)
    
    # Forward pass
    with torch.no_grad():
        outputs = model.generate(**inputs, max_length=512)
    
    # Decode the output IDs to a string (SQL query in this case)
    generated_sql = tokenizer.decode(outputs[0], skip_special_tokens=True)
    
    return generated_sql

# Test the function
#input_prompt = "tables:\n" + "CREATE TABLE Catalogs (date_of_latest_revision VARCHAR)" + "\n" +"query for: Find the dates on which more than one revisions were made."
#input_prompt = "tables:\n" + "CREATE TABLE table_22767 ( \"Year\" real, \"World\" real, \"Asia\" text, \"Africa\" text, \"Europe\" text, \"Latin America/Caribbean\" text, \"Northern America\" text, \"Oceania\" text )" + "\n" +"query for:what will the population of Asia be when Latin America/Caribbean is 783 (7.5%)?."
#input_prompt = "tables:\n" + "CREATE TABLE procedures ( subject_id text, hadm_id text, icd9_code text, short_title text, long_title text ) CREATE TABLE diagnoses ( subject_id text, hadm_id text, icd9_code text, short_title text, long_title text ) CREATE TABLE lab ( subject_id text, hadm_id text, itemid text, charttime text, flag text, value_unit text, label text, fluid text ) CREATE TABLE demographic ( subject_id text, hadm_id text, name text, marital_status text, age text, dob text, gender text, language text, religion text, admission_type text, days_stay text, insurance text, ethnicity text, expire_flag text, admission_location text, discharge_location text, diagnosis text, dod text, dob_year text, dod_year text, admittime text, dischtime text, admityear text ) CREATE TABLE prescriptions ( subject_id text, hadm_id text, icustay_id text, drug_type text, drug text, formulary_drug_cd text, route text, drug_dose text )" + "\n" +"query for:" + "what is the total number of patients who were diagnosed with icd9 code 2254?"
input_prompt = "tables:\n" + "CREATE TABLE student_course_attendance (student_id VARCHAR); CREATE TABLE students (student_id VARCHAR)" + "\n" + "query for:" + "List the id of students who never attends courses?"

generated_sql = generate_sql(input_prompt)

print(f"The generated SQL query is: {generated_sql}")
#OUTPUT: The generated SQL query is: SELECT student_id FROM students WHERE NOT student_id IN (SELECT student_id FROM student_course_attendance)

Uses

[More Information Needed]

Direct Use

Could used in application where natural language is to be converted into SQL queries. [More Information Needed]

Out-of-Scope Use

[More Information Needed]

Bias, Risks, and Limitations

[More Information Needed]

Recommendations

Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.

Technical Specifications

Model Architecture and Objective

t5-small

Compute Infrastructure

Hardware

one A100-80

Software

Pytorch and HuggingFace

Model Card Contact

cssupport (support@cloudsummary.com)

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
T5ForConditionalGeneration
Ревизия весов
2f1fd09

0 моделей