Views
No views yet
1from transformers import pipeline
2
3pipe = pipeline(
4 "text-generation", model="bart1259/MiniCOTMath"
5)
6print(pipe("Input: (5 + 5)\n", max_new_tokens=100)[0]["generated_text"])Input: (5 + 5)
Step 1:
(5 + 5)
(5 + 5) = 10
Step 2:
10
Final Result: 10
<end>
Input: (3 * 8)
Step 1:
(3 * 8)
(31from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer, StoppingCriteria
2from transformers import StoppingCriteria
3
4class StopCriteria(StoppingCriteria):
5 def __call__(self, input_ids, scores, **kwargs):
6 generated_text = tokenizer.decode(input_ids[0])
7 return "<end>" in generated_text
8
9 def __len__(self):
10 return 1
11
12 def __iter__(self):
13 yield self
14
15prompt = "Input: (5 + 5)\n"
16
17tokenizer = AutoTokenizer.from_pretrained("bart1259/MiniCOTMath")
18model = AutoModelForCausalLM.from_pretrained("bart1259/MiniCOTMath").cuda()
19
20encoded_input = tokenizer(prompt, return_tensors='pt')
21input_ids=encoded_input['input_ids'].cuda()
22
23streamer = TextStreamer(tokenizer=tokenizer, skip_prompt=False)
24_ = model.generate(
25 input_ids,
26 streamer=streamer,
27 pad_token_id=tokenizer.eos_token_id,
28 do_sample=True,
29 temperature=0.25,
30 max_new_tokens=256,
31 stopping_criteria=StopCriteria()
32)Input: (5 + 5)
Step 1:
(5 + 5)
(5 + 5) = 10
Step 2:
10
Final Result: 10
<end>