|
|
import gradio as gr |
|
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
|
|
|
|
|
|
model_name = "mrm8488/t5-base-finetuned-wikiSQL" |
|
|
|
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False) |
|
|
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) |
|
|
|
|
|
def nl_to_sql(nl_query): |
|
|
|
|
|
input_text = "translate English to SQL: " + nl_query |
|
|
inputs = tokenizer.encode(input_text, return_tensors="pt") |
|
|
outputs = model.generate(inputs, max_length=512) |
|
|
sql_query = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
return sql_query |
|
|
|
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
gr.Markdown("## 🧠 Natural Language to SQL Generator") |
|
|
with gr.Row(): |
|
|
nl_input = gr.Textbox(label="Enter your query in English") |
|
|
sql_output = gr.Textbox(label="Generated SQL") |
|
|
btn = gr.Button("Generate SQL") |
|
|
btn.click(nl_to_sql, inputs=nl_input, outputs=sql_output) |
|
|
|
|
|
demo.launch() |
|
|
|