@@ -71,11 +71,11 @@ def close(self):
71
71
def __del__ (self ):
72
72
self .close ()
73
73
74
- def vocab_type (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
75
- return llama_cpp .llama_vocab_type (_vocab )
74
+ def vocab_type (self , vocab :llama_cpp .llama_vocab_p ) -> int :
75
+ return llama_cpp .llama_vocab_type (vocab )
76
76
77
- def n_vocab (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
78
- return llama_cpp .llama_vocab_n_tokens (_vocab )
77
+ def n_vocab (self , vocab :llama_cpp .llama_vocab_p ) -> int :
78
+ return llama_cpp .llama_vocab_n_tokens (vocab )
79
79
80
80
def n_ctx_train (self ) -> int :
81
81
return llama_cpp .llama_model_n_ctx_train (self .model )
@@ -99,85 +99,85 @@ def n_params(self) -> int:
99
99
100
100
# Vocab
101
101
102
- def token_get_text (self , _vocab :llama_cpp .llama_vocab_p , token : int ) -> str :
103
- return llama_cpp .llama_vocab_get_text (_vocab , token ).decode ("utf-8" )
102
+ def token_get_text (self , vocab :llama_cpp .llama_vocab_p , token : int ) -> str :
103
+ return llama_cpp .llama_vocab_get_text (vocab , token ).decode ("utf-8" )
104
104
105
- def token_get_score (self , _vocab :llama_cpp .llama_vocab_p , token : int ) -> float :
106
- return llama_cpp .llama_vocab_get_score (_vocab , token )
105
+ def token_get_score (self , vocab :llama_cpp .llama_vocab_p , token : int ) -> float :
106
+ return llama_cpp .llama_vocab_get_score (vocab , token )
107
107
108
- def token_get_attr (self , _vocab :llama_cpp .llama_vocab_p , token : int ) -> int :
109
- return llama_cpp .llama_vocab_get_attr (_vocab , token )
108
+ def token_get_attr (self , vocab :llama_cpp .llama_vocab_p , token : int ) -> int :
109
+ return llama_cpp .llama_vocab_get_attr (vocab , token )
110
110
111
111
# Special tokens
112
112
113
- def token_bos (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
114
- return llama_cpp .llama_vocab_bos (_vocab )
113
+ def token_bos (self , vocab :llama_cpp .llama_vocab_p ) -> int :
114
+ return llama_cpp .llama_vocab_bos (vocab )
115
115
116
- def token_eos (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
117
- return llama_cpp .llama_vocab_eos (_vocab )
116
+ def token_eos (self , vocab :llama_cpp .llama_vocab_p ) -> int :
117
+ return llama_cpp .llama_vocab_eos (vocab )
118
118
119
- def token_eot (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
120
- return llama_cpp .llama_vocab_eot (_vocab )
119
+ def token_eot (self , vocab :llama_cpp .llama_vocab_p ) -> int :
120
+ return llama_cpp .llama_vocab_eot (vocab )
121
121
122
- def token_cls (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
123
- return llama_cpp .llama_vocab_cls (_vocab )
122
+ def token_cls (self , vocab :llama_cpp .llama_vocab_p ) -> int :
123
+ return llama_cpp .llama_vocab_cls (vocab )
124
124
125
- def token_sep (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
126
- return llama_cpp .llama_vocab_sep (_vocab )
125
+ def token_sep (self , vocab :llama_cpp .llama_vocab_p ) -> int :
126
+ return llama_cpp .llama_vocab_sep (vocab )
127
127
128
- def token_nl (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
129
- return llama_cpp .llama_vocab_nl (_vocab )
128
+ def token_nl (self , vocab :llama_cpp .llama_vocab_p ) -> int :
129
+ return llama_cpp .llama_vocab_nl (vocab )
130
130
131
- def token_pad (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
132
- return llama_cpp .llama_vocab_pad (_vocab )
131
+ def token_pad (self , vocab :llama_cpp .llama_vocab_p ) -> int :
132
+ return llama_cpp .llama_vocab_pad (vocab )
133
133
134
- def token_prefix (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
135
- return llama_cpp .llama_vocab_fim_pre (_vocab )
134
+ def token_prefix (self , vocab :llama_cpp .llama_vocab_p ) -> int :
135
+ return llama_cpp .llama_vocab_fim_pre (vocab )
136
136
137
- def token_middle (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
138
- return llama_cpp .llama_vocab_fim_mid (_vocab )
137
+ def token_middle (self , vocab :llama_cpp .llama_vocab_p ) -> int :
138
+ return llama_cpp .llama_vocab_fim_mid (vocab )
139
139
140
- def token_suffix (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
141
- return llama_cpp .llama_vocab_fim_suf (_vocab )
140
+ def token_suffix (self , vocab :llama_cpp .llama_vocab_p ) -> int :
141
+ return llama_cpp .llama_vocab_fim_suf (vocab )
142
142
143
- def add_bos_token (self , _vocab :llama_cpp .llama_vocab_p ) -> bool :
144
- return llama_cpp .llama_vocab_get_add_bos (_vocab )
143
+ def add_bos_token (self , vocab :llama_cpp .llama_vocab_p ) -> bool :
144
+ return llama_cpp .llama_vocab_get_add_bos (vocab )
145
145
146
- def add_eos_token (self , _vocab :llama_cpp .llama_vocab_p ) -> bool :
147
- return llama_cpp .llama_vocab_get_add_eos (_vocab )
146
+ def add_eos_token (self , vocab :llama_cpp .llama_vocab_p ) -> bool :
147
+ return llama_cpp .llama_vocab_get_add_eos (vocab )
148
148
149
149
# Tokenization
150
150
151
- def tokenize (self , _vocab :llama_cpp .llama_vocab_p , text : bytes , add_bos : bool , special : bool ):
151
+ def tokenize (self , vocab :llama_cpp .llama_vocab_p , text : bytes , add_bos : bool , special : bool ):
152
152
n_ctx = self .n_ctx_train ()
153
153
tokens = (llama_cpp .llama_token * n_ctx )()
154
154
n_tokens = llama_cpp .llama_tokenize (
155
- _vocab , text , len (text ), tokens , n_ctx , add_bos , special
155
+ vocab , text , len (text ), tokens , n_ctx , add_bos , special
156
156
)
157
157
if n_tokens < 0 :
158
158
n_tokens = abs (n_tokens )
159
159
tokens = (llama_cpp .llama_token * n_tokens )()
160
160
n_tokens = llama_cpp .llama_tokenize (
161
- _vocab , text , len (text ), tokens , n_tokens , add_bos , special
161
+ vocab , text , len (text ), tokens , n_tokens , add_bos , special
162
162
)
163
163
if n_tokens < 0 :
164
164
raise RuntimeError (
165
165
f'Failed to tokenize: text="{ text } " n_tokens={ n_tokens } '
166
166
)
167
167
return list (tokens [:n_tokens ])
168
168
169
- def token_to_piece (self , token : int , special : bool = False ) -> bytes :
169
+ def token_to_piece (self , vocab : llama_cpp . llama_vocab_p , token : int , special : bool = False ) -> bytes :
170
170
buf = ctypes .create_string_buffer (32 )
171
- llama_cpp .llama_token_to_piece (self . model , token , buf , 32 , 0 , special )
171
+ llama_cpp .llama_token_to_piece (vocab , token , buf , 32 , 0 , special )
172
172
return bytes (buf )
173
173
174
- def detokenize (self , tokens : List [int ], special : bool = False ) -> bytes :
174
+ def detokenize (self , vocab : llama_cpp . llama_vocab_p , tokens : List [int ], special : bool = False ) -> bytes :
175
175
output = b""
176
176
size = 32
177
177
buffer = (ctypes .c_char * size )()
178
178
for token in tokens :
179
179
n = llama_cpp .llama_token_to_piece (
180
- self . model , llama_cpp .llama_token (token ), buffer , size , 0 , special
180
+ vocab , llama_cpp .llama_token (token ), buffer , size , 0 , special
181
181
)
182
182
assert n <= size
183
183
output += bytes (buffer [:n ])
@@ -605,11 +605,11 @@ def prev_str(self, ctx_main: LlamaContext, n: int) -> str:
605
605
def sample (
606
606
self ,
607
607
ctx_main : LlamaContext ,
608
- _vocab :llama_cpp .llama_vocab_p ,
608
+ vocab :llama_cpp .llama_vocab_p ,
609
609
idx : int = 0 ,
610
610
logits_array : Optional [npt .NDArray [np .single ]] = None ,
611
611
):
612
- n_vocab = ctx_main .model .n_vocab (_vocab )
612
+ n_vocab = ctx_main .model .n_vocab (vocab )
613
613
id : int = 0
614
614
615
615
if logits_array is None :
0 commit comments