nikhiljais commited on
Commit
81dd5ea
·
verified ·
1 Parent(s): 2e98b71

Upload folder using huggingface_hub

Browse files
app.py CHANGED
@@ -1,112 +1,154 @@
1
- import gradio as gr
2
- from transformers import AutoModelForCausalLM, AutoTokenizer
3
- from peft import PeftModel
4
- import torch
5
-
6
- # Model configuration
7
- MODEL_PATH = "nikhiljais/Phi2-QLoRa-OSST"
8
- BASE_MODEL = "microsoft/phi-2"
9
-
10
- class Phi2Chat:
11
- def __init__(self):
12
- print("Loading tokenizer...")
13
- self.tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
14
-
15
- print("Loading base model...")
16
- # Modified to use CPU with reduced precision
17
- base_model = AutoModelForCausalLM.from_pretrained(
18
- BASE_MODEL,
19
- device_map="cpu",
20
- torch_dtype=torch.float32,
21
- low_cpu_mem_usage=True
22
- )
23
-
24
- print("Loading fine-tuned model...")
25
- self.model = PeftModel.from_pretrained(base_model, MODEL_PATH)
26
- self.model.eval()
27
-
28
- # Move model to CPU if available memory is limited
29
- if torch.cuda.is_available() and torch.cuda.mem_get_info()[0] > 8 * 1024 * 1024 * 1024: # 8GB
30
- self.model = self.model.to("cuda")
31
-
32
- self.chat_template = """<|im_start|>user
33
- {prompt}\n<|im_end|>
34
- <|im_start|>assistant
35
- """
36
-
37
- def generate_response(
38
- self,
39
- prompt: str,
40
- max_new_tokens: int = 300,
41
- temperature: float = 0.7,
42
- top_p: float = 0.9
43
- ) -> str:
44
- formatted_prompt = self.chat_template.format(prompt=prompt)
45
- inputs = self.tokenizer(formatted_prompt, return_tensors="pt")
46
-
47
- # Move inputs to the same device as model
48
- inputs = {k: v.to(self.model.device) for k, v in inputs.items()}
49
-
50
- with torch.no_grad():
51
- output = self.model.generate(
52
- **inputs,
53
- max_new_tokens=max_new_tokens,
54
- temperature=temperature,
55
- top_p=top_p,
56
- do_sample=True
57
- )
58
-
59
- response = self.tokenizer.decode(output[0], skip_special_tokens=True)
60
- # Extract only the assistant's response
61
- try:
62
- response = response.split("<|im_start|>assistant\n")[-1].split("<|im_end|>")[0].strip()
63
- except:
64
- response = response.split(prompt)[-1].strip()
65
-
66
- return response
67
-
68
- # Initialize model
69
- phi2_chat = Phi2Chat()
70
-
71
- def chat_response(message, history):
72
- response = phi2_chat.generate_response(message)
73
- return response
74
-
75
- # Create Gradio interface
76
- css = """
77
- .gradio-container {
78
- font-family: 'IBM Plex Sans', sans-serif;
79
- }
80
- .chat-message {
81
- padding: 1rem;
82
- border-radius: 0.5rem;
83
- margin-bottom: 1rem;
84
- background: #f7f7f7;
85
- }
86
- """
87
-
88
- with gr.Blocks(css=css) as demo:
89
- gr.Markdown("# Phi-2 Fine-tuned Chat Assistant")
90
- gr.Markdown("""
91
- This is a fine-tuned version of Microsoft's Phi-2 model using QLoRA.
92
- The model has been trained on the OpenAssistant dataset to improve its conversational abilities.
93
- """)
94
-
95
- chatbot = gr.ChatInterface(
96
- chat_response,
97
- chatbot=gr.Chatbot(height=400),
98
- textbox=gr.Textbox(placeholder="Type your message here...", container=False, scale=7),
99
- title="Chat with Phi-2",
100
- description="Have a conversation with the fine-tuned Phi-2 model",
101
- theme="soft",
102
- examples=[
103
- "What is quantum computing?",
104
- "Write a Python function to find prime numbers",
105
- "Explain the concept of machine learning in simple terms"
106
- ],
107
- retry_btn="Retry",
108
- undo_btn="Undo",
109
- clear_btn="Clear",
110
- )
111
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  demo.launch()
 
1
+ import gradio as gr
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ from peft import PeftModel
4
+ import torch
5
+ import os
6
+
7
+ # Model configuration
8
+ CHECKPOINT_DIR = "checkpoints"
9
+ BASE_MODEL = "microsoft/phi-2"
10
+
11
+ class Phi2Chat:
12
+ def __init__(self):
13
+ self.tokenizer = None
14
+ self.model = None
15
+ self.is_loaded = False
16
+ self.chat_template = """<|im_start|>user
17
+ {prompt}\n<|im_end|>
18
+ <|im_start|>assistant
19
+ """
20
+
21
+ def load_model(self):
22
+ """Lazy loading of the model"""
23
+ if not self.is_loaded:
24
+ try:
25
+ print("Loading tokenizer...")
26
+ # Load tokenizer from local checkpoint
27
+ self.tokenizer = AutoTokenizer.from_pretrained(
28
+ os.path.join(CHECKPOINT_DIR, "tokenizer"),
29
+ local_files_only=True
30
+ )
31
+
32
+ print("Loading base model...")
33
+ base_model = AutoModelForCausalLM.from_pretrained(
34
+ BASE_MODEL,
35
+ device_map="cpu",
36
+ torch_dtype=torch.float32,
37
+ low_cpu_mem_usage=True
38
+ )
39
+
40
+ print("Loading fine-tuned model...")
41
+ # Load adapter from local checkpoint
42
+ self.model = PeftModel.from_pretrained(
43
+ base_model,
44
+ os.path.join(CHECKPOINT_DIR, "adapter"),
45
+ local_files_only=True
46
+ )
47
+ self.model.eval()
48
+
49
+ # Try to move to GPU if available
50
+ if torch.cuda.is_available():
51
+ try:
52
+ self.model = self.model.to("cuda")
53
+ print("Model moved to GPU")
54
+ except Exception as e:
55
+ print(f"Could not move model to GPU: {e}")
56
+
57
+ self.is_loaded = True
58
+ print("Model loading completed!")
59
+ except Exception as e:
60
+ print(f"Error loading model: {e}")
61
+ raise e
62
+
63
+ def generate_response(
64
+ self,
65
+ prompt: str,
66
+ max_new_tokens: int = 300,
67
+ temperature: float = 0.7,
68
+ top_p: float = 0.9
69
+ ) -> str:
70
+ if not self.is_loaded:
71
+ return "Model is still loading... Please try again in a moment."
72
+
73
+ try:
74
+ formatted_prompt = self.chat_template.format(prompt=prompt)
75
+ inputs = self.tokenizer(formatted_prompt, return_tensors="pt")
76
+ inputs = {k: v.to(self.model.device) for k, v in inputs.items()}
77
+
78
+ with torch.no_grad():
79
+ output = self.model.generate(
80
+ **inputs,
81
+ max_new_tokens=max_new_tokens,
82
+ temperature=temperature,
83
+ top_p=top_p,
84
+ do_sample=True
85
+ )
86
+
87
+ response = self.tokenizer.decode(output[0], skip_special_tokens=True)
88
+ try:
89
+ response = response.split("<|im_start|>assistant\n")[-1].split("<|im_end|>")[0].strip()
90
+ except:
91
+ response = response.split(prompt)[-1].strip()
92
+
93
+ return response
94
+ except Exception as e:
95
+ return f"Error generating response: {str(e)}"
96
+
97
+ # Initialize model
98
+ phi2_chat = Phi2Chat()
99
+
100
+ def loading_message():
101
+ return "Loading the model... This may take a few minutes. Please wait."
102
+
103
+ def chat_response(message, history):
104
+ # Ensure model is loaded
105
+ if not phi2_chat.is_loaded:
106
+ phi2_chat.load_model()
107
+ return phi2_chat.generate_response(message)
108
+
109
+ # Create Gradio interface
110
+ css = """
111
+ .gradio-container {
112
+ font-family: 'IBM Plex Sans', sans-serif;
113
+ }
114
+ .chat-message {
115
+ padding: 1rem;
116
+ border-radius: 0.5rem;
117
+ margin-bottom: 1rem;
118
+ background: #f7f7f7;
119
+ }
120
+ """
121
+
122
+ with gr.Blocks(css=css) as demo:
123
+ gr.Markdown("# Phi-2 Fine-tuned Chat Assistant")
124
+ gr.Markdown("""
125
+ This is a fine-tuned version of Microsoft's Phi-2 model using QLoRA.
126
+ The model has been trained on the OpenAssistant dataset to improve its conversational abilities.
127
+
128
+ Note: First-time loading may take a few minutes. Please be patient.
129
+ """)
130
+
131
+ chatbot = gr.ChatInterface(
132
+ chat_response,
133
+ chatbot=gr.Chatbot(height=400),
134
+ textbox=gr.Textbox(
135
+ placeholder="Type your message here... (Model will load on first message)",
136
+ container=False,
137
+ scale=7
138
+ ),
139
+ title="Chat with Phi-2",
140
+ description="Have a conversation with the fine-tuned Phi-2 model",
141
+ theme="soft",
142
+ examples=[
143
+ "What is quantum computing?",
144
+ "Write a Python function to find prime numbers",
145
+ "Explain the concept of machine learning in simple terms"
146
+ ],
147
+ retry_btn="Retry",
148
+ undo_btn="Undo",
149
+ clear_btn="Clear",
150
+ )
151
+
152
+ # Configure queue and launch
153
+ demo.queue(concurrency_count=1, max_size=10)
154
  demo.launch()
checkpoints/adapter/adapter_config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alpha_pattern": {},
3
+ "auto_mapping": null,
4
+ "base_model_name_or_path": "microsoft/phi-2",
5
+ "bias": "none",
6
+ "corda_config": null,
7
+ "eva_config": null,
8
+ "exclude_modules": null,
9
+ "fan_in_fan_out": false,
10
+ "inference_mode": true,
11
+ "init_lora_weights": true,
12
+ "layer_replication": null,
13
+ "layers_pattern": null,
14
+ "layers_to_transform": null,
15
+ "loftq_config": {},
16
+ "lora_alpha": 32,
17
+ "lora_bias": false,
18
+ "lora_dropout": 0.1,
19
+ "megatron_config": null,
20
+ "megatron_core": "megatron.core",
21
+ "modules_to_save": null,
22
+ "peft_type": "LORA",
23
+ "r": 16,
24
+ "rank_pattern": {},
25
+ "revision": null,
26
+ "target_modules": [
27
+ "q_proj",
28
+ "v_proj"
29
+ ],
30
+ "task_type": "CAUSAL_LM",
31
+ "trainable_token_indices": null,
32
+ "use_dora": false,
33
+ "use_rslora": false
34
+ }
checkpoints/tokenizer/added_tokens.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "\t\t": 50294,
3
+ "\t\t\t": 50293,
4
+ "\t\t\t\t": 50292,
5
+ "\t\t\t\t\t": 50291,
6
+ "\t\t\t\t\t\t": 50290,
7
+ "\t\t\t\t\t\t\t": 50289,
8
+ "\t\t\t\t\t\t\t\t": 50288,
9
+ "\t\t\t\t\t\t\t\t\t": 50287,
10
+ " ": 50286,
11
+ " ": 50285,
12
+ " ": 50284,
13
+ " ": 50283,
14
+ " ": 50282,
15
+ " ": 50281,
16
+ " ": 50280,
17
+ " ": 50279,
18
+ " ": 50278,
19
+ " ": 50277,
20
+ " ": 50276,
21
+ " ": 50275,
22
+ " ": 50274,
23
+ " ": 50273,
24
+ " ": 50272,
25
+ " ": 50271,
26
+ " ": 50270,
27
+ " ": 50269,
28
+ " ": 50268,
29
+ " ": 50267,
30
+ " ": 50266,
31
+ " ": 50265,
32
+ " ": 50264,
33
+ " ": 50263,
34
+ " ": 50262,
35
+ " ": 50261,
36
+ " ": 50260,
37
+ " ": 50259,
38
+ " ": 50258,
39
+ " ": 50257
40
+ }
checkpoints/tokenizer/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
checkpoints/tokenizer/special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<|endoftext|>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "<|endoftext|>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "<|endoftext|>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<|endoftext|>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
checkpoints/tokenizer/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoints/tokenizer/tokenizer_config.json ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "50256": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "50257": {
13
+ "content": " ",
14
+ "lstrip": false,
15
+ "normalized": true,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": false
19
+ },
20
+ "50258": {
21
+ "content": " ",
22
+ "lstrip": false,
23
+ "normalized": true,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": false
27
+ },
28
+ "50259": {
29
+ "content": " ",
30
+ "lstrip": false,
31
+ "normalized": true,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": false
35
+ },
36
+ "50260": {
37
+ "content": " ",
38
+ "lstrip": false,
39
+ "normalized": true,
40
+ "rstrip": false,
41
+ "single_word": false,
42
+ "special": false
43
+ },
44
+ "50261": {
45
+ "content": " ",
46
+ "lstrip": false,
47
+ "normalized": true,
48
+ "rstrip": false,
49
+ "single_word": false,
50
+ "special": false
51
+ },
52
+ "50262": {
53
+ "content": " ",
54
+ "lstrip": false,
55
+ "normalized": true,
56
+ "rstrip": false,
57
+ "single_word": false,
58
+ "special": false
59
+ },
60
+ "50263": {
61
+ "content": " ",
62
+ "lstrip": false,
63
+ "normalized": true,
64
+ "rstrip": false,
65
+ "single_word": false,
66
+ "special": false
67
+ },
68
+ "50264": {
69
+ "content": " ",
70
+ "lstrip": false,
71
+ "normalized": true,
72
+ "rstrip": false,
73
+ "single_word": false,
74
+ "special": false
75
+ },
76
+ "50265": {
77
+ "content": " ",
78
+ "lstrip": false,
79
+ "normalized": true,
80
+ "rstrip": false,
81
+ "single_word": false,
82
+ "special": false
83
+ },
84
+ "50266": {
85
+ "content": " ",
86
+ "lstrip": false,
87
+ "normalized": true,
88
+ "rstrip": false,
89
+ "single_word": false,
90
+ "special": false
91
+ },
92
+ "50267": {
93
+ "content": " ",
94
+ "lstrip": false,
95
+ "normalized": true,
96
+ "rstrip": false,
97
+ "single_word": false,
98
+ "special": false
99
+ },
100
+ "50268": {
101
+ "content": " ",
102
+ "lstrip": false,
103
+ "normalized": true,
104
+ "rstrip": false,
105
+ "single_word": false,
106
+ "special": false
107
+ },
108
+ "50269": {
109
+ "content": " ",
110
+ "lstrip": false,
111
+ "normalized": true,
112
+ "rstrip": false,
113
+ "single_word": false,
114
+ "special": false
115
+ },
116
+ "50270": {
117
+ "content": " ",
118
+ "lstrip": false,
119
+ "normalized": true,
120
+ "rstrip": false,
121
+ "single_word": false,
122
+ "special": false
123
+ },
124
+ "50271": {
125
+ "content": " ",
126
+ "lstrip": false,
127
+ "normalized": true,
128
+ "rstrip": false,
129
+ "single_word": false,
130
+ "special": false
131
+ },
132
+ "50272": {
133
+ "content": " ",
134
+ "lstrip": false,
135
+ "normalized": true,
136
+ "rstrip": false,
137
+ "single_word": false,
138
+ "special": false
139
+ },
140
+ "50273": {
141
+ "content": " ",
142
+ "lstrip": false,
143
+ "normalized": true,
144
+ "rstrip": false,
145
+ "single_word": false,
146
+ "special": false
147
+ },
148
+ "50274": {
149
+ "content": " ",
150
+ "lstrip": false,
151
+ "normalized": true,
152
+ "rstrip": false,
153
+ "single_word": false,
154
+ "special": false
155
+ },
156
+ "50275": {
157
+ "content": " ",
158
+ "lstrip": false,
159
+ "normalized": true,
160
+ "rstrip": false,
161
+ "single_word": false,
162
+ "special": false
163
+ },
164
+ "50276": {
165
+ "content": " ",
166
+ "lstrip": false,
167
+ "normalized": true,
168
+ "rstrip": false,
169
+ "single_word": false,
170
+ "special": false
171
+ },
172
+ "50277": {
173
+ "content": " ",
174
+ "lstrip": false,
175
+ "normalized": true,
176
+ "rstrip": false,
177
+ "single_word": false,
178
+ "special": false
179
+ },
180
+ "50278": {
181
+ "content": " ",
182
+ "lstrip": false,
183
+ "normalized": true,
184
+ "rstrip": false,
185
+ "single_word": false,
186
+ "special": false
187
+ },
188
+ "50279": {
189
+ "content": " ",
190
+ "lstrip": false,
191
+ "normalized": true,
192
+ "rstrip": false,
193
+ "single_word": false,
194
+ "special": false
195
+ },
196
+ "50280": {
197
+ "content": " ",
198
+ "lstrip": false,
199
+ "normalized": true,
200
+ "rstrip": false,
201
+ "single_word": false,
202
+ "special": false
203
+ },
204
+ "50281": {
205
+ "content": " ",
206
+ "lstrip": false,
207
+ "normalized": true,
208
+ "rstrip": false,
209
+ "single_word": false,
210
+ "special": false
211
+ },
212
+ "50282": {
213
+ "content": " ",
214
+ "lstrip": false,
215
+ "normalized": true,
216
+ "rstrip": false,
217
+ "single_word": false,
218
+ "special": false
219
+ },
220
+ "50283": {
221
+ "content": " ",
222
+ "lstrip": false,
223
+ "normalized": true,
224
+ "rstrip": false,
225
+ "single_word": false,
226
+ "special": false
227
+ },
228
+ "50284": {
229
+ "content": " ",
230
+ "lstrip": false,
231
+ "normalized": true,
232
+ "rstrip": false,
233
+ "single_word": false,
234
+ "special": false
235
+ },
236
+ "50285": {
237
+ "content": " ",
238
+ "lstrip": false,
239
+ "normalized": true,
240
+ "rstrip": false,
241
+ "single_word": false,
242
+ "special": false
243
+ },
244
+ "50286": {
245
+ "content": " ",
246
+ "lstrip": false,
247
+ "normalized": true,
248
+ "rstrip": false,
249
+ "single_word": false,
250
+ "special": false
251
+ },
252
+ "50287": {
253
+ "content": "\t\t\t\t\t\t\t\t\t",
254
+ "lstrip": false,
255
+ "normalized": true,
256
+ "rstrip": false,
257
+ "single_word": false,
258
+ "special": false
259
+ },
260
+ "50288": {
261
+ "content": "\t\t\t\t\t\t\t\t",
262
+ "lstrip": false,
263
+ "normalized": true,
264
+ "rstrip": false,
265
+ "single_word": false,
266
+ "special": false
267
+ },
268
+ "50289": {
269
+ "content": "\t\t\t\t\t\t\t",
270
+ "lstrip": false,
271
+ "normalized": true,
272
+ "rstrip": false,
273
+ "single_word": false,
274
+ "special": false
275
+ },
276
+ "50290": {
277
+ "content": "\t\t\t\t\t\t",
278
+ "lstrip": false,
279
+ "normalized": true,
280
+ "rstrip": false,
281
+ "single_word": false,
282
+ "special": false
283
+ },
284
+ "50291": {
285
+ "content": "\t\t\t\t\t",
286
+ "lstrip": false,
287
+ "normalized": true,
288
+ "rstrip": false,
289
+ "single_word": false,
290
+ "special": false
291
+ },
292
+ "50292": {
293
+ "content": "\t\t\t\t",
294
+ "lstrip": false,
295
+ "normalized": true,
296
+ "rstrip": false,
297
+ "single_word": false,
298
+ "special": false
299
+ },
300
+ "50293": {
301
+ "content": "\t\t\t",
302
+ "lstrip": false,
303
+ "normalized": true,
304
+ "rstrip": false,
305
+ "single_word": false,
306
+ "special": false
307
+ },
308
+ "50294": {
309
+ "content": "\t\t",
310
+ "lstrip": false,
311
+ "normalized": true,
312
+ "rstrip": false,
313
+ "single_word": false,
314
+ "special": false
315
+ }
316
+ },
317
+ "bos_token": "<|endoftext|>",
318
+ "clean_up_tokenization_spaces": true,
319
+ "eos_token": "<|endoftext|>",
320
+ "extra_special_tokens": {},
321
+ "model_max_length": 2048,
322
+ "pad_token": "<|endoftext|>",
323
+ "return_token_type_ids": false,
324
+ "tokenizer_class": "CodeGenTokenizer",
325
+ "unk_token": "<|endoftext|>"
326
+ }
checkpoints/tokenizer/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt CHANGED
@@ -1,6 +1,6 @@
1
- transformers>=4.36.0
2
- torch>=2.0.0
3
- peft>=0.14
4
- accelerate>=0.25.0
5
- gradio>=4.44.1
6
  scipy
 
1
+ transformers>=4.36.0
2
+ torch>=2.0.0
3
+ peft>=0.14
4
+ accelerate>=0.25.0
5
+ gradio>=4.44.1
6
  scipy