import streamlit as st import google.generativeai as genai from dotenv import load_dotenv import os # Load environment variables load_dotenv() # Configure GenerativeAI with API key genai.configure(api_key=os.getenv('GOOGLE_API_KEY')) def main(): # Function to generate SQL query based on prompt input def gemini_ans(prompt_input): model = genai.GenerativeModel('gemini-pro') response = model.generate_content([prompt_input]) return response.text # Set page configuration st.set_page_config(page_title='SQL Query Generator', page_icon=':robot:') # Header section st.markdown( """ """ , unsafe_allow_html=True) st.markdown( """

SQL Query Generator 🤖

Generate SQL queries with ease!

This tool allows you to generate SQL queries based on your prompt.

""" , unsafe_allow_html=True) # Text area for input input_text = st.text_area('Enter your query...') # Generate SQL Query button submit = st.button('Generate SQL Query', key='generate_button') # Prompts for model responses prompt = """ You are an English to SQL language translator. Using the given text here {en}, write a SQL query only without making any mistakes. """ prompt1 = """ What would be the expected response of this query snippet: ``` {query} ``` Provide a sample tabular response with no explanation. """ prompt2 = """ Explain the SQL query: ``` {query} ``` Please provide the simplest explanation. """ # Handle button click event if submit: with st.spinner('Generating SQL Query...'): # Generate SQL query sql_query = gemini_ans(prompt.format(en=input_text)) st.header('Model Response') st.success("Generated SQL Query Successfully!") st.write(sql_query) # Generate sample expected output sql_table = gemini_ans(prompt1.format(query=sql_query)) st.success('Sample Expected Output') st.markdown(sql_table) # Generate explanation of the given query sql_explanation = gemini_ans(prompt2.format(query=sql_query)) st.success('Explanation of the Given Query') st.markdown(sql_explanation) # Execute main function if __name__ == "__main__": main()