ChatGPT, несомненно, поможет каждому стать умнее.

Это может быть полезным инструментом, помогающим вам в достижении ваших целей, он помогает в создании сообщений в блогах, написании кода для вас и многого другого.

В этом сообщении блога мы рассмотрим захватывающую задачу: преобразование естественного языка в SQL.

Цель NLP to SQL — упростить пользователям взаимодействие с базами данных, позволяя им использовать запросы на естественном языке, а не писать сложный код SQL.

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

Постановка задачи: перевод простого английского текста в SQL-запросы

Ответьте на вопрос на естественном языке, например «В каких странах были самые высокие продажи?» и преобразовать это в запрос SQL.

Шаг 1. Сбор данных

Мы будем брать данные о продажах с: https://www.kaggle.com/datasets/kyanyoga/sample-sales-data.

Мы прочитаем приведенный выше набор данных с помощью pandas, а затем отправим те же данные во временную базу данных с помощью библиотеки SQL Alchemy.

Шаг 2. Настройка базы данных SQL и создание подключения

Настройка временной базы данных в памяти (ОЗУ) и последующий экспорт этого CSV →Pandas DF → SQL DB

  • Настройка БД

  • Создание подключения к SQL и запрос к базе данных

Шаг 3. Настройка учетной записи Open AI и информирование GPT о наших данных

Все начинается с настройки собственного ключа API OPEN AI в разделе учетной записи OPEN AI. Для настройки перейдите по ссылке ниже
https://platform.openai.com/account/api-keys

За этим следует сообщить Chat GPT о вашей исходной структуре таблицы, этот шаг может потребовать проб и ошибок в зависимости от типа базы данных, с которой вы имеете дело, но приведенные ниже шаги должны дать четкое представление.

Выше мы можем видеть, как мы создали структуру таблицы SQL, используя все столбцы из фрейма данных pandas.

Шаг 4. Получение запросов на естественном языке от конечного пользователя и объединение запросов

Мы создадим функцию ввода для захвата запроса пользователя.

В приведенном выше запросе пользователь попросил получить «Сумму продаж по почтовому индексу», используя обычный текст на английском языке.

Теперь мы создадим функцию для объединения подсказки пользователя со структурой таблицы с дополнительной строкой «Запрос для ответа», за которой следует ключевое слово «Выбрать», чтобы GPT правильно понял запрос

Шаг 5. Вызов модели Да-Винчи и анализ ответа

Теперь мы будем вызывать Text-DaVinci-Model для получения результатов. Используемый ниже API завершения имеет различные параметры, такие как температура, max_tokens и т. д., которые объясняются в приведенной ниже ссылке на подробную документацию на официальной домашней странице.



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

Шаг 6. Получение результатов из БД

Теперь все, что нам нужно сделать, это получить объект результата из базы данных, чтобы проверить наши результаты.

Вуаля, поздравляем с точным получением набора результатов с использованием модели GPT DaVinci.

Спасибо, что дочитали до сюда. В этом посте мы узнали, как преобразовать обычный текст на английском языке в осмысленные SQL-запросы, чтобы упростить задачу нетехнических и бизнес-пользователей.

Код на Github: https://github.com/soumyansh/NLP-To-SQL.git

Я надеюсь, что вы нашли этот урок полезным. Мне любопытно, что вы думаете, поэтому поразите меня некоторыми комментариями. Вы также можете связаться со мной напрямую через электронную почту или связаться со мной через LinkedIn.