{language.chatBot}
{#if submenu !== -1}
{ submenu = 0 }} class="p-2 flex-1 border-r border-darkborderc" class:bg-darkbutton={submenu === 0}>
{language.model}
{ submenu = 1 }} class="p2 flex-1 border-r border-darkborderc" class:bg-darkbutton={submenu === 1}>
{language.parameters}
{ submenu = 2 }} class="p-2 flex-1 border-r border-darkborderc" class:bg-darkbutton={submenu === 2}>
{language.prompt}
{ submenu = 3 }} class="p-2 flex-1" class:bg-darkbutton={submenu === 3}>
{language.others}
{/if} {#if submenu === 0 || submenu === -1}
{language.model}
{language.submodel}
{#if $DataBase.aiModel.startsWith('palm2') || $DataBase.subModel.startsWith('palm2') || $DataBase.aiModel.startsWith('gemini') || $DataBase.subModel.startsWith('gemini')}
{#if $DataBase.google.projectId === 'aigoogle'} GoogleAI API Key {:else} Google Bearer Token {/if}
{#if $DataBase.google.projectId !== 'aigoogle'}
Google Project ID
{/if} {/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.startsWith('mistral') || $DataBase.subModel.startsWith('mistral')}
Mistral {language.apiKey}
{/if} {#if $DataBase.aiModel.startsWith('novelai') || $DataBase.subModel.startsWith('novelai')}
NovelAI Bearer Token
{/if} {#if $DataBase.aiModel === 'reverse_proxy' || $DataBase.subModel === 'reverse_proxy'}
URL
{language.proxyAPIKey}
{language.proxyRequestModel}
None
GPT 3.5
GPT 3.5 16k
GPT-4
GPT-4o
GPT-4 32k
GPT-4 Turbo
GPT-4 Turbo 1106
GPT-4 Turbo 1106 Vision
GPT-3.5 0301
GPT-4 0301
GPT-3.5 0613
GPT-4 0613
claude-2.1
claude-2.0
claude-2
claude-v1.3
claude-v1.3-100k
claude-v1.2
claude-instant-v1.1
claude-instant-v1.1-100k
claude-3-opus-20240229
claude-3-sonnet-20240229
claude-3-5-sonnet-20240620
Custom
{#if $DataBase.proxyRequestModel === 'custom'}
{:else}
{/if} {/if} {#if $DataBase.aiModel.startsWith('risullm')}
Risu {language.apiKey}
{/if} {#if $DataBase.aiModel.startsWith('cohere')}
Cohere {language.apiKey}
{/if} {#if $DataBase.aiModel === 'ollama-hosted'}
Ollama URL
Ollama Model
{/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}
Free Auto
Openrouter Auto
{#each m as model}
{model.name}
{/each} {/if}
{/await} {/if} {#if $DataBase.aiModel === 'openrouter' || $DataBase.aiModel === 'reverse_proxy'}
{language.tokenizer}
{#each tokenizerList as entry}
{entry[1]}
{/each}
{/if} {#if $DataBase.aiModel.startsWith('gpt') || $DataBase.subModel.startsWith('gpt') || $DataBase.aiModel.startsWith('instructgpt') || $DataBase.subModel.startsWith('instructgpt')}
OpenAI {language.apiKey}
{/if}
{#if $DataBase.aiModel.startsWith('gpt') || $DataBase.aiModel === 'reverse_proxy' || $DataBase.aiModel === 'openrouter' || $DataBase.aiModel.startsWith('claude-3')}
{/if} {#if $DataBase.aiModel.startsWith('palm2') || $DataBase.subModel.startsWith('palm2') || $DataBase.aiModel.startsWith('gemini') || $DataBase.subModel.startsWith('gemini')}
{ if(!v){ $DataBase.google.projectId = 'aigoogle' } else{ $DataBase.google.projectId = '' } }}/> {/if} {#if $DataBase.aiModel.startsWith('claude-') || $DataBase.subModel.startsWith('claude-')}
{/if} {#if $DataBase.aiModel === 'reverse_proxy' || $DataBase.subModel === 'reverse_proxy'}
{/if} {#if $DataBase.aiModel === "novelai" || $DataBase.subModel === "novelai" || $DataBase.aiModel === 'novelai_kayra' || $DataBase.subModel === 'novelai_kayra'}
{/if}
{#if $DataBase.aiModel === 'custom' || $DataBase.subModel === 'custom'}
{language.plugin}
None
{#each $customProviderStore as plugin}
{plugin}
{/each}
{/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}
Warning: For Ooba version over 1.7, use "Ooba" as model, and use url like http://127.0.0.1:5000/v1/chat/completions
{/if} {#if $DataBase.aiModel === 'ooba' || $DataBase.subModel === 'ooba'}
Ooba {language.providerURL}
{/if} {#if $DataBase.aiModel.startsWith("horde") || $DataBase.aiModel === 'kobold' }
{/if} {/if} {#if submenu === 1 || submenu === -1}
{language.maxContextSize}
{language.maxResponseSize}
{#if $DataBase.aiModel.startsWith('gpt') || $DataBase.aiModel === 'reverse_proxy' || $DataBase.aiModel === 'openrouter'}
{language.seed}
{/if}
{language.temperature}
{#if $DataBase.aiModel.startsWith("novelai")}
{:else}
{/if} {#if $DataBase.aiModel.startsWith('openrouter') || $DataBase.aiModel.startsWith('claude-3') || $DataBase.aiModel.startsWith('cohere-')}
Top K
{/if} {#if $DataBase.aiModel.startsWith('openrouter')}
Repetition penalty
Min P
Top A
{/if} {#if $DataBase.aiModel === 'textgen_webui' || $DataBase.aiModel === 'mancer' || $DataBase.aiModel.startsWith('local_') || $DataBase.aiModel.startsWith('hf:::')}
Repetition Penalty
Length Penalty
Top K
Top P
Typical P
Top A
No Repeat n-gram Size
{ if(!$DataBase.localStopStrings){ $DataBase.localStopStrings = [] } else{ $DataBase.localStopStrings = null } }} />
{#if $DataBase.localStopStrings}
{ let localStopStrings = $DataBase.localStopStrings localStopStrings.push('') $DataBase.localStopStrings = localStopStrings }}>
{#each $DataBase.localStopStrings as stopString, i}
{ let localStopStrings = $DataBase.localStopStrings localStopStrings.splice(i, 1) $DataBase.localStopStrings = localStopStrings }}>
{/each}
{/if}
{:else if $DataBase.aiModel.startsWith('novelai')}
Starter
Seperator
Top P
Top K
Top A
Tailfree Sampling
Typical P
Repetition Penalty
Repetition Penalty Range
Repetition Penalty Slope
Frequency Penalty
Presence Penalty
Mirostat LR
Mirostat Tau
Cfg Scale
{:else if $DataBase.aiModel.startsWith('novellist')}
Top P
Reputation Penalty
Reputation Penalty Range
Reputation Penalty Slope
Top K
Top A
Typical P
{:else if $DataBase.aiModel.startsWith('claude')}
Top P
{:else}
Top P
{language.frequencyPenalty}
{language.presensePenalty}
{/if} {#if ($DataBase.reverseProxyOobaMode && $DataBase.aiModel === 'reverse_proxy') || ($DataBase.aiModel === 'ooba')}
{/if} {#if $DataBase.aiModel.startsWith('openrouter')}
{/if} {/if} {#if submenu === 3 || submenu === -1}
Bias
{language.value}
{ let bia = $DataBase.bias bia.push(['', 0]) $DataBase.bias = bia }}>
{#if $DataBase.bias.length === 0}
{language.noBias}
{/if} {#each $DataBase.bias as bias, i}
{ let bia = $DataBase.bias bia.splice(i, 1) $DataBase.bias = bia }}>
{/each}
{#if $DataBase.aiModel === 'reverse_proxy'}
{language.key}
{language.value}
{ let additionalParams = $DataBase.additionalParams additionalParams.push(['', '']) $DataBase.additionalParams = additionalParams }}>
{#if $DataBase.bias.length === 0}
{language.noData}
{/if} {#each $DataBase.additionalParams as additionalParams, i}
{ let additionalParams = $DataBase.additionalParams additionalParams.splice(i, 1) $DataBase.additionalParams = additionalParams }}>
{/each}
{/if}
{#if $DataBase.promptTemplate} {#if submenu !== -1}
{/if}
{ const conf = await alertConfirm(language.resetPromptTemplateConfirm) if(conf){ $DataBase.promptTemplate = undefined } else{ $DataBase.promptTemplate = $DataBase.promptTemplate } }}/> {:else}
{ $DataBase.promptTemplate = [] }}/> {/if}
{#if submenu !== -1}
{openPresetList = true}} className="mt-4">{language.presets}
{/if} {/if} {#if submenu === 2 || submenu === -1} {#if !$DataBase.promptTemplate}
{language.mainPrompt}
{tokens.mainPrompt} {language.tokens}
{language.jailbreakPrompt}
{tokens.jailbreak} {language.tokens}
{language.globalNote}
{tokens.globalNote} {language.tokens}
{language.formatingOrder}
{:else if submenu === 2}
{/if} {/if} {#if $DataBase.promptTemplate && submenu === -1}
{language.promptTemplate}
{/if} {#if submenu === -1}
{openPresetList = true}} className="mt-4">{language.presets}
{/if}