summaryrefslogtreecommitdiff
path: root/examples/server/server.cpp
diff options
context:
space:
mode:
authorfirecoperana <xuqiaowei1124@gmail.com>2025-06-12 00:19:26 -0500
committerGitHub <noreply@github.com>2025-06-12 08:19:26 +0300
commit7b1a3eece7e33ce197324f44e839dec430162108 (patch)
tree77762570e9f34119063de54c6c9af09c9e917611 /examples/server/server.cpp
parent4fc3cb4a4709e747984f7b8c9097d9b997d949b5 (diff)
Add top n sigma sampler and other webui fix (#512)
Co-authored-by: firecoperana <firecoperana>
Diffstat (limited to 'examples/server/server.cpp')
-rw-r--r--examples/server/server.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/examples/server/server.cpp b/examples/server/server.cpp
index 9e80bd7e..f9991035 100644
--- a/examples/server/server.cpp
+++ b/examples/server/server.cpp
@@ -970,6 +970,9 @@ struct server_context {
slot.sparams.temp = json_value(data, "temperature", default_sparams.temp);
slot.sparams.dynatemp_range = json_value(data, "dynatemp_range", default_sparams.dynatemp_range);
slot.sparams.dynatemp_exponent = json_value(data, "dynatemp_exponent", default_sparams.dynatemp_exponent);
+ slot.sparams.xtc_probability = json_value(data, "xtc_probability", default_sparams.xtc_probability);
+ slot.sparams.xtc_threshold = json_value(data, "xtc_threshold", default_sparams.xtc_threshold);
+ slot.sparams.top_n_sigma = json_value(data, "top_n_sigma", default_sparams.top_n_sigma);
slot.sparams.penalty_last_n = json_value(data, "repeat_last_n", default_sparams.penalty_last_n);
slot.sparams.penalty_repeat = json_value(data, "repeat_penalty", default_sparams.penalty_repeat);
slot.sparams.penalty_freq = json_value(data, "frequency_penalty", default_sparams.penalty_freq);
@@ -1135,17 +1138,17 @@ struct server_context {
}
{
- const auto & samplers_sequence = data.find("samplers");
- if (samplers_sequence != data.end() && samplers_sequence->is_array()) {
- std::vector<std::string> sampler_names;
- for (const auto & sampler_name : *samplers_sequence) {
- if (sampler_name.is_string()) {
- sampler_names.emplace_back(sampler_name);
- }
+ const auto samplers = data.find("samplers");
+ if (samplers != data.end()) {
+ if (samplers->is_array()) {
+ slot.sparams.samplers_sequence = llama_sampling_types_from_names(*samplers, false);
+ }
+ else if (samplers->is_string()) {
+ slot.sparams.samplers_sequence = llama_sampling_types_from_chars(samplers->get<std::string>());
+ }
+ else {
+ slot.sparams.samplers_sequence = default_sparams.samplers_sequence;
}
- slot.sparams.samplers_sequence = llama_sampling_types_from_names(sampler_names, false);
- } else {
- slot.sparams.samplers_sequence = default_sparams.samplers_sequence;
}
}