1from huggingface_hub import login
2
3token = "Your Key"
4login(token)
1from peft import PeftModel, PeftConfig
2from transformers import AutoModelForCausalLM, AutoTokenizer
3import torch
4from transformers import BitsAndBytesConfig
5from peft import prepare_model_for_kbit_training
1config = PeftConfig.from_pretrained("Shreyas45/Llama2_Text-to-SQL_Fintuned")
2peft_model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf")
3peft_model = PeftModel.from_pretrained(peft_model, "Shreyas45/Llama2_Text-to-SQL_Fintuned")
1from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
2from peft import prepare_model_for_kbit_training
3
4trained_model_tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path, trust_remote_code=True)
5trained_model_tokenizer.pad_token = trained_model_tokenizer.eos_token
1query = '''In the table named management with columns (department_id VARCHAR, temporary_acting VARCHAR);
2 CREATE TABLE department (name VARCHAR, num_employees VARCHAR, department_id VARCHAR),
3 Show the name and number of employees for the departments managed by heads whose temporary acting value is 'Yes'?'''
1prompt = f'''### Instruction: Below is an instruction that describes a task and the schema of the table in the database.
2 Write a response that generates a request in the form of a SQL query.
3 Here the schema of the table is mentioned first followed by the question for which the query needs to be generated.
4 And the question is: {query}
5###Output: '''
1
2generation_config = peft_model.generation_config
3generation_config.max_new_token = 1024
4generation_config.temperature = 0.7
5generation_config.top_p = 0.7
6generation_config.num_return_sequence = 1
7generation_config.pad_token_id = trained_model_tokenizer.pad_token_id
8generation_config.eos_token_id = trained_model_tokenizer.eos_token_id
1with torch.inference_mode():
2 outputs = peft_model.generate(
3 input_ids=encodings.input_ids,
4 attention_mask=encodings.attention_mask,
5 generation_config=generation_config,
6 max_new_tokens=100
7 )
1generated_query = trained_model_tokenizer.decode(outputs[0])
2print("Generated SQL Query:")
3print(generated_query)