--- license: apache-2.0 datasets: - VPCSinfo/odoo-sql-query-dataset base_model: - defog/sqlcoder-7b-2 pipeline_tag: text-generation library_name: adapter-transformers tags: - code --- # Fine-Tuned SQLCoder-7B for Odoo 17 This is a fine-tuned version of [defog/sqlcoder-7b-2](https://huggingface.co/defog/sqlcoder-7b-2) trained on Odoo 17 database schemas and queries. ## Model Details - Base model: defog/sqlcoder-7b-2 - Fine-tuned using LoRA for parameter-efficient adaptation - Optimized for Odoo 17 SQL queries ## Usage ```python from transformers import AutoModelForCausalLM, AutoTokenizer # Load the model with PEFT adapter model = AutoModelForCausalLM.from_pretrained("VPCSinfo/odoo17-sqlcoder-7b") tokenizer = AutoTokenizer.from_pretrained("VPCSinfo/odoo17-sqlcoder-7b") # Example query schema = """ CREATE TABLE res_partner ( id INTEGER PRIMARY KEY, name VARCHAR(255), email VARCHAR(255), phone VARCHAR(64) ); CREATE TABLE sale_order ( id INTEGER PRIMARY KEY, partner_id INTEGER REFERENCES res_partner(id), date_order TIMESTAMP, state VARCHAR(20), amount_total NUMERIC ); """ question = "Find all customers who have orders with a total amount greater than 1000" # Format your input following SQLCoder's expected format prompt = f'''### Task Generate a SQL query to answer the question below based on the table schema. ### Database Schema CREATE TABLE res_partner ( id INTEGER PRIMARY KEY, name VARCHAR(255), email VARCHAR(255), phone VARCHAR(64) ); CREATE TABLE sale_order ( id INTEGER PRIMARY KEY, partner_id INTEGER REFERENCES res_partner(id), date_order TIMESTAMP, state VARCHAR(20), amount_total NUMERIC ); ### Question Find all customers who have orders with a total amount greater than 1000 ### SQL Query ''' # Generate SQL inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=300) sql_query = tokenizer.decode(outputs[0], skip_special_tokens=True).split("### SQL Query")[1].strip() print(sql_query)