mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-28 01:47:42 +01:00
Backport llama.cpp-related DRY fixes from staging (#3051)
* llama.cpp Enable dry w/ array convert The new PR that was merged needs an array instead of a str https://github.com/ggerganov/llama.cpp/pull/9702 * Safe sequence breakers parse * Support comma-separated list of llama.cpp sequence breakers #3026 --------- Co-authored-by: Beinsezii <beinsezii@gmail.com>
This commit is contained in:
parent
fb48d25041
commit
a3ca407b27
@ -1397,8 +1397,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Enable for llama.cpp when the PR is merged: https://github.com/ggerganov/llama.cpp/pull/6839 -->
|
<div data-tg-type="ooba, koboldcpp, tabby, llamacpp" id="dryBlock" class="wide100p">
|
||||||
<div data-tg-type="ooba, koboldcpp, tabby" id="dryBlock" class="wide100p">
|
|
||||||
<h4 class="wide100p textAlignCenter" title="DRY penalizes tokens that would extend the end of the input into a sequence that has previously occurred in the input. Set multiplier to 0 to disable." data-i18n="[title]DRY_Repetition_Penalty_desc">
|
<h4 class="wide100p textAlignCenter" title="DRY penalizes tokens that would extend the end of the input into a sequence that has previously occurred in the input. Set multiplier to 0 to disable." data-i18n="[title]DRY_Repetition_Penalty_desc">
|
||||||
<label data-i18n="DRY Repetition Penalty">DRY Repetition Penalty</label>
|
<label data-i18n="DRY Repetition Penalty">DRY Repetition Penalty</label>
|
||||||
<a href="https://github.com/oobabooga/text-generation-webui/pull/5677" target="_blank">
|
<a href="https://github.com/oobabooga/text-generation-webui/pull/5677" target="_blank">
|
||||||
|
@ -1307,11 +1307,23 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate,
|
|||||||
: [];
|
: [];
|
||||||
const tokenBans = toIntArray(banned_tokens);
|
const tokenBans = toIntArray(banned_tokens);
|
||||||
logitBiasArray.push(...tokenBans.map(x => [Number(x), false]));
|
logitBiasArray.push(...tokenBans.map(x => [Number(x), false]));
|
||||||
|
const sequenceBreakers = (() => {
|
||||||
|
try {
|
||||||
|
return JSON.parse(params.dry_sequence_breakers);
|
||||||
|
} catch {
|
||||||
|
if (typeof params.dry_sequence_breakers === 'string') {
|
||||||
|
return params.dry_sequence_breakers.split(',');
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
})();
|
||||||
const llamaCppParams = {
|
const llamaCppParams = {
|
||||||
'logit_bias': logitBiasArray,
|
'logit_bias': logitBiasArray,
|
||||||
// Conflicts with ooba's grammar_string
|
// Conflicts with ooba's grammar_string
|
||||||
'grammar': settings.grammar_string,
|
'grammar': settings.grammar_string,
|
||||||
'cache_prompt': true,
|
'cache_prompt': true,
|
||||||
|
'dry_sequence_breakers': sequenceBreakers,
|
||||||
};
|
};
|
||||||
params = Object.assign(params, llamaCppParams);
|
params = Object.assign(params, llamaCppParams);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user