Хотите создать приложение, которое может быстро и точно переводить запросы на естественном языке в сценарии SQL? Не смотрите дальше! Наше пошаговое руководство проведет вас через процесс создания собственного приложения с использованием Streamlit и API OpenAI. Вам интересно посмотреть, как выглядит конечный продукт? Проверьте мое приложение по ссылке ниже:
приложение для преобразования текста в SQL
ШАГ 1:
Чтобы приступить к созданию приложения для SQL-запросов на естественном языке, вам сначала необходимо настроить учетную запись OpenAI. Это легко — просто зайдите на https://platform.openai.com/ и следуйте инструкциям, чтобы создать учетную запись. Затем в своем аккаунте перейдите в раздел Личные данные → API-ключи → Создать новый секретный ключ. Имейте в виду, что этот ключ не должен быть общедоступным, так как он предназначен только для вас. Когда вы будете готовы развернуть свое приложение, просто добавьте секретный ключ в поле секретный ключ в дополнительных настройках Streamlit. Вот и все! Имея учетную запись OpenAI и секретный ключ, вы будете готовы создать приложение, которое сможет быстро и точно переводить запросы на естественном языке в сценарии SQL.
Перед развертыванием нашего приложения Streamlit нам необходимо протестировать его локально. Для этого мы создадим новую папку в каталоге нашего проекта с именем .streamlit. Внутри этой папки мы создадим скрипт и включим наш секретный ключ, который мы можем сохранить как переменную. Например, мы можем установить переменную «pass» равной нашему секретному ключу: pass = ‘kjhihjYsFydr4MoWaLShegZoVjnijbjbj’. Затем мы сохраним этот файл как secrets.toml. Этот файл является безопасным способом ссылки на наш секретный ключ в нашем приложении. Как только это будет сделано, мы можем начать кодировать наше приложение!
# Save this file as secrets.toml pass="kjhihjYsFydr4MoWaLShegZoVjnijbjbj"
ШАГ 2:
На этом этапе мы обсудим сценарий Python, который использует API-интерфейсы Streamlit и OpenAI для преобразования запросов на естественном языке в операторы SQL. Сценарий предоставляет интерактивный пользовательский интерфейс через Streamlit и использует API OpenAI для перевода ввода на естественном языке в операторы SQL.
# import librairies import openai import numpy as np import streamlit as st # Load OpenAI API key from secrets file openai.api_key=st.secrets["pass"] # Adding some texts to explain the purpose of the app #_______________Optionnal_______________________ st.sidebar.header('Natural language to SQL queries. ') st.sidebar.image("sql.png", use_column_width=True) st.sidebar.write(""" ###### This app uses streamlit and OpenAI APIs to translate natural language queries into SQL statements with ease. Simply input your natural language query, and our app will generate the corresponding SQL statement for you to execute, saving you valuable time and effort. """) st.sidebar.write(""" ###### Made by Lamis Ghoualmi [LinkedIn](https://www.linkedin.com/in/lamisghoualmi/), [Github](https://lamisghoualmi.github.io/) """) st.header('Translate natural language to SQL queries.') #___________________________________________________ # Text input where the user enter the text to be translated to SQL query query= st.text_input('Enter you text to generate SQL query', '') #The query is sent to the OpenAI API throught the prompt variable using #the "text-davinci-002" engine, and the generated response is returned as #a string. #These parameters configuration where based on the ones provided by openai def generate_sql(query): model_engine = "text-davinci-002" prompt = ( f"Translate the following natural language query to SQL:\n" f"{query}\n" f"SQL:" ) response = openai.Completion.create( engine=model_engine, prompt=prompt, temperature=0, max_tokens=150, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.0, stop=["#", ";"] ) return response.choices[0].text.strip() #if the Generate SQL query if clicked if st.button('Generate SQL query'): #if text input is not empty if len(query) > 0: #Generate sql query Respo=generate_sql(query) #print sql query st.write(Respo)
Чтобы запустить приложение на локальном хосте, откройте командную строку (cmd.exe) в Windows и перейдите в каталог, в котором находится ваше приложение, введя cd, а затем путь к каталогу (например, cd C:\Users\lamis \Desktop\App\NLP-To-SQL). Затем запустите свое приложение, введя streamlit run FileName.py в командной строке, где FileName — это имя вашего скрипта. Это запустит локальный сервер, и вы сможете просмотреть свое веб-приложение, открыв браузер и перейдя по адресу http://localhost:8501.
Чтобы развернуть приложение Streamlit и сделать его общедоступным для всех, сначала вам нужно загрузить свой код на GitHub. Не забудьте включить файл requirements.txt, содержащий имена библиотек, используемых в вашем коде. Затем перейдите на https://share.streamlit.io/, создайте новое приложение и добавьте ссылку на репозиторий GitHub вашего приложения. После этого перейдите в дополнительные настройки и добавьте свой секретный ключ, вставив его так: pass="kjhihjYsFydr4MoWaLShegZoVjnijbjbj"
. Наконец, нажмите Развернуть, и ваше приложение будет доступно в Интернете, чтобы поделиться им с другими.
Я очень рада, что поделилась с вами этим уроком! Готовы ли вы создать собственное приложение прямо сейчас? Дайте мне знать в комментариях, я не могу дождаться, чтобы увидеть, что вы создаете! И не стесняйтесь задавать мне любые вопросы, которые могут у вас возникнуть, я здесь, чтобы помочь. И эй, пока вы это делаете, не забудьте подписаться на меня в LinkedIn, чтобы получать больше интересных технических руководств и обновлений! Удачного кодирования!