CypressTree-0.5-7B
๋ชจ๋ธ ์ค๋ช
์ด ๋ชจ๋ธ์ ํ ์คํธ(์์ฐ์ด)๋ฅผ SQL ์ฟผ๋ฆฌ๋ก ๋ณํํ๋ ๋ฐ ํนํ๋ Mistral-7B-Instruct-v0.3 ์ ๋ฏธ์ธ ์กฐ์ (Fine-Tuning) ๋ฒ์ ์ ๋๋ค.
- ๋ชจ๋ธ๋ช : CypressTree-0.5-7B
- ๊ธฐ๋ฐ ๋ชจ๋ธ: Mistral-7B-Instruct-v0.3
- ๊ธฐ๋ฐ ๋ชจ๋ธ ์ค๋ช : Mistral-7B-v0.3์ ๋ช ๋ น์ด์ ๋ง๊ฒ ๋ฏธ์ธ ์กฐ์ (Instruct Fine-Tuned)ํ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)์ ๋๋ค. Mistral-7B-v0.2 ๋๋น ํ์ฅ๋ 32768 ์ดํ, v3 ํ ํฌ๋์ด์ , ํจ์ ํธ์ถ ์ง์ ๋ฑ์ ๊ฐ์ ์ฌํญ์ ํฌํจํฉ๋๋ค.
- ํ์ต ๋ฐ์ดํฐ์ : gretelai/synthetic_text_to_sql
- ๋ฐ์ดํฐ์ ์ค๋ช : Gretel Navigator๋ฅผ ํ์ฉํ์ฌ ์์ฑ๋ ๊ณ ํ์ง์ text-to-sql ์ํ๋ก ๊ตฌ์ฑ๋ ํ๋ถํ ๋ฐ์ดํฐ์ ์ด๋ฉฐ, Apache 2.0 ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
ํ๋กฌํํธ ํ ํ๋ฆฟ
<s>
### Instruction:
{question}
### Context:
{schema}
### Response:
์ฌ์ฉ๋ฒ
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "namuai-x/CypressTree-0.5-7B"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False)
text = """<s>
### Instruction:
What is the total volume of timber sold by each salesperson, sorted by salesperson?
### Context:
CREATE TABLE salesperson (salesperson_id INT, name TEXT, region TEXT); INSERT INTO salesperson (salesperson_id, name, region) VALUES (1, 'John Doe', 'North'), (2, 'Jane Smith', 'South'); CREATE TABLE timber_sales (sales_id INT, salesperson_id INT, volume REAL, sale_date DATE); INSERT INTO timber_sales (sales_id, salesperson_id, volume, sale_date) VALUES (1, 1, 120, '2021-01-01'), (2, 1, 150, '2021-02-01'), (3, 2, 180, '2021-01-01');
### Response:
"""
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
inputs = tokenizer(text, return_tensors="pt")
inputs = {key: value.to(device) for key, value in inputs.items()}
outputs = model.generate(**inputs, max_new_tokens=300, pad_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
์ถ๋ ฅ ์์
### Instruction:
What is the total volume of timber sold by each salesperson, sorted by salesperson?
### Context:
CREATE TABLE salesperson (salesperson_id INT, name TEXT, region TEXT); INSERT INTO salesperson (salesperson_id, name, region) VALUES (1, 'John Doe', 'North'), (2, 'Jane Smith', 'South'); CREATE TABLE timber_sales (sales_id INT, salesperson_id INT, volume REAL, sale_date DATE); INSERT INTO timber_sales (sales_id, salesperson_id, volume, sale_date) VALUES (1, 1, 120, '2021-01-01'), (2, 1, 150, '2021-02-01'), (3, 2, 180, '2021-01-01');
### Response:
SELECT salesperson.name, SUM(timber_sales.volume) as total_volume FROM salesperson JOIN timber_sales ON salesperson.salesperson_id = timber_sales.salesperson_id GROUP BY salesperson.name ORDER BY total_volume DESC;
ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด
- ํ์ต ํ๋์จ์ด: 4๊ฐ์ Tesla V100-PCIE-32GB GPU
๋ผ์ด์ ์ค
- Apache-2.0
์ฐ๋ฝ์ฒ
CypressTree-0.5-7B
Model Description
This model is a fine-tuned version of Mistral-7B-Instruct-v0.3, specialized in converting natural language text into SQL queries.
- Model Name: CypressTree-0.5-7B
- Developed by: namuai-x
- Base Model: Mistral-7B-Instruct-v0.3
- Base Model Description: The Mistral-7B-Instruct-v0.3 Large Language Model (LLM) is an instruct fine-tuned version of Mistral-7B-v0.3. It includes improvements over Mistral-7B-v0.2, such as an extended vocabulary of 32768, v3 Tokenizer support, and function calling capabilities.
- Dataset Name: gretelai/synthetic_text_to_sql
- Dataset Description:
gretelai/synthetic_text_to_sqlis a rich dataset of high-quality synthetic Text-to-SQL samples, generated using Gretel Navigator and released under the Apache 2.0 license.
Prompt Template
<s>
### Instruction:
{question}
### Context:
{schema}
### Response:
How to Use it
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "namuai-x/CypressTree-0.5-7B"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False)
text = """<s>
### Instruction:
What is the total volume of timber sold by each salesperson, sorted by salesperson?
### Context:
CREATE TABLE salesperson (salesperson_id INT, name TEXT, region TEXT); INSERT INTO salesperson (salesperson_id, name, region) VALUES (1, 'John Doe', 'North'), (2, 'Jane Smith', 'South'); CREATE TABLE timber_sales (sales_id INT, salesperson_id INT, volume REAL, sale_date DATE); INSERT INTO timber_sales (sales_id, salesperson_id, volume, sale_date) VALUES (1, 1, 120, '2021-01-01'), (2, 1, 150, '2021-02-01'), (3, 2, 180, '2021-01-01');
### Response:
"""
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
inputs = tokenizer(text, return_tensors="pt")
inputs = {key: value.to(device) for key, value in inputs.items()}
outputs = model.generate(**inputs, max_new_tokens=300, pad_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Example Output
### Instruction:
What is the total volume of timber sold by each salesperson, sorted by salesperson?
### Context:
CREATE TABLE salesperson (salesperson_id INT, name TEXT, region TEXT); INSERT INTO salesperson (salesperson_id, name, region) VALUES (1, 'John Doe', 'North'), (2, 'Jane Smith', 'South'); CREATE TABLE timber_sales (sales_id INT, salesperson_id INT, volume REAL, sale_date DATE); INSERT INTO timber_sales (sales_id, salesperson_id, volume, sale_date) VALUES (1, 1, 120, '2021-01-01'), (2, 1, 150, '2021-02-01'), (3, 2, 180, '2021-01-01');
### Response:
SELECT salesperson.name, SUM(timber_sales.volume) as total_volume FROM salesperson JOIN timber_sales ON salesperson.salesperson_id = timber_sales.salesperson_id GROUP BY salesperson.name ORDER BY total_volume DESC;
Hardware and Software
- Training Hardware: 4 Tesla V100-PCIE-32GB GPUs
License
- Apache-2.0
Contact
- Downloads last month
- -