import gradio as gr from transformers import pipeline # Load the pre-trained model from Hugging Face import torch from peft import AutoPeftModelForCausalLM from transformers import AutoTokenizer, pipeline peft_model_id = "jinhybr/code-llama-7b-text-to-sql" # peft_model_id = args.output_dir # Load Model with PEFT adapter model = AutoPeftModelForCausalLM.from_pretrained( peft_model_id, device_map="auto", torch_dtype=torch.float16 ) tokenizer = AutoTokenizer.from_pretrained(peft_model_id) # load into pipeline pipe = pipeline("text-generation", model=model, tokenizer=tokenizer) # Define the Gradio interface def translate_to_sql(question): strA = 'You are a text to SQL query translator. Users will ask you questions in English and you will generate a SQL query based on the provided SCHEMA.\nSCHEMA:\nCREATE TABLE table_17429402_7 (school VARCHAR, last_occ_championship VARCHAR)' combined_json_data = [{'content': strA, 'role': 'system'}, {'content': question, 'role': 'user'}] prompt = pipe.tokenizer.apply_chat_template(combined_json_data, tokenize=False, add_generation_prompt=True) outputs = pipe(prompt, max_new_tokens=256, do_sample=False, temperature=0.1, top_k=50, top_p=0.1, eos_token_id=pipe.tokenizer.eos_token_id, pad_token_id=pipe.tokenizer.pad_token_id) return outputs[0]['generated_text'][len(prompt):].strip() question_input = gr.inputs.Textbox(lines=7, label="Enter your question") output_text = gr.outputs.Textbox(label="Generated SQL Query") # Create the Gradio interface gr.Interface(fn=translate_to_sql, inputs=question_input, outputs=output_text, title="Text to SQL Translator", description="Translate English questions to SQL queries.").launch() # Create the Gradio interface gr.Interface(fn=classify_text, inputs=inputs, outputs=outputs, title="Sentiment Analysis", description="Predict the sentiment of text.").launch()