/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
29 ГБ
Лицензия
Apache 2.0
Архитектура
mistral · dense
Библиотека
transformers
Опубликована
14 июн 2024

Mistral-7B-Instruct-SQL-ian

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

Дообученная Mistral 7B генерирует SQL-запросы по вопросу пользователя и схеме базы данных.

20скачиваний за 30 дней0лайковвеса обновлены18 июн 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LoudAI/Mistral-7B-Instruct-SQL-ian — языковая модель, дообученная разработчиком kubwa на базе mistralai/Mistral-7B-Instruct-v0.3 на синтетических примерах преобразования текстовых запросов в SQL. Она предназначена для генерации SQL-запросов по инструкции пользователя и контексту со схемой базы данных. Это плотная модель семейства Mistral с 7,1 млрд параметров, рассчитанная на контекст до 32 768 токенов; работает с текстом и поддерживает диалоговый режим.

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

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

  • генерация SQL по вопросу на естественном языке
  • составление запросов с учётом схемы таблиц
  • получение агрегированных данных из реляционной базы
  • создание примеров Text-to-SQL для прототипов

Ограничения

Карточка не содержит количественных оценок качества и не уточняет поддерживаемые диалекты SQL; результаты следует проверять перед выполнением.

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

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

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

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

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

Открыть на Hugging Face

Mistral-7B-Instruct-SQL-ian

About the Model

This model is a fine-tuned version of mistralai/Mistral-7B-Instruct-v0.3. https://huggingface.co/datasets/gretelai/synthetic_text_to_sql

  • Model Name: Mistral-7B-Instruct-SQL-ian

  • Developed by: kubwa

  • Base Model Name: mistralai/Mistral-7B-Instruct-v0.3

  • Base Model URL: Mistral-7B-Instruct-v0.3

  • Base Model Description: The Mistral-7B-Instruct-v0.3 Large Language Model (LLM) is an instruct fine-tuned version of the Mistral-7B-v0.3. Mistral-7B-v0.3 has the following changes compared to Mistral-7B-v0.2

    • Extended vocabulary to 32768
    • Supports v3 Tokenizer
    • Supports function calling
  • Dataset Name: gretelai/synthetic_text_to_sql

  • Dataset URL: synthetic_text_to_sql

  • Dataset Description: gretelai/synthetic_text_to_sql is a rich dataset of high quality synthetic Text-to-SQL samples, designed and generated using Gretel Navigator, and released under Apache 2.0.

Prompt Template

<s>
### Instruction:
{question}

### Context:
{schema}

### Response:

How to Use it

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model = AutoModelForCausalLM.from_pretrained("kubwa/Mistral-7B-Instruct-SQL-ian")
tokenizer = AutoTokenizer.from_pretrained("kubwa/Mistral-7B-Instruct-SQL-ian",use_fast=False)

text = """<s>
### Instruction:
What is the total volume of timber sold by each salesperson, sorted by salesperson?

### Context:
CREATE TABLE salesperson (salesperson_id INT, name TEXT, region TEXT); INSERT INTO salesperson (salesperson_id, name, region) VALUES (1, 'John Doe', 'North'), (2, 'Jane Smith', 'South'); CREATE TABLE timber_sales (sales_id INT, salesperson_id INT, volume REAL, sale_date DATE); INSERT INTO timber_sales (sales_id, salesperson_id, volume, sale_date) VALUES (1, 1, 120, '2021-01-01'), (2, 1, 150, '2021-02-01'), (3, 2, 180, '2021-01-01');

### Response:
"""

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

inputs = tokenizer(text, return_tensors="pt")
inputs = {key: value.to(device) for key, value in inputs.items()}

outputs = model.generate(**inputs, max_new_tokens=300, pad_token_id=tokenizer.eos_token_id)

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

Example Output

### Instruction:
What is the total volume of timber sold by each salesperson, sorted by salesperson?

### Context:
CREATE TABLE salesperson (salesperson_id INT, name TEXT, region TEXT); INSERT INTO salesperson (salesperson_id, name, region) VALUES (1, 'John Doe', 'North'), (2, 'Jane Smith', 'South'); CREATE TABLE timber_sales (sales_id INT, salesperson_id INT, volume REAL, sale_date DATE); INSERT INTO timber_sales (sales_id, salesperson_id, volume, sale_date) VALUES (1, 1, 120, '2021-01-01'), (2, 1, 150, '2021-02-01'), (3, 2, 180, '2021-01-01');

### Response:
SELECT salesperson.name, SUM(timber_sales.volume) as total_volume FROM salesperson JOIN timber_sales ON salesperson.salesperson_id = timber_sales.salesperson_id GROUP BY salesperson.name ORDER BY total_volume DESC;

Hardware and Software

  • Training Hardware: 4 Tesla V100-PCIE-32GB GPUs

License

  • Apache-2.0

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MistralForCausalLM
Ревизия весов
333eadc

0 моделей