Added more parameters to the sidebar: top_k, repeat_penalty, presence_penalty, frequency_penalty - fixes #3

This commit is contained in:
Julian Müller (ChaoticByte) 2023-05-18 11:54:57 +02:00
parent 924721863d
commit 718f483a75
2 changed files with 48 additions and 4 deletions

View file

@ -32,7 +32,23 @@
<div class="setting flex"> <div class="setting flex">
<div>top_p</div> <div>top_p</div>
<div><input type="number" id="settings-top-p" min="0.0" max="1.0" step="0.01" value="0.95"></div> <div><input type="number" id="settings-top-p" min="0.0" max="1.0" step="0.01" value="0.95"></div>
</div> </div>
<div class="setting flex">
<div>top_k</div>
<div><input type="number" id="settings-top-k" min="0" step="1" value="40"></div>
</div>
<div class="setting flex">
<div>repeat_penalty</div>
<div><input type="number" id="settings-repeat-penalty" min="0.0" step="0.01" value="1.1"></div>
</div>
<div class="setting flex">
<div>presence_penalty</div>
<div><input type="number" id="settings-presence-penalty" min="-2.0" max="2.0" step="0.01" value="0"></div>
</div>
<div class="setting flex">
<div>frequency_penalty</div>
<div><input type="number" id="settings-frequency-penalty" min="-2.0" max="2.0" step="0.01" value="0"></div>
</div>
</div> </div>
<div class="flex"> <div class="flex">
<button id="reset-settings-btn" class="icon-button"> <button id="reset-settings-btn" class="icon-button">

View file

@ -25,6 +25,10 @@
const settingsMaxTokensElement = document.getElementById("settings-max-tokens"); const settingsMaxTokensElement = document.getElementById("settings-max-tokens");
const settingsTemperatureElement = document.getElementById("settings-temperature"); const settingsTemperatureElement = document.getElementById("settings-temperature");
const settingsTopPElement = document.getElementById("settings-top-p"); const settingsTopPElement = document.getElementById("settings-top-p");
const settingsTopKElement = document.getElementById("settings-top-k");
const settingsRepeatPenaltyElement = document.getElementById("settings-repeat-penalty");
const settingsPresencePenaltyElement = document.getElementById("settings-presence-penalty");
const settingsFrequencyPenaltyElement = document.getElementById("settings-frequency-penalty");
const resetSettingsButtonElement = document.getElementById("reset-settings-btn"); const resetSettingsButtonElement = document.getElementById("reset-settings-btn");
const resetHistoryButtonElement = document.getElementById("reset-history-btn"); const resetHistoryButtonElement = document.getElementById("reset-history-btn");
@ -41,7 +45,11 @@
"stop": [koalaStopSequence], "stop": [koalaStopSequence],
"max_tokens": settings.max_tokens, "max_tokens": settings.max_tokens,
"temperature": settings.temperature, "temperature": settings.temperature,
"top_p": settings.top_p "top_p": settings.top_p,
"top_k": settings.top_k,
"repeat_penalty": settings.repeat_penalty,
"presence_penalty": settings.presence_penalty,
"frequency_penalty": settings.frequency_penalty
}); });
const response = await fetch(frontend_config.api_url + "/v1/completions", { const response = await fetch(frontend_config.api_url + "/v1/completions", {
method: "post", method: "post",
@ -60,14 +68,22 @@
const defaultSettings = { const defaultSettings = {
max_tokens: 100, max_tokens: 100,
temperature: 0.8, temperature: 0.8,
top_p: 0.95 top_p: 0.95,
top_k: 40,
repeat_penalty: 1.1,
presence_penalty: 0.0,
frequency_penalty: 0.0
} }
function getSettings() { function getSettings() {
return { return {
max_tokens: settingsMaxTokensElement.value, max_tokens: settingsMaxTokensElement.value,
temperature: settingsTemperatureElement.value, temperature: settingsTemperatureElement.value,
top_p: settingsTopPElement.value top_p: settingsTopPElement.value,
top_k: settingsTopKElement.value,
repeat_penalty: settingsRepeatPenaltyElement.value,
presence_penalty: settingsPresencePenaltyElement.value,
frequency_penalty: settingsFrequencyPenaltyElement.value
} }
} }
@ -75,6 +91,10 @@
settingsMaxTokensElement.value = defaultSettings.max_tokens; settingsMaxTokensElement.value = defaultSettings.max_tokens;
settingsTemperatureElement.value = defaultSettings.temperature; settingsTemperatureElement.value = defaultSettings.temperature;
settingsTopPElement.value = defaultSettings.top_p; settingsTopPElement.value = defaultSettings.top_p;
settingsTopKElement.value = defaultSettings.top_k;
settingsRepeatPenaltyElement.value = defaultSettings.repeat_penalty;
settingsPresencePenaltyElement.value = defaultSettings.presence_penalty;
settingsFrequencyPenaltyElement.value = defaultSettings.frequency_penalty;
} }
// Chat // Chat
@ -122,6 +142,10 @@
settingsMaxTokensElement.disabled = true; settingsMaxTokensElement.disabled = true;
settingsTemperatureElement.disabled = true; settingsTemperatureElement.disabled = true;
settingsTopPElement.disabled = true; settingsTopPElement.disabled = true;
settingsTopKElement.disabled = true;
settingsRepeatPenaltyElement.disabled = true;
settingsPresencePenaltyElement.disabled = true;
settingsFrequencyPenaltyElement.disabled = true;
resetSettingsButtonElement.disabled = true; resetSettingsButtonElement.disabled = true;
resetHistoryButtonElement.disabled = true; resetHistoryButtonElement.disabled = true;
sendButtonElement.disabled = true; sendButtonElement.disabled = true;
@ -132,6 +156,10 @@
settingsMaxTokensElement.disabled = false; settingsMaxTokensElement.disabled = false;
settingsTemperatureElement.disabled = false; settingsTemperatureElement.disabled = false;
settingsTopPElement.disabled = false; settingsTopPElement.disabled = false;
settingsTopKElement.disabled = false;
settingsRepeatPenaltyElement.disabled = false;
settingsPresencePenaltyElement.disabled = false;
settingsFrequencyPenaltyElement.disabled = false;
resetSettingsButtonElement.disabled = false; resetSettingsButtonElement.disabled = false;
resetHistoryButtonElement.disabled = false; resetHistoryButtonElement.disabled = false;
sendButtonElement.disabled = false; sendButtonElement.disabled = false;