{language.chatBot}

{#if submenu !== -1}
{/if} {#if submenu === 0 || submenu === -1} {language.model} {language.submodel} {#if modelInfo.provider === LLMProvider.GoogleCloud || subModelInfo.provider === LLMProvider.GoogleCloud} GoogleAI API Key {/if} {#if modelInfo.provider === LLMProvider.VertexAI || subModelInfo.provider === LLMProvider.VertexAI} Vertex Client Email Vertex Private Key {/if} {#if modelInfo.provider === LLMProvider.AI21 || subModelInfo.provider === LLMProvider.AI21} AI21 {language.apiKey} {/if} {#if modelInfo.provider === LLMProvider.NovelList || subModelInfo.provider === LLMProvider.NovelList} NovelList {language.apiKey} {/if} {#if DBState.db.aiModel.startsWith('mancer') || DBState.db.subModel.startsWith('mancer')} Mancer {language.apiKey} {/if} {#if modelInfo.provider === LLMProvider.Anthropic || subModelInfo.provider === LLMProvider.Anthropic} Claude {language.apiKey} {/if} {#if modelInfo.provider === LLMProvider.Mistral || subModelInfo.provider === LLMProvider.Mistral} Mistral {language.apiKey} {/if} {#if modelInfo.provider === LLMProvider.NovelAI || subModelInfo.provider === LLMProvider.NovelAI} NovelAI Bearer Token {/if} {#if DBState.db.aiModel === 'reverse_proxy' || DBState.db.subModel === 'reverse_proxy'} URL {language.proxyAPIKey} {language.proxyRequestModel} {language.format} { DBState.db.customAPIFormat = parseInt(e.currentTarget.value) }}> OpenAI Compatible Anthropic Claude Mistral Google Cloud Cohere {/if} {#if modelInfo.provider === LLMProvider.Cohere || subModelInfo.provider === LLMProvider.Cohere} Cohere {language.apiKey} {/if} {#if DBState.db.aiModel === 'ollama-hosted'} Ollama URL Ollama Model {/if} {#if DBState.db.aiModel === 'openrouter' || DBState.db.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 DBState.db.aiModel === 'openrouter' || DBState.db.aiModel === 'reverse_proxy'} {language.tokenizer} {#each tokenizerList as entry} {entry[1]} {/each} {/if} {#if modelInfo.provider === LLMProvider.OpenAI || subModelInfo.provider === LLMProvider.OpenAI} OpenAI {language.apiKey} {/if}
{#if modelInfo.flags.includes(LLMFlags.hasStreaming) || subModelInfo.flags.includes(LLMFlags.hasStreaming)} {/if} {#if DBState.db.aiModel === 'reverse_proxy' || DBState.db.subModel === 'reverse_proxy'} {/if} {#if modelInfo.provider === LLMProvider.NovelAI || subModelInfo.provider === LLMProvider.NovelAI} {/if}
{#if DBState.db.aiModel === 'custom' || DBState.db.subModel === 'custom'} {language.plugin} None {#each $customProviderStore as plugin} {plugin} {/each} {/if} {#if DBState.db.aiModel === "kobold" || DBState.db.subModel === "kobold"} Kobold URL {/if} {#if DBState.db.aiModel.startsWith("horde") || DBState.db.subModel.startsWith("horde") } Horde {language.apiKey} {/if} {#if DBState.db.aiModel === 'textgen_webui' || DBState.db.subModel === 'textgen_webui' || DBState.db.aiModel === 'mancer' || DBState.db.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 DBState.db.aiModel === 'ooba' || DBState.db.subModel === 'ooba'} Ooba {language.providerURL} {/if} {#if DBState.db.aiModel.startsWith("horde") || DBState.db.aiModel === 'kobold' } {/if} {/if} {#if submenu === 1 || submenu === -1} {language.maxContextSize} {language.maxResponseSize} {#if DBState.db.aiModel.startsWith('gpt') || DBState.db.aiModel === 'reverse_proxy' || DBState.db.aiModel === 'openrouter'} {language.seed} {/if} {language.temperature} {#if modelInfo.parameters.includes('top_k')} Top K {/if} {#if modelInfo.parameters.includes('min_p')} Min P {/if} {#if modelInfo.parameters.includes('top_a')} Top A {/if} {#if modelInfo.parameters.includes('repetition_penalty')} Repetition penalty {/if} {#if DBState.db.aiModel === 'textgen_webui' || DBState.db.aiModel === 'mancer' || DBState.db.aiModel.startsWith('local_') || DBState.db.aiModel.startsWith('hf:::')} Repetition Penalty Length Penalty Top K Top P Typical P Top A No Repeat n-gram Size
{ if(!DBState.db.localStopStrings){ DBState.db.localStopStrings = [] } else{ DBState.db.localStopStrings = null } }} />
{#if DBState.db.localStopStrings}
{#each DBState.db.localStopStrings as stopString, i}
{/each}
{/if}
{:else if modelInfo.format === LLMFormat.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 modelInfo.format === LLMFormat.NovelList} Top P Reputation Penalty Reputation Penalty Range Reputation Penalty Slope Top K Top A Typical P {:else} {#if modelInfo.parameters.includes('top_p')} Top P {/if} {#if modelInfo.parameters.includes('frequency_penalty')} {language.frequencyPenalty} {/if} {#if modelInfo.parameters.includes('presence_penalty')} {language.presensePenalty} {/if} {/if} {#if (DBState.db.reverseProxyOobaMode && DBState.db.aiModel === 'reverse_proxy') || (DBState.db.aiModel === 'ooba')} {/if} {#if DBState.db.aiModel.startsWith('openrouter')} {/if} {#if DBState.db.seperateParametersEnabled} {#each Object.keys(DBState.db.seperateParameters) as param, i} {language.temperature} Top K Repetition penalty Min P Top A Top P Frequency Penalty Presence Penalty {/each} {/if} {/if} {#if submenu === 3 || submenu === -1} {#if DBState.db.bias.length === 0} {/if} {#each DBState.db.bias as bias, i} {/each}
Bias {language.value}
{language.noBias}
{#if DBState.db.aiModel === 'reverse_proxy'} {#if DBState.db.bias.length === 0} {/if} {#each DBState.db.additionalParams as additionalParams, i} {/each}
{language.key} {language.value}
{language.noData}
{/if} {#if DBState.db.promptTemplate} {#if submenu !== -1} {/if} { const conf = await alertConfirm(language.resetPromptTemplateConfirm) if(conf){ DBState.db.promptTemplate = undefined } else{ DBState.db.promptTemplate = DBState.db.promptTemplate } }}/> {:else} { DBState.db.promptTemplate = [] }}/> {/if} {#if submenu !== -1} {/if} {/if} {#if submenu === 2 || submenu === -1} {#if !DBState.db.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 DBState.db.promptTemplate && submenu === -1}
{/if} {#if submenu === -1} {/if}