Browse Source

feat: add num_keep, num_batch

Sam McLeod 10 months ago
parent
commit
3f5e36271f
41 changed files with 182 additions and 0 deletions
  1. 8 0
      backend/apps/ollama/main.py
  2. 94 0
      src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte
  3. 4 0
      src/lib/components/chat/Settings/General.svelte
  4. 2 0
      src/lib/i18n/locales/ar-BH/translation.json
  5. 2 0
      src/lib/i18n/locales/bg-BG/translation.json
  6. 2 0
      src/lib/i18n/locales/bn-BD/translation.json
  7. 2 0
      src/lib/i18n/locales/ca-ES/translation.json
  8. 2 0
      src/lib/i18n/locales/ceb-PH/translation.json
  9. 2 0
      src/lib/i18n/locales/de-DE/translation.json
  10. 2 0
      src/lib/i18n/locales/dg-DG/translation.json
  11. 2 0
      src/lib/i18n/locales/en-GB/translation.json
  12. 2 0
      src/lib/i18n/locales/en-US/translation.json
  13. 2 0
      src/lib/i18n/locales/es-ES/translation.json
  14. 2 0
      src/lib/i18n/locales/fa-IR/translation.json
  15. 2 0
      src/lib/i18n/locales/fi-FI/translation.json
  16. 2 0
      src/lib/i18n/locales/fr-CA/translation.json
  17. 2 0
      src/lib/i18n/locales/fr-FR/translation.json
  18. 2 0
      src/lib/i18n/locales/he-IL/translation.json
  19. 2 0
      src/lib/i18n/locales/hi-IN/translation.json
  20. 2 0
      src/lib/i18n/locales/hr-HR/translation.json
  21. 2 0
      src/lib/i18n/locales/it-IT/translation.json
  22. 2 0
      src/lib/i18n/locales/ja-JP/translation.json
  23. 2 0
      src/lib/i18n/locales/ka-GE/translation.json
  24. 2 0
      src/lib/i18n/locales/ko-KR/translation.json
  25. 2 0
      src/lib/i18n/locales/lt-LT/translation.json
  26. 2 0
      src/lib/i18n/locales/nb-NO/translation.json
  27. 2 0
      src/lib/i18n/locales/nl-NL/translation.json
  28. 2 0
      src/lib/i18n/locales/pa-IN/translation.json
  29. 2 0
      src/lib/i18n/locales/pl-PL/translation.json
  30. 2 0
      src/lib/i18n/locales/pt-BR/translation.json
  31. 2 0
      src/lib/i18n/locales/pt-PT/translation.json
  32. 2 0
      src/lib/i18n/locales/ru-RU/translation.json
  33. 2 0
      src/lib/i18n/locales/sr-RS/translation.json
  34. 2 0
      src/lib/i18n/locales/sv-SE/translation.json
  35. 2 0
      src/lib/i18n/locales/tk-TW/translation.json
  36. 2 0
      src/lib/i18n/locales/tr-TR/translation.json
  37. 2 0
      src/lib/i18n/locales/uk-UA/translation.json
  38. 2 0
      src/lib/i18n/locales/vi-VN/translation.json
  39. 2 0
      src/lib/i18n/locales/zh-CN/translation.json
  40. 2 0
      src/lib/i18n/locales/zh-TW/translation.json
  41. 2 0
      src/lib/stores/index.ts

+ 8 - 0
backend/apps/ollama/main.py

@@ -751,6 +751,14 @@ async def generate_chat_completion(
             if model_info.params.get("num_ctx", None):
                 payload["options"]["num_ctx"] = model_info.params.get("num_ctx", None)
 
+            if model_info.params.get("num_batch", None):
+                payload["options"]["num_batch"] = model_info.params.get(
+                    "num_batch", None
+                )
+
+            if model_info.params.get("num_keep", None):
+                payload["options"]["num_keep"] = model_info.params.get("num_keep", None)
+
             if model_info.params.get("repeat_last_n", None):
                 payload["options"]["repeat_last_n"] = model_info.params.get(
                     "repeat_last_n", None

+ 94 - 0
src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte

@@ -21,6 +21,8 @@
 		top_p: null,
 		tfs_z: null,
 		num_ctx: null,
+		num_batch: null,
+		num_keep: null,
 		max_tokens: null,
 		use_mmap: null,
 		use_mlock: null,
@@ -565,6 +567,98 @@
 		{/if}
 	</div>
 
+	<div class=" py-0.5 w-full justify-between">
+		<div class="flex w-full justify-between">
+			<div class=" self-center text-xs font-medium">{$i18n.t('Batch Size (num_batch)')}</div>
+
+			<button
+				class="p-1 px-3 text-xs flex rounded transition"
+				type="button"
+				on:click={() => {
+					params.num_batch = (params?.num_batch ?? null) === null ? 512 : null;
+				}}
+			>
+				{#if (params?.num_batch ?? null) === null}
+					<span class="ml-2 self-center">{$i18n.t('Default')}</span>
+				{:else}
+					<span class="ml-2 self-center">{$i18n.t('Custom')}</span>
+				{/if}
+			</button>
+		</div>
+
+		{#if (params?.num_batch ?? null) !== null}
+			<div class="flex mt-0.5 space-x-2">
+				<div class=" flex-1">
+					<input
+						id="steps-range"
+						type="range"
+						min="256"
+						max="8192"
+						step="256"
+						bind:value={params.num_batch}
+						class="w-full h-2 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
+					/>
+				</div>
+				<div class="">
+					<input
+						bind:value={params.num_batch}
+						type="number"
+						class=" bg-transparent text-center w-14"
+						min="256"
+						step="256"
+					/>
+				</div>
+			</div>
+		{/if}
+	</div>
+
+	<div class=" py-0.5 w-full justify-between">
+		<div class="flex w-full justify-between">
+			<div class=" self-center text-xs font-medium">
+				{$i18n.t('Tokens To Keep On Context Refresh (num_keep)')}
+			</div>
+
+			<button
+				class="p-1 px-3 text-xs flex rounded transition"
+				type="button"
+				on:click={() => {
+					params.num_keep = (params?.num_keep ?? null) === null ? 24 : null;
+				}}
+			>
+				{#if (params?.num_keep ?? null) === null}
+					<span class="ml-2 self-center">{$i18n.t('Default')}</span>
+				{:else}
+					<span class="ml-2 self-center">{$i18n.t('Custom')}</span>
+				{/if}
+			</button>
+		</div>
+
+		{#if (params?.num_keep ?? null) !== null}
+			<div class="flex mt-0.5 space-x-2">
+				<div class=" flex-1">
+					<input
+						id="steps-range"
+						type="range"
+						min="-1"
+						max="10240000"
+						step="1"
+						bind:value={params.num_keep}
+						class="w-full h-2 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
+					/>
+				</div>
+				<div class="">
+					<input
+						bind:value={params.num_keep}
+						type="number"
+						class=" bg-transparent text-center w-14"
+						min="-1"
+						step="1"
+					/>
+				</div>
+			</div>
+		{/if}
+	</div>
+
 	<div class=" py-0.5 w-full justify-between">
 		<div class="flex w-full justify-between">
 			<div class=" self-center text-xs font-medium">{$i18n.t('Max Tokens (num_predict)')}</div>

+ 4 - 0
src/lib/components/chat/Settings/General.svelte

@@ -55,6 +55,8 @@
 		stop: null,
 		tfs_z: null,
 		num_ctx: null,
+		num_batch: null,
+		num_keep: null,
 		max_tokens: null
 	};
 
@@ -308,6 +310,8 @@
 						top_p: params.top_p !== null ? params.top_p : undefined,
 						tfs_z: params.tfs_z !== null ? params.tfs_z : undefined,
 						num_ctx: params.num_ctx !== null ? params.num_ctx : undefined,
+						num_batch: params.num_batch !== null ? params.num_batch : undefined,
+						num_keep: params.num_keep !== null ? params.num_keep : undefined,
 						max_tokens: params.max_tokens !== null ? params.max_tokens : undefined,
 						use_mmap: params.use_mmap !== null ? params.use_mmap : undefined,
 						use_mlock: params.use_mlock !== null ? params.use_mlock : undefined,

+ 2 - 0
src/lib/i18n/locales/ar-BH/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "استجابة خطاء",
 	"Banners": "لافتات",
 	"Base Model (From)": "النموذج الأساسي (من)",
+	"Batch Size (num_batch)": "",
 	"before": "قبل",
 	"Being lazy": "كون كسول",
 	"Brave Search API Key": "مفتاح واجهة برمجة تطبيقات البحث الشجاع",
@@ -522,6 +523,7 @@
 	"Today": "اليوم",
 	"Toggle settings": "فتح وأغلاق الاعدادات",
 	"Toggle sidebar": "فتح وأغلاق الشريط الجانبي",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/bg-BG/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Невалиден отговор от API",
 	"Banners": "Банери",
 	"Base Model (From)": "Базов модел (от)",
+	"Batch Size (num_batch)": "",
 	"before": "преди",
 	"Being lazy": "Да бъдеш мързелив",
 	"Brave Search API Key": "Смел ключ за API за търсене",
@@ -518,6 +519,7 @@
 	"Today": "днес",
 	"Toggle settings": "Toggle settings",
 	"Toggle sidebar": "Toggle sidebar",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/bn-BD/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "খারাপ প্রতিক্রিয়া",
 	"Banners": "ব্যানার",
 	"Base Model (From)": "বেস মডেল (থেকে)",
+	"Batch Size (num_batch)": "",
 	"before": "পূর্ববর্তী",
 	"Being lazy": "অলস হওয়া",
 	"Brave Search API Key": "সাহসী অনুসন্ধান API কী",
@@ -518,6 +519,7 @@
 	"Today": "আজ",
 	"Toggle settings": "সেটিংস টোগল",
 	"Toggle sidebar": "সাইডবার টোগল",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/ca-ES/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Resposta Erroni",
 	"Banners": "Banners",
 	"Base Model (From)": "Model base (des de)",
+	"Batch Size (num_batch)": "",
 	"before": "abans",
 	"Being lazy": "Ser l'estupidez",
 	"Brave Search API Key": "Clau API Brave Search",
@@ -519,6 +520,7 @@
 	"Today": "Avui",
 	"Toggle settings": "Commuta configuracions",
 	"Toggle sidebar": "Commuta barra lateral",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/ceb-PH/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "",
 	"Banners": "",
 	"Base Model (From)": "",
+	"Batch Size (num_batch)": "",
 	"before": "",
 	"Being lazy": "",
 	"Brave Search API Key": "",
@@ -518,6 +519,7 @@
 	"Today": "",
 	"Toggle settings": "I-toggle ang mga setting",
 	"Toggle sidebar": "I-toggle ang sidebar",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Ibabaw nga P",

+ 2 - 0
src/lib/i18n/locales/de-DE/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Schlechte Antwort",
 	"Banners": "Banner",
 	"Base Model (From)": "Basismodell (von)",
+	"Batch Size (num_batch)": "",
 	"before": "bereits geteilt",
 	"Being lazy": "Faul sein",
 	"Brave Search API Key": "API-Schlüssel für die Brave-Suche",
@@ -518,6 +519,7 @@
 	"Today": "Heute",
 	"Toggle settings": "Einstellungen umschalten",
 	"Toggle sidebar": "Seitenleiste umschalten",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/dg-DG/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "",
 	"Banners": "",
 	"Base Model (From)": "",
+	"Batch Size (num_batch)": "",
 	"before": "",
 	"Being lazy": "",
 	"Brave Search API Key": "",
@@ -518,6 +519,7 @@
 	"Today": "",
 	"Toggle settings": "Toggle settings much toggle",
 	"Toggle sidebar": "Toggle sidebar much toggle",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K very top",
 	"Top P": "Top P very top",

+ 2 - 0
src/lib/i18n/locales/en-GB/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "",
 	"Banners": "",
 	"Base Model (From)": "",
+	"Batch Size (num_batch)": "",
 	"before": "",
 	"Being lazy": "",
 	"Brave Search API Key": "",
@@ -518,6 +519,7 @@
 	"Today": "",
 	"Toggle settings": "",
 	"Toggle sidebar": "",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "",
 	"Top P": "",

+ 2 - 0
src/lib/i18n/locales/en-US/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "",
 	"Banners": "",
 	"Base Model (From)": "",
+	"Batch Size (num_batch)": "",
 	"before": "",
 	"Being lazy": "",
 	"Brave Search API Key": "",
@@ -518,6 +519,7 @@
 	"Today": "",
 	"Toggle settings": "",
 	"Toggle sidebar": "",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "",
 	"Top P": "",

+ 2 - 0
src/lib/i18n/locales/es-ES/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Respuesta incorrecta",
 	"Banners": "Banners",
 	"Base Model (From)": "Modelo base (desde)",
+	"Batch Size (num_batch)": "",
 	"before": "antes",
 	"Being lazy": "Ser perezoso",
 	"Brave Search API Key": "Clave de API de Brave Search",
@@ -519,6 +520,7 @@
 	"Today": "Hoy",
 	"Toggle settings": "Alternar configuración",
 	"Toggle sidebar": "Alternar barra lateral",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/fa-IR/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "پاسخ خوب نیست",
 	"Banners": "بنر",
 	"Base Model (From)": "مدل پایه (از)",
+	"Batch Size (num_batch)": "",
 	"before": "قبل",
 	"Being lazy": "حالت سازنده",
 	"Brave Search API Key": "کلید API جستجوی شجاع",
@@ -518,6 +519,7 @@
 	"Today": "امروز",
 	"Toggle settings": "نمایش/عدم نمایش تنظیمات",
 	"Toggle sidebar": "نمایش/عدم نمایش نوار کناری",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/fi-FI/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Epäkelpo vastaus",
 	"Banners": "Bannerit",
 	"Base Model (From)": "Perusmalli (alkaen)",
+	"Batch Size (num_batch)": "",
 	"before": "ennen",
 	"Being lazy": "Oli laiska",
 	"Brave Search API Key": "Brave Search API -avain",
@@ -518,6 +519,7 @@
 	"Today": "Tänään",
 	"Toggle settings": "Kytke asetukset",
 	"Toggle sidebar": "Kytke sivupalkki",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/fr-CA/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Mauvaise réponse",
 	"Banners": "Bannières",
 	"Base Model (From)": "Modèle de base (à partir de)",
+	"Batch Size (num_batch)": "",
 	"before": "avant",
 	"Being lazy": "En manque de temps",
 	"Brave Search API Key": "Clé d’API de recherche brave",
@@ -519,6 +520,7 @@
 	"Today": "Aujourd'hui",
 	"Toggle settings": "Basculer les paramètres",
 	"Toggle sidebar": "Basculer la barre latérale",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/fr-FR/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Mauvaise Réponse",
 	"Banners": "Bannières",
 	"Base Model (From)": "Modèle de Base (De)",
+	"Batch Size (num_batch)": "",
 	"before": "avant",
 	"Being lazy": "Est paresseux",
 	"Brave Search API Key": "Clé API Brave Search",
@@ -519,6 +520,7 @@
 	"Today": "Aujourd'hui",
 	"Toggle settings": "Basculer les paramètres",
 	"Toggle sidebar": "Basculer la barre latérale",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/he-IL/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "תגובה שגויה",
 	"Banners": "באנרים",
 	"Base Model (From)": "דגם בסיס (מ)",
+	"Batch Size (num_batch)": "",
 	"before": "לפני",
 	"Being lazy": "להיות עצלן",
 	"Brave Search API Key": "מפתח API של חיפוש אמיץ",
@@ -519,6 +520,7 @@
 	"Today": "היום",
 	"Toggle settings": "החלפת מצב של הגדרות",
 	"Toggle sidebar": "החלפת מצב של סרגל הצד",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/hi-IN/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "ख़राब प्रतिक्रिया",
 	"Banners": "बैनर",
 	"Base Model (From)": "बेस मॉडल (से)",
+	"Batch Size (num_batch)": "",
 	"before": "पहले",
 	"Being lazy": "आलसी होना",
 	"Brave Search API Key": "Brave सर्च एपीआई कुंजी",
@@ -518,6 +519,7 @@
 	"Today": "आज",
 	"Toggle settings": "सेटिंग्स टॉगल करें",
 	"Toggle sidebar": "साइडबार टॉगल करें",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "शीर्ष  K",
 	"Top P": "शीर्ष  P",

+ 2 - 0
src/lib/i18n/locales/hr-HR/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Loš odgovor",
 	"Banners": "Baneri",
 	"Base Model (From)": "Osnovni model (Od)",
+	"Batch Size (num_batch)": "",
 	"before": "prije",
 	"Being lazy": "Biti lijen",
 	"Brave Search API Key": "Brave tražilica - API ključ",
@@ -519,6 +520,7 @@
 	"Today": "Danas",
 	"Toggle settings": "Prebaci postavke",
 	"Toggle sidebar": "Prebaci bočnu traku",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "Alati",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/it-IT/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Risposta non valida",
 	"Banners": "Banner",
 	"Base Model (From)": "Modello base (da)",
+	"Batch Size (num_batch)": "",
 	"before": "prima",
 	"Being lazy": "Essere pigri",
 	"Brave Search API Key": "Chiave API di ricerca Brave",
@@ -519,6 +520,7 @@
 	"Today": "Oggi",
 	"Toggle settings": "Attiva/disattiva impostazioni",
 	"Toggle sidebar": "Attiva/disattiva barra laterale",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/ja-JP/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "応答が悪い",
 	"Banners": "バナー",
 	"Base Model (From)": "ベースモデル(From)",
+	"Batch Size (num_batch)": "",
 	"before": "より前",
 	"Being lazy": "怠惰な",
 	"Brave Search API Key": "Brave Search APIキー",
@@ -517,6 +518,7 @@
 	"Today": "今日",
 	"Toggle settings": "設定を切り替え",
 	"Toggle sidebar": "サイドバーを切り替え",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "トップ K",
 	"Top P": "トップ P",

+ 2 - 0
src/lib/i18n/locales/ka-GE/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "ხარვეზი",
 	"Banners": "რეკლამა",
 	"Base Model (From)": "საბაზო მოდელი (-დან)",
+	"Batch Size (num_batch)": "",
 	"before": "ადგილზე",
 	"Being lazy": "ჩაიტყვევა",
 	"Brave Search API Key": "Brave Search API გასაღები",
@@ -518,6 +519,7 @@
 	"Today": "დღეს",
 	"Toggle settings": "პარამეტრების გადართვა",
 	"Toggle sidebar": "გვერდითი ზოლის გადართვა",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "ტოპ K",
 	"Top P": "ტოპ P",

+ 2 - 0
src/lib/i18n/locales/ko-KR/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "응답이 좋지 않습니다.",
 	"Banners": "배너",
 	"Base Model (From)": "기본 모델(시작)",
+	"Batch Size (num_batch)": "",
 	"before": "이전",
 	"Being lazy": "게으름 피우기",
 	"Brave Search API Key": "Brave Search API 키",
@@ -517,6 +518,7 @@
 	"Today": "오늘",
 	"Toggle settings": "설정 전환",
 	"Toggle sidebar": "사이드바 전환",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/lt-LT/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Neteisingas atsakymas",
 	"Banners": "",
 	"Base Model (From)": "",
+	"Batch Size (num_batch)": "",
 	"before": "prieš",
 	"Being lazy": "Būvimas tingiu",
 	"Brave Search API Key": "",
@@ -520,6 +521,7 @@
 	"Today": "Šiandien",
 	"Toggle settings": "Atverti/užverti parametrus",
 	"Toggle sidebar": "Atverti/užverti šoninį meniu",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/nb-NO/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Dårlig svar",
 	"Banners": "Bannere",
 	"Base Model (From)": "Grunnmodell (Fra)",
+	"Batch Size (num_batch)": "",
 	"before": "før",
 	"Being lazy": "Er lat",
 	"Brave Search API Key": "Brave Search API-nøkkel",
@@ -518,6 +519,7 @@
 	"Today": "I dag",
 	"Toggle settings": "Veksle innstillinger",
 	"Toggle sidebar": "Veksle sidefelt",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/nl-NL/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Ongeldig antwoord",
 	"Banners": "Banners",
 	"Base Model (From)": "Basismodel (vanaf)",
+	"Batch Size (num_batch)": "",
 	"before": "voor",
 	"Being lazy": "Lustig zijn",
 	"Brave Search API Key": "Brave Search API-sleutel",
@@ -518,6 +519,7 @@
 	"Today": "Vandaag",
 	"Toggle settings": "Wissel instellingen",
 	"Toggle sidebar": "Wissel sidebar",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/pa-IN/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "ਖਰਾਬ ਜਵਾਬ",
 	"Banners": "ਬੈਨਰ",
 	"Base Model (From)": "ਬੇਸ ਮਾਡਲ (ਤੋਂ)",
+	"Batch Size (num_batch)": "",
 	"before": "ਪਹਿਲਾਂ",
 	"Being lazy": "ਆਲਸੀ ਹੋਣਾ",
 	"Brave Search API Key": "ਬਹਾਦਰ ਖੋਜ API ਕੁੰਜੀ",
@@ -518,6 +519,7 @@
 	"Today": "ਅੱਜ",
 	"Toggle settings": "ਸੈਟਿੰਗਾਂ ਟੌਗਲ ਕਰੋ",
 	"Toggle sidebar": "ਸਾਈਡਬਾਰ ਟੌਗਲ ਕਰੋ",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "ਸਿਖਰ K",
 	"Top P": "ਸਿਖਰ P",

+ 2 - 0
src/lib/i18n/locales/pl-PL/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Zła odpowiedź",
 	"Banners": "Banery",
 	"Base Model (From)": "Model podstawowy (od)",
+	"Batch Size (num_batch)": "",
 	"before": "przed",
 	"Being lazy": "Jest leniwy",
 	"Brave Search API Key": "Klucz API wyszukiwania Brave",
@@ -520,6 +521,7 @@
 	"Today": "Dzisiaj",
 	"Toggle settings": "Przełącz ustawienia",
 	"Toggle sidebar": "Przełącz panel boczny",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Najlepsze K",
 	"Top P": "Najlepsze P",

+ 2 - 0
src/lib/i18n/locales/pt-BR/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Resposta ruim",
 	"Banners": "Banners",
 	"Base Model (From)": "Modelo Base (De)",
+	"Batch Size (num_batch)": "",
 	"before": "antes",
 	"Being lazy": "Ser preguiçoso",
 	"Brave Search API Key": "Chave da API de pesquisa do Brave",
@@ -519,6 +520,7 @@
 	"Today": "Hoje",
 	"Toggle settings": "Alternar configurações",
 	"Toggle sidebar": "Alternar barra lateral",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/pt-PT/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Resposta má",
 	"Banners": "Estandartes",
 	"Base Model (From)": "Modelo Base (De)",
+	"Batch Size (num_batch)": "",
 	"before": "antes",
 	"Being lazy": "Ser preguiçoso",
 	"Brave Search API Key": "Chave da API de Pesquisa Brave",
@@ -519,6 +520,7 @@
 	"Today": "Hoje",
 	"Toggle settings": "Alternar configurações",
 	"Toggle sidebar": "Alternar barra lateral",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/ru-RU/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Недопустимый ответ",
 	"Banners": "Баннеры",
 	"Base Model (From)": "Базовая модель (от)",
+	"Batch Size (num_batch)": "",
 	"before": "до",
 	"Being lazy": "ленивый",
 	"Brave Search API Key": "Ключ API поиска Brave",
@@ -520,6 +521,7 @@
 	"Today": "Сегодня",
 	"Toggle settings": "Переключить настройки",
 	"Toggle sidebar": "Переключить боковую панель",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/sr-RS/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Лош одговор",
 	"Banners": "Барјаке",
 	"Base Model (From)": "Основни модел (од)",
+	"Batch Size (num_batch)": "",
 	"before": "пре",
 	"Being lazy": "Бити лењ",
 	"Brave Search API Key": "Апи кључ за храбру претрагу",
@@ -519,6 +520,7 @@
 	"Today": "Данас",
 	"Toggle settings": "Пребаци подешавања",
 	"Toggle sidebar": "Пребаци бочну траку",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Топ К",
 	"Top P": "Топ П",

+ 2 - 0
src/lib/i18n/locales/sv-SE/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Felaktig respons",
 	"Banners": "Banners",
 	"Base Model (From)": "Basmodell (från)",
+	"Batch Size (num_batch)": "",
 	"before": "før",
 	"Being lazy": "Lägg till",
 	"Brave Search API Key": "API-nyckel för modig sökning",
@@ -518,6 +519,7 @@
 	"Today": "Idag",
 	"Toggle settings": "Växla inställningar",
 	"Toggle sidebar": "Växla sidofält",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Topp K",
 	"Top P": "Topp P",

+ 2 - 0
src/lib/i18n/locales/tk-TW/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "",
 	"Banners": "",
 	"Base Model (From)": "",
+	"Batch Size (num_batch)": "",
 	"before": "",
 	"Being lazy": "",
 	"Brave Search API Key": "",
@@ -518,6 +519,7 @@
 	"Today": "",
 	"Toggle settings": "",
 	"Toggle sidebar": "",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "",
 	"Top P": "",

+ 2 - 0
src/lib/i18n/locales/tr-TR/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Kötü Yanıt",
 	"Banners": "Afişler",
 	"Base Model (From)": "Temel Model ('den)",
+	"Batch Size (num_batch)": "",
 	"before": "önce",
 	"Being lazy": "Tembelleşiyor",
 	"Brave Search API Key": "Brave Search API Anahtarı",
@@ -518,6 +519,7 @@
 	"Today": "Bugün",
 	"Toggle settings": "Ayarları Aç/Kapat",
 	"Toggle sidebar": "Kenar Çubuğunu Aç/Kapat",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/uk-UA/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Неправильна відповідь",
 	"Banners": "Прапори",
 	"Base Model (From)": "Базова модель (від)",
+	"Batch Size (num_batch)": "",
 	"before": "до того, як",
 	"Being lazy": "Не поспішати",
 	"Brave Search API Key": "Ключ API пошуку Brave",
@@ -520,6 +521,7 @@
 	"Today": "Сьогодні",
 	"Toggle settings": "Переключити налаштування",
 	"Toggle sidebar": "Переключити бокову панель",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/vi-VN/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "Trả lời KHÔNG tốt",
 	"Banners": "Biểu ngữ",
 	"Base Model (From)": "Mô hình cơ sở (từ)",
+	"Batch Size (num_batch)": "",
 	"before": "trước",
 	"Being lazy": "Lười biếng",
 	"Brave Search API Key": "Khóa API tìm kiếm dũng cảm",
@@ -517,6 +518,7 @@
 	"Today": "Hôm nay",
 	"Toggle settings": "Bật/tắt cài đặt",
 	"Toggle sidebar": "Bật/tắt thanh bên",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/zh-CN/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "点踩回复",
 	"Banners": "公告横幅",
 	"Base Model (From)": "基础模型 (来自)",
+	"Batch Size (num_batch)": "",
 	"before": "对话",
 	"Being lazy": "懒惰",
 	"Brave Search API Key": "Brave Search API 密钥",
@@ -517,6 +518,7 @@
 	"Today": "今天",
 	"Toggle settings": "切换设置",
 	"Toggle sidebar": "切换侧边栏",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "工具",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/i18n/locales/zh-TW/translation.json

@@ -69,6 +69,7 @@
 	"Bad Response": "錯誤回應",
 	"Banners": "橫幅",
 	"Base Model (From)": "基本模型(來自)",
+	"Batch Size (num_batch)": "",
 	"before": "前",
 	"Being lazy": "懶人模式",
 	"Brave Search API Key": "搜尋 API Key",
@@ -517,6 +518,7 @@
 	"Today": "今天",
 	"Toggle settings": "切換設定",
 	"Toggle sidebar": "切換側邊欄",
+	"Tokens To Keep On Context Refresh (num_keep)": "",
 	"Tools": "",
 	"Top K": "Top K",
 	"Top P": "Top P",

+ 2 - 0
src/lib/stores/index.ts

@@ -92,6 +92,8 @@ type Settings = {
 	top_k?: string;
 	top_p?: string;
 	num_ctx?: string;
+	num_batch?: string;
+	num_keep?: string;
 	options?: ModelOptions;
 };