From 7b1a3eece7e33ce197324f44e839dec430162108 Mon Sep 17 00:00:00 2001 From: firecoperana Date: Thu, 12 Jun 2025 00:19:26 -0500 Subject: Add top n sigma sampler and other webui fix (#512) Co-authored-by: firecoperana --- examples/server/webui/src/Config.ts | 7 +++++-- examples/server/webui/src/components/Header.tsx | 2 +- .../server/webui/src/components/SettingDialog.tsx | 19 ++++++++++--------- examples/server/webui/src/utils/app.context.tsx | 1 + 4 files changed, 17 insertions(+), 12 deletions(-) (limited to 'examples/server/webui/src') diff --git a/examples/server/webui/src/Config.ts b/examples/server/webui/src/Config.ts index f40ed30c..35411def 100644 --- a/examples/server/webui/src/Config.ts +++ b/examples/server/webui/src/Config.ts @@ -17,7 +17,7 @@ export const CONFIG_DEFAULT = { showThoughtInProgress: false, excludeThoughtOnReq: true, // make sure these default values are in sync with `common.h` - samplers: 'dkypmxt', + samplers: 'dkypmxnt', temperature: 0.8, dynatemp_range: 0.0, dynatemp_exponent: 1.0, @@ -26,6 +26,7 @@ export const CONFIG_DEFAULT = { min_p: 0.05, xtc_probability: 0.0, xtc_threshold: 0.1, + top_n_sigma: 0.0, typical_p: 1.0, repeat_last_n: 64, repeat_penalty: 1.0, @@ -44,7 +45,7 @@ export const CONFIG_INFO: Record = { apiKey: 'Set the API Key if you are using --api-key option for the server.', systemMessage: 'The starting message that defines how model should behave.', samplers: - 'The order at which samplers are applied, in simplified way. Default is "dkypmxt": dry->top_k->typ_p->top_p->min_p->xtc->temperature', + 'The order at which samplers are applied, in simplified way. Default is "dkypmxt": dry->top_k->typ_p->top_p->min_p->xtc->top_sigma->temperature', temperature: 'Controls the randomness of the generated text by affecting the probability distribution of the output tokens. Higher = more random, lower = more focused.', dynatemp_range: @@ -60,6 +61,8 @@ export const CONFIG_INFO: Record = { 'XTC sampler cuts out top tokens; this parameter controls the chance of cutting tokens at all. 0 disables XTC.', xtc_threshold: 'XTC sampler cuts out top tokens; this parameter controls the token probability that is required to cut that token.', + top_n_sigma: + 'Top-n-sigma sampling filters out low-value tokens by discarding tokens that fall more than n standard deviations below the maximum probability', typical_p: 'Sorts and limits tokens based on the difference between log-probability and entropy.', repeat_last_n: 'Last n tokens to consider for penalizing repetition', diff --git a/examples/server/webui/src/components/Header.tsx b/examples/server/webui/src/components/Header.tsx index 4c6b291e..84fea191 100644 --- a/examples/server/webui/src/components/Header.tsx +++ b/examples/server/webui/src/components/Header.tsx @@ -70,7 +70,7 @@ export default function Header() { -
llama.cpp
+
ik_llama.cpp
{/* action buttons (top right) */}
diff --git a/examples/server/webui/src/components/SettingDialog.tsx b/examples/server/webui/src/components/SettingDialog.tsx index b65e73ae..cd091a55 100644 --- a/examples/server/webui/src/components/SettingDialog.tsx +++ b/examples/server/webui/src/components/SettingDialog.tsx @@ -29,6 +29,7 @@ const SAMPLER_KEYS: SettKey[] = [ 'typical_p', 'xtc_probability', 'xtc_threshold', + 'top_n_sigma' ]; const PENALTY_KEYS: SettKey[] = [ 'repeat_last_n', @@ -196,7 +197,7 @@ const SETTING_SECTIONS: SettingSection[] = [ label: ( <> Custom JSON config (For more info, refer to{' '} - + server documentation ) @@ -224,7 +225,7 @@ const SETTING_SECTIONS: SettingSection[] = [

If you encounter any problems, create a{' '} - + Bug (misc.) {' '} report on Github. Please also specify webui/experimental on @@ -456,11 +457,11 @@ function SettingsModalLongInput({
{label || configKey}