Views
No views yet
1 from transformers import AutoModelForSequenceClassification, AutoTokenizer
2 import torch
3 model_path = "./mengzi_rule_filtering"
4
5 model = AutoModelForSequenceClassification.from_pretrained(model_path, num_labels=3)
6 tokenizer = AutoTokenizer.from_pretrained(model_path)
7 model.eval()
8 inputs = "采用匹配成交方式的,每个交易日的9:15至9:25为开盘集合匹配时间,9:30至11:30、13:00至15:30为连续匹配时间。" # input sentence
9 input_ids = tokenizer([inputs], max_length=512, padding="max_length", truncation=True, return_tensors="pt").input_ids
10 logits = model(input_ids=input_ids).logits
11 _, outputs = torch.max(logits, dim=1)
12 outputs = outputs.numpy()[0]
13 print(outputs) # classification output1 from transformers import AutoModelForTokenClassification, AutoTokenizer
2 import torch
3 model_path = "./mengzi_rule_extraction"
4
5 model = AutoModelForTokenClassification.from_pretrained(model_path, num_labels=37)
6 tokenizer = AutoTokenizer.from_pretrained(model_path)
7 model.eval()
8 inputs = "采用匹配成交方式的,每个交易日的9:15至9:25为开盘集合匹配时间,9:30至11:30、13:00至15:30为连续匹配时间。" # input sentence
9 input_ids = tokenizer([inputs], max_length=512, padding="max_length", truncation=True, return_tensors="pt").input_ids
10 logits = model(input_ids=input_ids).logits
11 _, outputs = torch.max(logits, dim=2)
12 outputs = outputs.numpy()[0][:len(inputs)+2][1:-1]
13 dic = open("tc_data.dict", "r", encoding="utf-8").read()
14 dic = {int(num):val for t in dic.split("\n") for num, val in [t.split("\t")]}
15 print([dic[o] for o in outputs]) # classification output1 from transformers import AutoModelForCausalLM, AutoTokenizer
2 import torch
3 model_path = "./llama2_rule_filtering_fine_tune"
4
5 model = AutoModelForCausalLM.from_pretrained(model_path, return_dict=True, torch_dtype=torch.float16, device_map="cuda:0" if torch.cuda.is_available() else 'auto', trust_remote_code=True, use_flash_attention_2=True)
6 tokenizer = AutoTokenizer.from_pretrained(model_path)
7 model.eval()
8 inputs = "<s>Human: 给出一条规则,请你将它分类为软件需求相关规则、软件需求无关规则和领域知识之一。\n规则: 采用匹配成交方式的,每个交易日的9:15至9:25为开盘集合匹配时间,9:30至11:30、13:00至15:30为连续匹配时间。\n</s><s>Assistant: " # 输入句子
9 input_ids = tokenizer([inputs], return_tensors="pt", add_special_tokens=False).input_ids
10 if torch.cuda.is_available():
11 input_ids = input_ids.to('cuda:0')
12 generate_ids = model.generate(input_ids=input_ids)
13 outputs = tokenizer.decode(generate_ids[0])
14 print(outputs) # 输出类别1 from transformers import AutoModelForCausalLM, AutoTokenizer
2 import torch
3 model_path = "./llama2_rule_extraction_fine_tune"
4
5 model = AutoModelForCausalLM.from_pretrained(model_path, return_dict=True, torch_dtype=torch.float16, device_map="cuda:0" if torch.cuda.is_available() else 'auto', trust_remote_code=True, use_flash_attention_2=True)
6 tokenizer = AutoTokenizer.from_pretrained(model_path)
7 model.eval()
8 inputs = "<s>Human: 给出一条规则,请你将它分类为软件需求相关规则、软件需求无关规则和领域知识之一。\n规则: 采用匹配成交方式的,每个交易日的9:15至9:25为开盘集合匹配时间,9:30至11:30、13:00至15:30为连续匹配时间。\n</s><s>Assistant: " # 输入句子
9 input_ids = tokenizer([inputs], return_tensors="pt", add_special_tokens=False).input_ids
10 if torch.cuda.is_available():
11 input_ids = input_ids.to('cuda:0')
12 generate_ids = model.generate(input_ids=input_ids)
13 outputs = tokenizer.decode(generate_ids[0])
14 print(outputs) # 输出抽取的规则1 # download the pre-trained model first from https://huggingface.co/FlagAlpha/Atom-7B
2 from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3 import torch
4 from peft import PeftConfig, PeftModel
5 model_path = "./model/rule_filtering/llama2_rule_filtering_lora"
6
7 bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_use_double_quant=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16)
8 peft_config = PeftConfig.from_pretrained(model_path)
9 model = AutoModelForCausalLM.from_pretrained(peft_config.base_model_name_or_path, torch_dtype=torch.float16, device_map="cuda:0" if torch.cuda.is_available() else 'auto', trust_remote_code=True, use_flash_attention_2=True, quantization_config=bnb_config)
10 model = PeftModel.from_pretrained(model, model_path, device_map="cuda:0" if torch.cuda.is_available() else "auto")
11 tokenizer = AutoTokenizer.from_pretrained(peft_config.base_model_name_or_path)
12 model.eval()
13 inputs = "<s>Human: 给出一条规则,请你将它分类为软件需求相关规则、软件需求无关规则和领域知识之一。\n规则: 采用匹配成交方式的,每个交易日的9:15至9:25为开盘集合匹配时间,9:30至11:30、13:00至15:30为连续匹配时间。\n</s><s>Assistant: " # 输入句子
14 input_ids = tokenizer([inputs], return_tensors="pt", add_special_tokens=False).input_ids
15 if torch.cuda.is_available():
16 input_ids = input_ids.to('cuda:0')
17 generate_ids = model.generate(input_ids=input_ids)
18 outputs = tokenizer.decode(generate_ids[0])
19 print(outputs) # 输出类别1 # download the pre-trained model first from https://huggingface.co/FlagAlpha/Atom-7B
2 from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3 import torch
4 from peft import PeftConfig, PeftModel
5 model_path = "./llama2_rule_extraction_lora"
6
7 bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_use_double_quant=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16)
8 peft_config = PeftConfig.from_pretrained(model_path)
9 model = AutoModelForCausalLM.from_pretrained(peft_config.base_model_name_or_path, torch_dtype=torch.float16, device_map="cuda:0" if torch.cuda.is_available() else 'auto', trust_remote_code=True, use_flash_attention_2=True, quantization_config=bnb_config)
10 model = PeftModel.from_pretrained(model, model_path, device_map="cuda:0" if torch.cuda.is_available() else "auto")
11 tokenizer = AutoTokenizer.from_pretrained(peft_config.base_model_name_or_path)
12 model.eval()
13 inputs = "<s>Human: 给出一条规则,请你将它分类为软件需求相关规则、软件需求无关规则和领域知识之一。\n规则: 采用匹配成交方式的,每个交易日的9:15至9:25为开盘集合匹配时间,9:30至11:30、13:00至15:30为连续匹配时间。\n</s><s>Assistant: " # 输入句子
14 input_ids = tokenizer([inputs], return_tensors="pt", add_special_tokens=False).input_ids
15 if torch.cuda.is_available():
16 input_ids = input_ids.to('cuda:0')
17 generate_ids = model.generate(input_ids=input_ids)
18 outputs = tokenizer.decode(generate_ids[0])
19 print(outputs) # 输出抽取的规则