@@ -48,7 +48,7 @@ def __init__(
48
48
raise ValueError (f"Model path does not exist: { path_model } " )
49
49
50
50
with suppress_stdout_stderr (disable = verbose ):
51
- model = llama_cpp .llama_load_model_from_file (
51
+ model = llama_cpp .llama_model_load_from_file (
52
52
self .path_model .encode ("utf-8" ), self .params
53
53
)
54
54
@@ -60,7 +60,7 @@ def __init__(
60
60
def free_model ():
61
61
if self .model is None :
62
62
return
63
- llama_cpp .llama_free_model (self .model )
63
+ llama_cpp .llama_model_free (self .model )
64
64
self .model = None
65
65
66
66
self ._exit_stack .callback (free_model )
@@ -71,20 +71,20 @@ def close(self):
71
71
def __del__ (self ):
72
72
self .close ()
73
73
74
- def vocab_type (self ) -> int :
75
- return llama_cpp .llama_vocab_type (self . model )
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 ) -> int :
78
- return llama_cpp .llama_n_vocab ( self . model )
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
- return llama_cpp .llama_n_ctx_train (self .model )
81
+ return llama_cpp .llama_model_n_ctx_train (self .model )
82
82
83
83
def n_embd (self ) -> int :
84
- return llama_cpp .llama_n_embd (self .model )
84
+ return llama_cpp .llama_model_n_embd (self .model )
85
85
86
86
def rope_freq_scale_train (self ) -> float :
87
- return llama_cpp .llama_rope_freq_scale_train (self .model )
87
+ return llama_cpp .llama_model_rope_freq_scale_train (self .model )
88
88
89
89
def desc (self ) -> str :
90
90
buf = ctypes .create_string_buffer (1024 )
@@ -97,68 +97,68 @@ def size(self) -> int:
97
97
def n_params (self ) -> int :
98
98
return llama_cpp .llama_model_n_params (self .model )
99
99
100
- def get_tensor (self , name : str ) -> ctypes .c_void_p :
101
- return llama_cpp .llama_get_model_tensor (self .model , name .encode ("utf-8" ))
102
-
103
100
# Vocab
104
101
105
- def token_get_text (self , token : int ) -> str :
106
- return llama_cpp .llama_token_get_text ( self . model , 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" )
107
104
108
- def token_get_score (self , token : int ) -> float :
109
- return llama_cpp .llama_token_get_score ( self . model , 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 )
110
107
111
- def token_get_attr (self , token : int ) -> int :
112
- return llama_cpp .llama_token_get_attr ( self . model , 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 )
113
110
114
111
# Special tokens
115
112
116
- def token_bos (self ) -> int :
117
- return llama_cpp .llama_token_bos (self .model )
113
+ def token_bos (self , _vocab :llama_cpp .llama_vocab_p ) -> int :
114
+ return llama_cpp .llama_vocab_bos (_vocab )
115
+
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_eos (self ) -> int :
120
- return llama_cpp .llama_token_eos ( self . model )
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 ) -> int :
123
- return llama_cpp .llama_token_cls ( self . model )
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 ) -> int :
126
- return llama_cpp .llama_token_sep ( self . model )
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 ) -> int :
129
- return llama_cpp .llama_token_nl ( self . model )
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_prefix (self ) -> int :
132
- return llama_cpp .llama_token_prefix ( self . model )
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_middle (self ) -> int :
135
- return llama_cpp .llama_token_middle ( self . model )
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_suffix (self ) -> int :
138
- return llama_cpp .llama_token_suffix ( self . model )
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_eot (self ) -> int :
141
- return llama_cpp .llama_token_eot ( self . model )
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 ) -> bool :
144
- return llama_cpp .llama_add_bos_token ( self . model )
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 ) -> bool :
147
- return llama_cpp .llama_add_eos_token ( self . model )
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 , 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
- self . model , 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
- self . model , 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 (
@@ -605,10 +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
609
idx : int = 0 ,
609
610
logits_array : Optional [npt .NDArray [np .single ]] = None ,
610
611
):
611
- n_vocab = ctx_main .model .n_vocab ()
612
+ n_vocab = ctx_main .model .n_vocab (_vocab )
612
613
id : int = 0
613
614
614
615
if logits_array is None :
0 commit comments