Spaces:
Runtime error
Runtime error
from transformers import AutoTokenizer, AutoModelForCausalLM | |
import gradio as gr | |
import sqlparse | |
import torch | |
model_name = "defog/sqlcoder-7b" | |
tokenizer = AutoTokenizer.from_pretrained(model_name) | |
# Update the model loading process with potential disk offloading | |
model = AutoModelForCausalLM.from_pretrained( | |
model_name, | |
trust_remote_code=True, | |
torch_dtype=torch.float16, # Use reduced precision | |
device_map="auto", # Automatically distribute model layers | |
use_cache=True, | |
# Specify an offload folder if your setup requires offloading to disk | |
offload_folder="text_to_sql_defog_7b/offfolder", # Uncomment and set path as necessary | |
offload_state_dict=True, # Uncomment if offloading state dict is needed | |
) | |
def generate_response(prompt): | |
# Ensure the tokenizer and model are on the correct device | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
model.to(device) | |
inputs = tokenizer(prompt, return_tensors="pt").to(device) | |
generated_ids = model.generate( | |
**inputs, | |
num_return_sequences=1, | |
max_new_tokens=400, | |
do_sample=False, | |
num_beams=1, | |
) | |
outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True) | |
formatted_sql = sqlparse.format(outputs[0], reindent=True) | |
return formatted_sql | |
iface = gr.Interface( | |
fn=generate_response, | |
inputs=gr.Textbox(lines=7, label="Input Prompt", placeholder="Enter your prompt here..."), | |
outputs=gr.Textbox(label="Generated SQL"), | |
title="SQL Query Generator", | |
description="Generates SQL queries based on the provided natural language prompt. Powered by the 'defog/sqlcoder-7b' model." | |
) | |
iface.launch(share=True) |