Spaces:
Runtime error
Runtime error
import streamlit as st | |
from transformers import AutoModelForCausalLM, AutoTokenizer | |
# Set page configuration | |
st.set_page_config(page_title="SQLCoder", layout="wide") | |
# Load the model and tokenizer | |
def load_model(): | |
model_name = "defog/sqlcoder" | |
tokenizer = AutoTokenizer.from_pretrained(model_name) | |
model = AutoModelForCausalLM.from_pretrained( | |
model_name, | |
device_map="auto", | |
load_in_8bit=True, # Use int8 quantization | |
low_cpu_mem_usage=True, | |
) | |
return tokenizer, model | |
# @st.cache_resource | |
# def load_model(): | |
# model_name = "defog/sqlcoder-7b-2" | |
# tokenizer = AutoTokenizer.from_pretrained(model_name) | |
# model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto") | |
# return tokenizer, model | |
tokenizer, model = load_model() | |
# Define the function to generate code | |
def generate_code(prompt, max_length=150): | |
inputs = tokenizer(prompt, return_tensors="pt") | |
outputs = model.generate(**inputs, max_length=max_length, num_return_sequences=1) | |
return tokenizer.decode(outputs[0], skip_special_tokens=True) | |
# Streamlit app layout | |
st.title("SQLCoder: AI-Powered SQL Code Generator") | |
st.write("Generate SQL queries and code snippets using the SQLCoder model.") | |
# Input for user prompt | |
prompt = st.text_area("Enter your query or code prompt:", height=150) | |
max_length = st.slider("Maximum Output Length", min_value=50, max_value=300, value=150, step=10) | |
# Generate button | |
if st.button("Generate Code"): | |
if prompt.strip(): | |
with st.spinner("Generating code..."): | |
try: | |
generated_code = generate_code(prompt, max_length=max_length) | |
st.text_area("Generated Code:", value=generated_code, height=200) | |
except Exception as e: | |
st.error(f"Error generating code: {e}") | |
else: | |
st.warning("Please enter a prompt before generating code.") | |