Improve language tag

#1
by lbourdois - opened
Files changed (1) hide show
  1. README.md +78 -66
README.md CHANGED
@@ -1,67 +1,79 @@
1
- ---
2
- base_model: Qwen/Qwen2.5-7B-Instruct
3
- tags:
4
- - text-generation-inference
5
- - transformers
6
- - qwen2
7
- - trl
8
- - sft
9
- license: apache-2.0
10
- language:
11
- - en
12
- ---
13
- ### Model detail
14
- Reasoning natural and smarter\
15
- No system prompt training\
16
- LoRA training rank 16 and alpha 16\
17
- Tool calling support
18
-
19
-
20
- ### Usage:
21
- ```
22
- from transformers import AutoModelForCausalLM, AutoTokenizer
23
- import torch
24
-
25
- MAX_REASONING_TOKENS = 4096
26
- MAX_RESPONSE_TOKENS = 1024
27
-
28
- model_name = "beyoru/ThinkAgain1.5"
29
-
30
- model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
31
- tokenizer = AutoTokenizer.from_pretrained(model_name)
32
-
33
- messages = []
34
-
35
- def stream_output(output_text):
36
- for char in output_text:
37
- print(char, end="", flush=True)
38
-
39
- while True:
40
- prompt = input("USER: ")
41
-
42
- messages.append({"role": "user", "content": prompt})
43
-
44
- # Generate reasoning
45
- reasoning_template = tokenizer.apply_chat_template(messages, tokenize=False, add_reasoning_prompt=True)
46
- reasoning_inputs = tokenizer(reasoning_template, return_tensors="pt").to(model.device)
47
- reasoning_ids = model.generate(**reasoning_inputs, max_new_tokens=MAX_REASONING_TOKENS)
48
- reasoning_output = tokenizer.decode(reasoning_ids[0, reasoning_inputs.input_ids.shape[1]:], skip_special_tokens=True)
49
-
50
- messages.append({"role": "reasoning", "content": reasoning_output})
51
-
52
- print("REASONING: ", end="")
53
- stream_output(reasoning_output)
54
- print()
55
-
56
- # Generate answer
57
- response_template = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
58
- response_inputs = tokenizer(response_template, return_tensors="pt").to(model.device)
59
- response_ids = model.generate(**response_inputs, max_new_tokens=MAX_RESPONSE_TOKENS)
60
- response_output = tokenizer.decode(response_ids[0, response_inputs.input_ids.shape[1]:], skip_special_tokens=True)
61
-
62
- messages.append({"role": "assistant", "content": response_output})
63
-
64
- print("ASSISTANT: ", end="")
65
- stream_output(response_output)
66
- print()
 
 
 
 
 
 
 
 
 
 
 
 
67
  ```
 
1
+ ---
2
+ base_model: Qwen/Qwen2.5-7B-Instruct
3
+ tags:
4
+ - text-generation-inference
5
+ - transformers
6
+ - qwen2
7
+ - trl
8
+ - sft
9
+ license: apache-2.0
10
+ language:
11
+ - zho
12
+ - eng
13
+ - fra
14
+ - spa
15
+ - por
16
+ - deu
17
+ - ita
18
+ - rus
19
+ - jpn
20
+ - kor
21
+ - vie
22
+ - tha
23
+ - ara
24
+ ---
25
+ ### Model detail
26
+ Reasoning natural and smarter\
27
+ No system prompt training\
28
+ LoRA training rank 16 and alpha 16\
29
+ Tool calling support
30
+
31
+
32
+ ### Usage:
33
+ ```
34
+ from transformers import AutoModelForCausalLM, AutoTokenizer
35
+ import torch
36
+
37
+ MAX_REASONING_TOKENS = 4096
38
+ MAX_RESPONSE_TOKENS = 1024
39
+
40
+ model_name = "beyoru/ThinkAgain1.5"
41
+
42
+ model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
43
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
44
+
45
+ messages = []
46
+
47
+ def stream_output(output_text):
48
+ for char in output_text:
49
+ print(char, end="", flush=True)
50
+
51
+ while True:
52
+ prompt = input("USER: ")
53
+
54
+ messages.append({"role": "user", "content": prompt})
55
+
56
+ # Generate reasoning
57
+ reasoning_template = tokenizer.apply_chat_template(messages, tokenize=False, add_reasoning_prompt=True)
58
+ reasoning_inputs = tokenizer(reasoning_template, return_tensors="pt").to(model.device)
59
+ reasoning_ids = model.generate(**reasoning_inputs, max_new_tokens=MAX_REASONING_TOKENS)
60
+ reasoning_output = tokenizer.decode(reasoning_ids[0, reasoning_inputs.input_ids.shape[1]:], skip_special_tokens=True)
61
+
62
+ messages.append({"role": "reasoning", "content": reasoning_output})
63
+
64
+ print("REASONING: ", end="")
65
+ stream_output(reasoning_output)
66
+ print()
67
+
68
+ # Generate answer
69
+ response_template = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
70
+ response_inputs = tokenizer(response_template, return_tensors="pt").to(model.device)
71
+ response_ids = model.generate(**response_inputs, max_new_tokens=MAX_RESPONSE_TOKENS)
72
+ response_output = tokenizer.decode(response_ids[0, response_inputs.input_ids.shape[1]:], skip_special_tokens=True)
73
+
74
+ messages.append({"role": "assistant", "content": response_output})
75
+
76
+ print("ASSISTANT: ", end="")
77
+ stream_output(response_output)
78
+ print()
79
  ```