MCPcopy Create free account
hub / github.com/antirez/llama.cpp-deepseek-v4-flash / common_sampler_init

Function common_sampler_init

common/sampling.cpp:187–405  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

185}
186
187struct common_sampler * common_sampler_init(const struct llama_model * model, struct common_params_sampling & params) {
188 const llama_vocab * vocab = llama_model_get_vocab(model);
189
190 llama_sampler_chain_params lparams = llama_sampler_chain_default_params();
191
192 lparams.no_perf = params.no_perf;
193
194 llama_sampler * grmr = nullptr;
195 llama_sampler * rbudget = nullptr;
196 llama_sampler * chain = llama_sampler_chain_init(lparams);
197
198 std::vector<llama_sampler *> samplers;
199
200 const std::string & grammar_str = common_grammar_value(params.grammar);
201 if (grammar_str.compare(0, 11, "%llguidance") == 0) {
202#ifdef LLAMA_USE_LLGUIDANCE
203 grmr = llama_sampler_init_llg(vocab, "lark", grammar_str.c_str());
204#else
205 GGML_ABORT("llguidance (cmake -DLLAMA_LLGUIDANCE=ON) is not enabled");
206#endif // LLAMA_USE_LLGUIDANCE
207 } else {
208 std::vector<std::string> trigger_patterns;
209 std::vector<llama_token> trigger_tokens;
210 for (const auto & trigger : params.grammar_triggers) {
211 switch (trigger.type) {
212 case COMMON_GRAMMAR_TRIGGER_TYPE_WORD:
213 {
214 const auto & word = trigger.value;
215 trigger_patterns.push_back(regex_escape(word));
216 break;
217 }
218 case COMMON_GRAMMAR_TRIGGER_TYPE_PATTERN:
219 {
220 trigger_patterns.push_back(trigger.value);
221 break;
222 }
223 case COMMON_GRAMMAR_TRIGGER_TYPE_PATTERN_FULL:
224 {
225 const auto & pattern = trigger.value;
226 std::string anchored = "^$";
227 if (!pattern.empty()) {
228 anchored = (pattern.front() != '^' ? "^" : "")
229 + pattern
230 + (pattern.back() != '$' ? "$" : "");
231 }
232 trigger_patterns.push_back(anchored);
233 break;
234 }
235 case COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN:
236 {
237 const auto token = trigger.token;
238 trigger_tokens.push_back(token);
239 break;
240 }
241 default:
242 GGML_ASSERT(false && "unknown trigger type");
243 }
244 }

Callers 12

mtmd_cli_contextMethod · 0.85
mainFunction · 0.85
launch_slot_with_taskMethod · 0.85
mainFunction · 0.85
common_init_resultMethod · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
new_samplerFunction · 0.85

Calls 15

llama_model_get_vocabFunction · 0.85
llama_sampler_chain_initFunction · 0.85
llama_sampler_init_llgFunction · 0.85
regex_escapeFunction · 0.85
common_tokenizeFunction · 0.85
common_token_to_pieceFunction · 0.85
llama_sampler_acceptFunction · 0.85

Tested by 4

mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68