{language.chatBot}

{#if advancedBotSettings} {language.model} {language.submodel} {:else} {language.model} { $DataBase.subModel = v if(v.startsWith('gpt') || v.startsWith('palm2')){ $DataBase.maxContext = 4000 $DataBase.maxResponse = 500 } else if(v.startsWith('claude')){ $DataBase.maxContext = 7500 $DataBase.maxResponse = 500 if(v.endsWith('100k')){ $DataBase.maxContext = 99000 } } else{ $DataBase.maxContext = 1500 $DataBase.maxResponse = 200 if(v.startsWith('horde')){ $DataBase.maxResponse = 100 } } setRecommended(v, 'force') }}/> {/if} {#if advancedBotSettings && recommendedPresetExist($DataBase.aiModel)}
{/if} {#if $DataBase.aiModel === 'palm2' || $DataBase.subModel === 'palm2'} Palm2 {language.apiKey} {/if} {#if $DataBase.aiModel.startsWith('novellist') || $DataBase.subModel.startsWith('novellist')} NovelList {language.apiKey} {/if} {#if $DataBase.aiModel.startsWith('mancer') || $DataBase.subModel.startsWith('mancer')} Mancer {language.apiKey} {/if} {#if $DataBase.aiModel.startsWith('claude') || $DataBase.subModel.startsWith('claude')} Claude {language.apiKey} {/if} {#if $DataBase.aiModel === 'reverse_proxy' || $DataBase.subModel === 'reverse_proxy'} {language.forceReplaceUrl} URL {language.proxyAPIKey} {language.proxyRequestModel} None GPT 3.5 GPT 3.5 16k GPT-4 GPT-4 32k GPT-3.5 0301 GPT-4 0301 GPT-3.5 0613 GPT-4 0613 claude-2 claude-v1.3 claude-v1.3-100k claude-v1.2 claude-instant-v1.1 claude-instant-v1.1-100k {/if} {#if $DataBase.aiModel === 'openrouter' || $DataBase.subModel === 'openrouter'} Openrouter Key Openrouter Model {#await openRouterModels()} Loading.. {:then m} {#if (!m) || (m.length === 0)} GPT 3.5 GPT 3.5 16k GPT-4 GPT-4 32k Claude 2 Claude Instant v1 Claude Instant v1 100k Claude v1 Claude v1 100k Claude v1.2 {:else} {#each m as model} {model} {/each} {/if} {/await} {/if} {#if $DataBase.aiModel.startsWith('gpt') || $DataBase.subModel.startsWith('gpt')} OpenAI {language.apiKey} {/if} {#if $DataBase.aiModel.startsWith('gpt') || $DataBase.aiModel === 'reverse_proxy' || $DataBase.aiModel === 'openrouter'}
{/if} {#if $DataBase.aiModel === 'custom' || $DataBase.subModel === 'custom'} {language.plugin} None {#each $customProviderStore as plugin} {plugin} {/each} {/if} {#if $DataBase.aiModel === "novelai" || $DataBase.subModel === "novelai" || $DataBase.aiModel === 'novelai_kayra' || $DataBase.subModel === 'novelai_kayra'} NovelAI Bearer Token
{/if} {#if $DataBase.aiModel === "kobold" || $DataBase.subModel === "kobold"} Kobold URL {/if} {#if $DataBase.aiModel.startsWith("horde") || $DataBase.subModel.startsWith("horde") } Horde {language.apiKey} {/if} {#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'textgen_webui' || $DataBase.aiModel === 'mancer' || $DataBase.subModel === 'mancer'} Blocking {language.providerURL} You must use textgen webui with --public-api Stream {language.providerURL} {#if !isTauri} You are using web version. you must use ngrok or other tunnels to use your local webui. {/if} {/if} {#if advancedBotSettings} {#if !$DataBase.promptTemplate} {language.mainPrompt} {tokens.mainPrompt} {language.tokens} {language.jailbreakPrompt} {tokens.jailbreak} {language.tokens} {language.globalNote} {tokens.globalNote} {language.tokens} {/if} {language.maxContextSize} {language.maxResponseSize} {language.temperature} {#if $DataBase.aiModel.startsWith("novelai")} {:else} {/if} {($DataBase.temperature / 100).toFixed(2)} {#if $DataBase.aiModel === 'textgen_webui' || $DataBase.aiModel === 'mancer' || $DataBase.aiModel.startsWith('local_')} Repetition Penalty {($DataBase.ooba.repetition_penalty).toFixed(2)} Length Penalty {($DataBase.ooba.length_penalty).toFixed(2)} Top K {($DataBase.ooba.top_k).toFixed(0)} Top P {($DataBase.ooba.top_p).toFixed(2)} Typical P {($DataBase.ooba.typical_p).toFixed(2)} Top A {($DataBase.ooba.top_a).toFixed(2)} No Repeat n-gram Size {($DataBase.ooba.no_repeat_ngram_size).toFixed(0)}
{ if(!$DataBase.localStopStrings){ $DataBase.localStopStrings = [] } else{ $DataBase.localStopStrings = null } }} />
{#if $DataBase.localStopStrings}
{#each $DataBase.localStopStrings as stopString, i}
{/each}
{/if}
System Prefix User Prefix Assistant Prefix Seperator
{language.autoSuggest} {tokens.autoSuggest} {language.tokens} {language.autoSuggest} Prefix {:else if $DataBase.aiModel.startsWith('novelai')}
Starter Seperator
Top P {($DataBase.NAIsettings.topP).toFixed(2)} Top K {($DataBase.NAIsettings.topK).toFixed(0)} Top A {($DataBase.NAIsettings.topA).toFixed(2)} Tailfree Sampling {($DataBase.NAIsettings.tailFreeSampling).toFixed(3)} Typical P {($DataBase.NAIsettings.typicalp).toFixed(2)} Repetition Penalty {($DataBase.NAIsettings.repetitionPenalty).toFixed(2)} Repetition Penalty Range {($DataBase.NAIsettings.repetitionPenaltyRange).toFixed(0)} Repetition Penalty Slope {($DataBase.NAIsettings.repetitionPenaltySlope).toFixed(2)} Frequency Penalty {($DataBase.NAIsettings.frequencyPenalty).toFixed(2)} Presence Penalty {($DataBase.NAIsettings.presencePenalty).toFixed(2)} Mirostat LR {($DataBase.NAIsettings.mirostat_lr).toFixed(2)} Mirostat Tau {($DataBase.NAIsettings.mirostat_tau).toFixed(2)} Cfg Scale {($DataBase.NAIsettings.cfg_scale).toFixed(2)} {:else if $DataBase.aiModel.startsWith('novellist')} Top P {($DataBase.ainconfig.top_p).toFixed(2)} Reputation Penalty {($DataBase.ainconfig.rep_pen).toFixed(2)} Reputation Penalty Range {($DataBase.ainconfig.rep_pen_range).toFixed(2)} Reputation Penalty Slope {($DataBase.ainconfig.rep_pen_slope).toFixed(2)} Top K {($DataBase.ainconfig.top_k).toFixed(2)} Top A {($DataBase.ainconfig.top_a).toFixed(2)} Typical P {($DataBase.ainconfig.typical_p).toFixed(2)} {:else} {language.frequencyPenalty} {($DataBase.frequencyPenalty / 100).toFixed(2)} {language.presensePenalty} {($DataBase.PresensePenalty / 100).toFixed(2)} {language.autoSuggest} {tokens.autoSuggest} {language.tokens} {/if} {/if} {#if advancedBotSettings} {#if !$DataBase.promptTemplate} {language.formatingOrder} {/if} Bias
{#if $DataBase.bias.length === 0}
{language.noBias}
{/if} {#each $DataBase.bias as bias, i} {/each}
Bias {language.value}
{#if !$DataBase.promptTemplate}
{/if}
{#if $DataBase.promptTemplate} { const conf = await alertConfirm(language.resetPromptTemplateConfirm) if(conf){ $DataBase.promptTemplate = undefined } else{ $DataBase.promptTemplate = $DataBase.promptTemplate } }}/> {:else} { $DataBase.promptTemplate = [] }}/> {/if}
{#if ($DataBase.promptTemplate)}
{/if} {/if}