Prechádzať zdrojové kódy

Merge pull request #2789 from open-webui/dev

fix
Timothy Jaeryang Baek 11 mesiacov pred
rodič
commit
de162a1f32
40 zmenil súbory, kde vykonal 206 pridanie a 68 odobranie
  1. 16 2
      backend/apps/rag/main.py
  2. 27 16
      backend/apps/rag/utils.py
  3. 6 0
      backend/config.py
  4. 1 0
      src/lib/apis/rag/index.ts
  5. 28 1
      src/lib/components/documents/Settings/General.svelte
  6. 1 0
      src/lib/i18n/locales/ar-BH/translation.json
  7. 1 0
      src/lib/i18n/locales/bg-BG/translation.json
  8. 1 0
      src/lib/i18n/locales/bn-BD/translation.json
  9. 1 0
      src/lib/i18n/locales/ca-ES/translation.json
  10. 1 0
      src/lib/i18n/locales/ceb-PH/translation.json
  11. 1 0
      src/lib/i18n/locales/de-DE/translation.json
  12. 1 0
      src/lib/i18n/locales/dg-DG/translation.json
  13. 1 0
      src/lib/i18n/locales/en-GB/translation.json
  14. 1 0
      src/lib/i18n/locales/en-US/translation.json
  15. 1 0
      src/lib/i18n/locales/es-ES/translation.json
  16. 1 0
      src/lib/i18n/locales/fa-IR/translation.json
  17. 1 0
      src/lib/i18n/locales/fi-FI/translation.json
  18. 1 0
      src/lib/i18n/locales/fr-CA/translation.json
  19. 1 0
      src/lib/i18n/locales/fr-FR/translation.json
  20. 1 0
      src/lib/i18n/locales/he-IL/translation.json
  21. 1 0
      src/lib/i18n/locales/hi-IN/translation.json
  22. 1 0
      src/lib/i18n/locales/hr-HR/translation.json
  23. 1 0
      src/lib/i18n/locales/it-IT/translation.json
  24. 1 0
      src/lib/i18n/locales/ja-JP/translation.json
  25. 1 0
      src/lib/i18n/locales/ka-GE/translation.json
  26. 1 0
      src/lib/i18n/locales/ko-KR/translation.json
  27. 94 49
      src/lib/i18n/locales/lt-LT/translation.json
  28. 1 0
      src/lib/i18n/locales/nl-NL/translation.json
  29. 1 0
      src/lib/i18n/locales/pa-IN/translation.json
  30. 1 0
      src/lib/i18n/locales/pl-PL/translation.json
  31. 1 0
      src/lib/i18n/locales/pt-BR/translation.json
  32. 1 0
      src/lib/i18n/locales/pt-PT/translation.json
  33. 1 0
      src/lib/i18n/locales/ru-RU/translation.json
  34. 1 0
      src/lib/i18n/locales/sr-RS/translation.json
  35. 1 0
      src/lib/i18n/locales/sv-SE/translation.json
  36. 1 0
      src/lib/i18n/locales/tr-TR/translation.json
  37. 1 0
      src/lib/i18n/locales/uk-UA/translation.json
  38. 1 0
      src/lib/i18n/locales/vi-VN/translation.json
  39. 1 0
      src/lib/i18n/locales/zh-CN/translation.json
  40. 1 0
      src/lib/i18n/locales/zh-TW/translation.json

+ 16 - 2
backend/apps/rag/main.py

@@ -78,6 +78,7 @@ from utils.misc import (
 from utils.utils import get_current_user, get_admin_user
 
 from config import (
+    AppConfig,
     ENV,
     SRC_LOG_LEVELS,
     UPLOAD_DIR,
@@ -114,7 +115,7 @@ from config import (
     SERPER_API_KEY,
     RAG_WEB_SEARCH_RESULT_COUNT,
     RAG_WEB_SEARCH_CONCURRENT_REQUESTS,
-    AppConfig,
+    RAG_EMBEDDING_OPENAI_BATCH_SIZE,
 )
 
 from constants import ERROR_MESSAGES
@@ -139,6 +140,7 @@ app.state.config.CHUNK_OVERLAP = CHUNK_OVERLAP
 
 app.state.config.RAG_EMBEDDING_ENGINE = RAG_EMBEDDING_ENGINE
 app.state.config.RAG_EMBEDDING_MODEL = RAG_EMBEDDING_MODEL
+app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE = RAG_EMBEDDING_OPENAI_BATCH_SIZE
 app.state.config.RAG_RERANKING_MODEL = RAG_RERANKING_MODEL
 app.state.config.RAG_TEMPLATE = RAG_TEMPLATE
 
@@ -212,6 +214,7 @@ app.state.EMBEDDING_FUNCTION = get_embedding_function(
     app.state.sentence_transformer_ef,
     app.state.config.OPENAI_API_KEY,
     app.state.config.OPENAI_API_BASE_URL,
+    app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE,
 )
 
 origins = ["*"]
@@ -248,6 +251,7 @@ async def get_status():
         "embedding_engine": app.state.config.RAG_EMBEDDING_ENGINE,
         "embedding_model": app.state.config.RAG_EMBEDDING_MODEL,
         "reranking_model": app.state.config.RAG_RERANKING_MODEL,
+        "openai_batch_size": app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE,
     }
 
 
@@ -260,6 +264,7 @@ async def get_embedding_config(user=Depends(get_admin_user)):
         "openai_config": {
             "url": app.state.config.OPENAI_API_BASE_URL,
             "key": app.state.config.OPENAI_API_KEY,
+            "batch_size": app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE,
         },
     }
 
@@ -275,6 +280,7 @@ async def get_reraanking_config(user=Depends(get_admin_user)):
 class OpenAIConfigForm(BaseModel):
     url: str
     key: str
+    batch_size: Optional[int] = None
 
 
 class EmbeddingModelUpdateForm(BaseModel):
@@ -295,9 +301,14 @@ async def update_embedding_config(
         app.state.config.RAG_EMBEDDING_MODEL = form_data.embedding_model
 
         if app.state.config.RAG_EMBEDDING_ENGINE in ["ollama", "openai"]:
-            if form_data.openai_config != None:
+            if form_data.openai_config is not None:
                 app.state.config.OPENAI_API_BASE_URL = form_data.openai_config.url
                 app.state.config.OPENAI_API_KEY = form_data.openai_config.key
+                app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE = (
+                    form_data.openai_config.batch_size
+                    if form_data.openai_config.batch_size
+                    else 1
+                )
 
         update_embedding_model(app.state.config.RAG_EMBEDDING_MODEL)
 
@@ -307,6 +318,7 @@ async def update_embedding_config(
             app.state.sentence_transformer_ef,
             app.state.config.OPENAI_API_KEY,
             app.state.config.OPENAI_API_BASE_URL,
+            app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE,
         )
 
         return {
@@ -316,6 +328,7 @@ async def update_embedding_config(
             "openai_config": {
                 "url": app.state.config.OPENAI_API_BASE_URL,
                 "key": app.state.config.OPENAI_API_KEY,
+                "batch_size": app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE,
             },
         }
     except Exception as e:
@@ -881,6 +894,7 @@ def store_docs_in_vector_db(docs, collection_name, overwrite: bool = False) -> b
             app.state.sentence_transformer_ef,
             app.state.config.OPENAI_API_KEY,
             app.state.config.OPENAI_API_BASE_URL,
+            app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE,
         )
 
         embedding_texts = list(map(lambda x: x.replace("\n", " "), texts))

+ 27 - 16
backend/apps/rag/utils.py

@@ -2,7 +2,7 @@ import os
 import logging
 import requests
 
-from typing import List
+from typing import List, Union
 
 from apps.ollama.main import (
     generate_ollama_embeddings,
@@ -21,17 +21,7 @@ from langchain.retrievers import (
 from typing import Optional
 
 
-from config import (
-    SRC_LOG_LEVELS,
-    CHROMA_CLIENT,
-    SEARXNG_QUERY_URL,
-    GOOGLE_PSE_API_KEY,
-    GOOGLE_PSE_ENGINE_ID,
-    BRAVE_SEARCH_API_KEY,
-    SERPSTACK_API_KEY,
-    SERPSTACK_HTTPS,
-    SERPER_API_KEY,
-)
+from config import SRC_LOG_LEVELS, CHROMA_CLIENT
 
 log = logging.getLogger(__name__)
 log.setLevel(SRC_LOG_LEVELS["RAG"])
@@ -209,6 +199,7 @@ def get_embedding_function(
     embedding_function,
     openai_key,
     openai_url,
+    batch_size,
 ):
     if embedding_engine == "":
         return lambda query: embedding_function.encode(query).tolist()
@@ -232,7 +223,13 @@ def get_embedding_function(
 
         def generate_multiple(query, f):
             if isinstance(query, list):
-                return [f(q) for q in query]
+                if embedding_engine == "openai":
+                    embeddings = []
+                    for i in range(0, len(query), batch_size):
+                        embeddings.extend(f(query[i : i + batch_size]))
+                    return embeddings
+                else:
+                    return [f(q) for q in query]
             else:
                 return f(query)
 
@@ -413,8 +410,22 @@ def get_model_path(model: str, update_model: bool = False):
 
 
 def generate_openai_embeddings(
-    model: str, text: str, key: str, url: str = "https://api.openai.com/v1"
+    model: str,
+    text: Union[str, list[str]],
+    key: str,
+    url: str = "https://api.openai.com/v1",
 ):
+    if isinstance(text, list):
+        embeddings = generate_openai_batch_embeddings(model, text, key, url)
+    else:
+        embeddings = generate_openai_batch_embeddings(model, [text], key, url)
+
+    return embeddings[0] if isinstance(text, str) else embeddings
+
+
+def generate_openai_batch_embeddings(
+    model: str, texts: list[str], key: str, url: str = "https://api.openai.com/v1"
+) -> Optional[list[list[float]]]:
     try:
         r = requests.post(
             f"{url}/embeddings",
@@ -422,12 +433,12 @@ def generate_openai_embeddings(
                 "Content-Type": "application/json",
                 "Authorization": f"Bearer {key}",
             },
-            json={"input": text, "model": model},
+            json={"input": texts, "model": model},
         )
         r.raise_for_status()
         data = r.json()
         if "data" in data:
-            return data["data"][0]["embedding"]
+            return [elem["embedding"] for elem in data["data"]]
         else:
             raise "Something went wrong :/"
     except Exception as e:

+ 6 - 0
backend/config.py

@@ -683,6 +683,12 @@ RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE = (
     os.environ.get("RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE", "").lower() == "true"
 )
 
+RAG_EMBEDDING_OPENAI_BATCH_SIZE = PersistentConfig(
+    "RAG_EMBEDDING_OPENAI_BATCH_SIZE",
+    "rag.embedding_openai_batch_size",
+    os.environ.get("RAG_EMBEDDING_OPENAI_BATCH_SIZE", 1),
+)
+
 RAG_RERANKING_MODEL = PersistentConfig(
     "RAG_RERANKING_MODEL",
     "rag.reranking_model",

+ 1 - 0
src/lib/apis/rag/index.ts

@@ -415,6 +415,7 @@ export const getEmbeddingConfig = async (token: string) => {
 type OpenAIConfigForm = {
 	key: string;
 	url: string;
+	batch_size: number;
 };
 
 type EmbeddingModelUpdateForm = {

+ 28 - 1
src/lib/components/documents/Settings/General.svelte

@@ -31,6 +31,7 @@
 
 	let OpenAIKey = '';
 	let OpenAIUrl = '';
+	let OpenAIBatchSize = 1;
 
 	let querySettings = {
 		template: '',
@@ -92,7 +93,8 @@
 				? {
 						openai_config: {
 							key: OpenAIKey,
-							url: OpenAIUrl
+							url: OpenAIUrl,
+							batch_size: OpenAIBatchSize
 						}
 				  }
 				: {})
@@ -159,6 +161,7 @@
 
 			OpenAIKey = embeddingConfig.openai_config.key;
 			OpenAIUrl = embeddingConfig.openai_config.url;
+			OpenAIBatchSize = embeddingConfig.openai_config.batch_size ?? 1;
 		}
 	};
 
@@ -282,6 +285,30 @@
 						required
 					/>
 				</div>
+				<div class="flex mt-0.5 space-x-2">
+					<div class=" self-center text-xs font-medium">{$i18n.t('Embedding Batch Size')}</div>
+					<div class=" flex-1">
+						<input
+							id="steps-range"
+							type="range"
+							min="1"
+							max="2048"
+							step="1"
+							bind:value={OpenAIBatchSize}
+							class="w-full h-2 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
+						/>
+					</div>
+					<div class="">
+						<input
+							bind:value={OpenAIBatchSize}
+							type="number"
+							class=" bg-transparent text-center w-14"
+							min="-2"
+							max="16000"
+							step="1"
+						/>
+					</div>
+				</div>
 			{/if}
 
 			<div class=" flex w-full justify-between">

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "تعديل الملف",
 	"Edit User": "تعديل المستخدم",
 	"Email": "البريد",
+	"Embedding Batch Size": "",
 	"Embedding Model": "نموذج التضمين",
 	"Embedding Model Engine": "تضمين محرك النموذج",
 	"Embedding model set to \"{{embedding_model}}\"": "تم تعيين نموذج التضمين على \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Редактиране на документ",
 	"Edit User": "Редактиране на потребител",
 	"Email": "Имейл",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Модел за вграждане",
 	"Embedding Model Engine": "Модел за вграждане",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел за вграждане е настроен на \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "ডকুমেন্ট এডিট করুন",
 	"Edit User": "ইউজার এডিট করুন",
 	"Email": "ইমেইল",
+	"Embedding Batch Size": "",
 	"Embedding Model": "ইমেজ ইমেবডিং মডেল",
 	"Embedding Model Engine": "ইমেজ ইমেবডিং মডেল ইঞ্জিন",
 	"Embedding model set to \"{{embedding_model}}\"": "ইমেজ ইমেবডিং মডেল সেট করা হয়েছে - \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Edita Document",
 	"Edit User": "Edita Usuari",
 	"Email": "Correu electrònic",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Model d'embutiment",
 	"Embedding Model Engine": "Motor de model d'embutiment",
 	"Embedding model set to \"{{embedding_model}}\"": "Model d'embutiment configurat a \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "I-edit ang dokumento",
 	"Edit User": "I-edit ang tiggamit",
 	"Email": "E-mail",
+	"Embedding Batch Size": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Dokument bearbeiten",
 	"Edit User": "Benutzer bearbeiten",
 	"Email": "E-Mail",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Embedding-Modell",
 	"Embedding Model Engine": "Embedding-Modell-Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding-Modell auf \"{{embedding_model}}\" gesetzt",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Edit Doge",
 	"Edit User": "Edit Wowser",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "",
 	"Edit User": "",
 	"Email": "",
+	"Embedding Batch Size": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "",
 	"Edit User": "",
 	"Email": "",
+	"Embedding Batch Size": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Editar Documento",
 	"Edit User": "Editar Usuario",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "ویرایش سند",
 	"Edit User": "ویرایش کاربر",
 	"Email": "ایمیل",
+	"Embedding Batch Size": "",
 	"Embedding Model": "مدل پیدائش",
 	"Embedding Model Engine": "محرک مدل پیدائش",
 	"Embedding model set to \"{{embedding_model}}\"": "مدل پیدائش را به \"{{embedding_model}}\" تنظیم کنید",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Muokkaa asiakirjaa",
 	"Edit User": "Muokkaa käyttäjää",
 	"Email": "Sähköposti",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Upotusmalli",
 	"Embedding Model Engine": "Upotusmallin moottori",
 	"Embedding model set to \"{{embedding_model}}\"": "\"{{embedding_model}}\" valittu upotusmalliksi",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Éditer le document",
 	"Edit User": "Éditer l'utilisateur",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model Engine": "Moteur du modèle d'embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'embedding défini sur \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Éditer le document",
 	"Edit User": "Éditer l'utilisateur",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Modèle pour l'Embedding",
 	"Embedding Model Engine": "Moteur du Modèle d'Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'embedding défini sur \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "ערוך מסמך",
 	"Edit User": "ערוך משתמש",
 	"Email": "דוא\"ל",
+	"Embedding Batch Size": "",
 	"Embedding Model": "מודל הטמעה",
 	"Embedding Model Engine": "מנוע מודל הטמעה",
 	"Embedding model set to \"{{embedding_model}}\"": "מודל ההטמעה הוגדר ל-\"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "दस्तावेज़ संपादित करें",
 	"Edit User": "यूजर को संपादित करो",
 	"Email": "ईमेल",
+	"Embedding Batch Size": "",
 	"Embedding Model": "मॉडेल अनुकूलन",
 	"Embedding Model Engine": "एंबेडिंग मॉडल इंजन",
 	"Embedding model set to \"{{embedding_model}}\"": "एम्बेडिंग मॉडल को \"{{embedding_model}}\" पर सेट किया गया",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Uredi dokument",
 	"Edit User": "Uredi korisnika",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Embedding model",
 	"Embedding Model Engine": "Embedding model pogon",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model postavljen na \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Modifica documento",
 	"Edit User": "Modifica utente",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Modello di embedding",
 	"Embedding Model Engine": "Motore del modello di embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modello di embedding impostato su \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "ドキュメントを編集",
 	"Edit User": "ユーザーを編集",
 	"Email": "メールアドレス",
+	"Embedding Batch Size": "",
 	"Embedding Model": "埋め込みモデル",
 	"Embedding Model Engine": "埋め込みモデルエンジン",
 	"Embedding model set to \"{{embedding_model}}\"": "埋め込みモデルを\"{{embedding_model}}\"に設定しました",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "დოკუმენტის ედიტირება",
 	"Edit User": "მომხმარებლის ედიტირება",
 	"Email": "ელ-ფოსტა",
+	"Embedding Batch Size": "",
 	"Embedding Model": "ჩასმის ძირითადი პროგრამა",
 	"Embedding Model Engine": "ჩასმის ძირითადი პროგრამა",
 	"Embedding model set to \"{{embedding_model}}\"": "ჩასმის ძირითადი პროგრამა ჩართულია \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "문서 편집",
 	"Edit User": "사용자 편집",
 	"Email": "이메일",
+	"Embedding Batch Size": "",
 	"Embedding Model": "임베딩 모델",
 	"Embedding Model Engine": "임베딩 모델 엔진",
 	"Embedding model set to \"{{embedding_model}}\"": "임베딩 모델을 \"{{embedding_model}}\"로 설정됨",

+ 94 - 49
src/lib/i18n/locales/lt-LT/translation.json

@@ -3,21 +3,25 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(pvz. `sh webui.sh --api`)",
 	"(latest)": "(naujausias)",
+	"{{ models }}": "",
+	"{{ owner }}: You cannot delete a base model": "",
 	"{{modelName}} is thinking...": "{{modelName}} mąsto...",
 	"{{user}}'s Chats": "{{user}} susirašinėjimai",
 	"{{webUIName}} Backend Required": "{{webUIName}} būtinas serveris",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
 	"a user": "naudotojas",
 	"About": "Apie",
 	"Account": "Paskyra",
 	"Accurate information": "Tiksli informacija",
-	"Add a model": "Pridėti modelį",
-	"Add a model tag name": "Pridėti žymą modeliui",
-	"Add a short description about what this modelfile does": "Pridėti trumpą šio dokumento aprašymą",
+	"Add": "",
+	"Add a model id": "",
+	"Add a short description about what this model does": "",
 	"Add a short title for this prompt": "Pridėti trumpą šios užklausos pavadinimą",
 	"Add a tag": "Pridėti žymą",
 	"Add custom prompt": "Pridėti užklausos šabloną",
 	"Add Docs": "Pridėti dokumentų",
 	"Add Files": "Pridėti failus",
+	"Add Memory": "",
 	"Add message": "Pridėti žinutę",
 	"Add Model": "Pridėti modelį",
 	"Add Tags": "Pridėti žymas",
@@ -27,11 +31,13 @@
 	"Admin Panel": "Administratorių panelė",
 	"Admin Settings": "Administratorių nustatymai",
 	"Advanced Parameters": "Gilieji nustatymai",
+	"Advanced Params": "",
 	"all": "visi",
 	"All Documents": "Visi dokumentai",
 	"All Users": "Visi naudotojai",
 	"Allow": "Leisti",
 	"Allow Chat Deletion": "Leisti pokalbių ištrynimą",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "skaičiai, raidės ir brūkšneliai",
 	"Already have an account?": "Ar jau turite paskyrą?",
 	"an assistant": "assistentas",
@@ -41,9 +47,9 @@
 	"API Key": "API raktas",
 	"API Key created.": "API raktas sukurtas",
 	"API keys": "API raktai",
-	"API RPM": "RPM API",
 	"April": "Balandis",
 	"Archive": "Archyvai",
+	"Archive All Chats": "",
 	"Archived Chats": "Archyvuoti pokalbiai",
 	"are allowed - Activate this command by typing": "leistina - aktyvuokite komandą rašydami",
 	"Are you sure?": "Are esate tikri?",
@@ -58,14 +64,18 @@
 	"available!": "prieinama!",
 	"Back": "Atgal",
 	"Bad Response": "Neteisingas atsakymas",
+	"Banners": "",
+	"Base Model (From)": "",
 	"before": "prieš",
 	"Being lazy": "Būvimas tingiu",
-	"Builder Mode": "Statytojo rėžimas",
+	"Brave Search API Key": "",
 	"Bypass SSL verification for Websites": "Išvengti SSL patikros puslapiams",
 	"Cancel": "Atšaukti",
-	"Categories": "Kategorijos",
+	"Capabilities": "",
 	"Change Password": "Keisti slaptažodį",
 	"Chat": "Pokalbis",
+	"Chat Bubble UI": "",
+	"Chat direction": "",
 	"Chat History": "Pokalbių istorija",
 	"Chat History is off for this browser.": "Šioje naršyklėje pokalbių istorija išjungta.",
 	"Chats": "Pokalbiai",
@@ -79,18 +89,19 @@
 	"Citation": "Citata",
 	"Click here for help.": "Paspauskite čia dėl pagalbos.",
 	"Click here to": "Paspauskite čia, kad:",
-	"Click here to check other modelfiles.": "Paspauskite čia norėdami ieškoti modelių failų.",
 	"Click here to select": "Spauskite čia norėdami pasirinkti",
 	"Click here to select a csv file.": "Spauskite čia tam, kad pasirinkti csv failą",
 	"Click here to select documents.": "Spauskite čia norėdami pasirinkti dokumentus.",
 	"click here.": "paspauskite čia.",
 	"Click on the user role button to change a user's role.": "Paspauskite ant naudotojo rolės mygtuko tam, kad pakeisti naudotojo rolę.",
+	"Clone": "",
 	"Close": "Uždaryti",
 	"Collection": "Kolekcija",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI bazės nuoroda",
 	"ComfyUI Base URL is required.": "ComfyUI bazės nuoroda privaloma",
 	"Command": "Command",
+	"Concurrent Requests": "",
 	"Confirm Password": "Patvirtinkite slaptažodį",
 	"Connections": "Ryšiai",
 	"Content": "Turinys",
@@ -104,7 +115,7 @@
 	"Copy Link": "Kopijuoti nuorodą",
 	"Copying to clipboard was successful!": "La copie dans le presse-papiers a réussi !",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Créez une phrase concise de 3-5 mots comme en-tête pour la requête suivante, en respectant strictement la limite de 3-5 mots et en évitant l'utilisation du mot 'titre' :",
-	"Create a modelfile": "Créer un fichier de modèle",
+	"Create a model": "",
 	"Create Account": "Créer un compte",
 	"Create new key": "Sukurti naują raktą",
 	"Create new secret key": "Sukurti naują slaptą raktą",
@@ -113,33 +124,32 @@
 	"Current Model": "Dabartinis modelis",
 	"Current Password": "Esamas slaptažodis",
 	"Custom": "Personalizuota",
-	"Customize Ollama models for a specific purpose": "Personalizuoti Ollama modelius",
+	"Customize models for a specific purpose": "",
 	"Dark": "Tamsus",
-	"Dashboard": "Skydelis",
 	"Database": "Duomenų bazė",
-	"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
 	"December": "Gruodis",
 	"Default": "Numatytasis",
 	"Default (Automatic1111)": "Numatytasis (Automatic1111)",
 	"Default (SentenceTransformers)": "Numatytasis (SentenceTransformers)",
 	"Default (Web API)": "Numatytasis (API Web)",
+	"Default Model": "",
 	"Default model updated": "Numatytasis modelis atnaujintas",
 	"Default Prompt Suggestions": "Numatytieji užklausų pasiūlymai",
 	"Default User Role": "Numatytoji naudotojo rolė",
 	"delete": "ištrinti",
 	"Delete": "ištrinti",
 	"Delete a model": "Ištrinti modėlį",
+	"Delete All Chats": "",
 	"Delete chat": "Išrinti pokalbį",
 	"Delete Chat": "Ištrinti pokalbį",
-	"Delete Chats": "Ištrinti pokalbį",
 	"delete this link": "Ištrinti nuorodą",
 	"Delete User": "Ištrinti naudotoją",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} ištrinta",
-	"Deleted {{tagName}}": "{{tagName}} ištrinta",
+	"Deleted {{name}}": "",
 	"Description": "Aprašymas",
 	"Didn't fully follow instructions": "Pilnai nesekė instrukcijų",
 	"Disabled": "Neaktyvuota",
-	"Discover a modelfile": "Atrasti modelio failą",
+	"Discover a model": "",
 	"Discover a prompt": "Atrasti užklausas",
 	"Discover, download, and explore custom prompts": "Atrasti ir parsisiųsti užklausas",
 	"Discover, download, and explore model presets": "Atrasti ir parsisiųsti modelių konfigūracija",
@@ -160,26 +170,32 @@
 	"Edit Doc": "Redaguoti dokumentą",
 	"Edit User": "Redaguoti naudotoją",
 	"Email": "El. paštas",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Embedding modelis",
 	"Embedding Model Engine": "Embedding modelio variklis",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding modelis nustatytas kaip\"{{embedding_model}}\"",
 	"Enable Chat History": "Aktyvuoti pokalbių istoriją",
+	"Enable Community Sharing": "",
 	"Enable New Sign Ups": "Aktyvuoti naujas registracijas",
+	"Enable Web Search": "",
 	"Enabled": "Aktyvuota",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Įsitikinkite, kad CSV failas turi 4 kolonas šiuo eiliškumu: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "Įveskite {{role}} žinutę čia",
+	"Enter a detail about yourself for your LLMs to recall": "",
+	"Enter Brave Search API Key": "",
 	"Enter Chunk Overlap": "Įveskite blokų persidengimą",
 	"Enter Chunk Size": "Įveskite blokų dydį",
+	"Enter Github Raw URL": "",
+	"Enter Google PSE API Key": "",
+	"Enter Google PSE Engine Id": "",
 	"Enter Image Size (e.g. 512x512)": "Įveskite paveiksliuko dydį (pvz. 512x512)",
 	"Enter language codes": "Įveskite kalbos kodus",
-	"Enter LiteLLM API Base URL (litellm_params.api_base)": "Lite LLM API nuoroda (litellm_params.api_base)",
-	"Enter LiteLLM API Key (litellm_params.api_key)": "Lite LLM API raktas (litellm_params.api_key)",
-	"Enter LiteLLM API RPM (litellm_params.rpm)": "Lite LLM API RPM (litellm_params.rpm)",
-	"Enter LiteLLM Model (litellm_params.model)": "LiteLLM modelis (litellm_params.model)",
-	"Enter Max Tokens (litellm_params.max_tokens)": "Įveskite maksimalų žetonų skaičių (litellm_params.max_tokens)",
 	"Enter model tag (e.g. {{modelTag}})": "Įveskite modelio žymą (pvz. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Įveskite žingsnių kiekį (pvz. 50)",
 	"Enter Score": "Įveskite rezultatą",
+	"Enter Searxng Query URL": "",
+	"Enter Serper API Key": "",
+	"Enter Serpstack API Key": "",
 	"Enter stop sequence": "Įveskite pabaigos sekvenciją",
 	"Enter Top K": "Įveskite Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Įveskite nuorodą (pvz. http://127.0.0.1:7860/)",
@@ -188,11 +204,14 @@
 	"Enter Your Full Name": "Įveskite vardą bei pavardę",
 	"Enter Your Password": "Įveskite slaptažodį",
 	"Enter Your Role": "Įveskite savo rolę",
+	"Error": "",
 	"Experimental": "Eksperimentinis",
+	"Export": "",
 	"Export All Chats (All Users)": "Eksportuoti visų naudotojų visus pokalbius",
+	"Export chat (.json)": "",
 	"Export Chats": "Eksportuoti pokalbius",
 	"Export Documents Mapping": "Eksportuoti dokumentų žemėlapį",
-	"Export Modelfiles": "Eksportuoti modelių failus",
+	"Export Models": "",
 	"Export Prompts": "Eksportuoti užklausas",
 	"Failed to create API Key.": "Nepavyko sukurti API rakto",
 	"Failed to read clipboard contents": "Nepavyko perskaityti kopijuoklės",
@@ -205,17 +224,20 @@
 	"Focus chat input": "Fokusuoti žinutės įvestį",
 	"Followed instructions perfectly": "Tobulai sekė instrukcijas",
 	"Format your variables using square brackets like this:": "Formatuokite kintamuosius su kvadratiniais skliausteliais:",
-	"From (Base Model)": "Iš (bazinis modelis)",
+	"Frequency Penalty": "",
 	"Full Screen Mode": "Pilno ekrano rėžimas",
 	"General": "Bendri",
 	"General Settings": "Bendri nustatymai",
+	"Generating search query": "",
 	"Generation Info": "Generavimo informacija",
 	"Good Response": "Geras atsakymas",
+	"Google PSE API Key": "",
+	"Google PSE Engine Id": "",
+	"h:mm a": "",
 	"has no conversations.": "neturi pokalbių",
 	"Hello, {{name}}": "Sveiki, {{name}}",
 	"Help": "Pagalba",
 	"Hide": "Paslėpti",
-	"Hide Additional Params": "Pridėti papildomus parametrus",
 	"How can I help you today?": "Kuo galėčiau Jums padėti ?",
 	"Hybrid Search": "Hibridinė paieška",
 	"Image Generation (Experimental)": "Vaizdų generavimas (eksperimentinis)",
@@ -224,15 +246,18 @@
 	"Images": "Vaizdai",
 	"Import Chats": "Importuoti pokalbius",
 	"Import Documents Mapping": "Importuoti dokumentų žemėlapį",
-	"Import Modelfiles": "Importuoti modelio failus",
+	"Import Models": "",
 	"Import Prompts": "Importuoti užklausas",
 	"Include `--api` flag when running stable-diffusion-webui": "Pridėti `--api` kai vykdomas stable-diffusion-webui",
+	"Info": "",
 	"Input commands": "Įvesties komandos",
+	"Install from Github URL": "",
 	"Interface": "Sąsaja",
 	"Invalid Tag": "Neteisinga žyma",
 	"January": "Sausis",
 	"join our Discord for help.": "prisijunkite prie mūsų Discord.",
 	"JSON": "JSON",
+	"JSON Preview": "",
 	"July": "liepa",
 	"June": "birželis",
 	"JWT Expiration": "JWT išėjimas iš galiojimo",
@@ -244,16 +269,19 @@
 	"Light": "Šviesus",
 	"Listening...": "Klauso...",
 	"LLMs can make mistakes. Verify important information.": "Dideli kalbos modeliai gali klysti. Patikrinkite atsakymų teisingumą.",
+	"LTR": "",
 	"Made by OpenWebUI Community": "Sukurta OpenWebUI bendruomenės",
 	"Make sure to enclose them with": "Užtikrinktie, kad įtraukiate viduje:",
-	"Manage LiteLLM Models": "Tvarkyti LiteLLM modelus",
 	"Manage Models": "Tvarkyti modelius",
 	"Manage Ollama Models": "Tvarkyti Ollama modelius",
+	"Manage Pipelines": "",
 	"March": "Kovas",
-	"Max Tokens": "Maksimalūs žetonai",
+	"Max Tokens (num_predict)": "",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Daugiausiai trys modeliai gali būti parsisiunčiami vienu metu.",
 	"May": "gegužė",
-	"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "Žinutės, kurias siunčia po pasidalinimo nebus matomos nuorodos turėtojams.",
+	"Memories accessible by LLMs will be shown here.": "",
+	"Memory": "",
+	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "",
 	"Minimum Score": "Minimalus rezultatas",
 	"Mirostat": "Mirostat",
 	"Mirostat Eta": "Mirostat Eta",
@@ -263,41 +291,38 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "'{{modelName}}' modelis sėkmingai atsisiųstas.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Modelis '{{modelTag}}' jau atsisiuntimų eilėje.",
 	"Model {{modelId}} not found": "Modelis {{modelId}} nerastas",
-	"Model {{modelName}} already exists.": "Modelis {{modelName}} jau egzistuoja.",
+	"Model {{modelName}} is not vision capable": "",
+	"Model {{name}} is now {{status}}": "",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modelio failų sistemos kelias aptiktas. Reikalingas trumpas modelio pavadinimas atnaujinimui.",
-	"Model Name": "Modelio pavadinimas",
+	"Model ID": "",
 	"Model not selected": "Modelis nepasirinktas",
-	"Model Tag Name": "Modelio žymos pavadinimas",
+	"Model Params": "",
 	"Model Whitelisting": "Modeliu baltasis sąrašas",
 	"Model(s) Whitelisted": "Modelis baltąjame sąraše",
-	"Modelfile": "Modelio failas",
-	"Modelfile Advanced Settings": "Pažengę nustatymai",
 	"Modelfile Content": "Modelio failo turinys",
-	"Modelfiles": "Modelio failai",
 	"Models": "Modeliai",
 	"More": "Daugiau",
-	"My Documents": "Mano dokumentai",
-	"My Modelfiles": "Mano modelių failai",
-	"My Prompts": "Mano užklausos",
 	"Name": "Pavadinimas",
 	"Name Tag": "Žymos pavadinimas",
-	"Name your modelfile": "Modelio failo pavadinimas",
+	"Name your model": "",
 	"New Chat": "Naujas pokalbis",
 	"New Password": "Naujas slaptažodis",
 	"No results found": "Rezultatų nerasta",
+	"No search query generated": "",
 	"No source available": "Šaltinių nerasta",
+	"None": "",
 	"Not factually correct": "Faktiškai netikslu",
-	"Not sure what to add?": "Nežinote ką pridėti ?",
-	"Not sure what to write? Switch to": "Nežinoti ką rašyti ? Pakeiskite į",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Jei turite minimalų įvertį, paieška gražins tik tą informaciją, kuri viršyje šį įvertį",
 	"Notifications": "Pranešimai",
 	"November": "lapkritis",
+	"num_thread (Ollama)": "",
 	"October": "spalis",
 	"Off": "Išjungta",
 	"Okay, Let's Go!": "Gerai, važiuojam!",
 	"OLED Dark": "OLED tamsus",
 	"Ollama": "Ollama",
-	"Ollama Base URL": "Ollama nuoroda",
+	"Ollama API": "",
+	"Ollama API disabled": "",
 	"Ollama Version": "Ollama versija",
 	"On": "Aktyvuota",
 	"Only": "Tiktais",
@@ -316,13 +341,14 @@
 	"OpenAI URL/Key required.": "OpenAI API nuoroda ir raktas būtini",
 	"or": "arba",
 	"Other": "Kita",
-	"Overview": "Apžvalga",
-	"Parameters": "Nustatymai",
 	"Password": "Slaptažodis",
 	"PDF document (.pdf)": "PDF dokumentas (.pdf)",
 	"PDF Extract Images (OCR)": "PDF paveikslėlių skaitymas (OCR)",
 	"pending": "laukiama",
 	"Permission denied when accessing microphone: {{error}}": "Leidimas naudoti mikrofoną atmestas: {{error}}",
+	"Personalization": "",
+	"Pipelines": "",
+	"Pipelines Valves": "",
 	"Plain text (.txt)": "Grynas tekstas (.txt)",
 	"Playground": "Eksperimentavimo erdvė",
 	"Positive attitude": "Pozityvus elgesys",
@@ -336,10 +362,8 @@
 	"Prompts": "Užklausos",
 	"Pull \"{{searchValue}}\" from Ollama.com": "Rasti \"{{searchValue}}\" iš Ollama.com",
 	"Pull a model from Ollama.com": "Gauti modelį iš Ollama.com",
-	"Pull Progress": "Parsisintimo progresas",
 	"Query Params": "Užklausos parametrai",
 	"RAG Template": "RAG šablonas",
-	"Raw Format": "Grynasis formatas",
 	"Read Aloud": "Skaityti garsiai",
 	"Record voice": "Įrašyti balsą",
 	"Redirecting you to OpenWebUI Community": "Perkeliam Jus į OpenWebUI bendruomenę",
@@ -350,7 +374,6 @@
 	"Remove Model": "Pašalinti modelį",
 	"Rename": "Pervadinti",
 	"Repeat Last N": "Pakartoti paskutinius N",
-	"Repeat Penalty": "Kartojimosi bauda",
 	"Request Mode": "Užklausos rėžimas",
 	"Reranking Model": "Reranking modelis",
 	"Reranking model disabled": "Reranking modelis neleidžiamas",
@@ -360,9 +383,9 @@
 	"Role": "Rolė",
 	"Rosé Pine": "Rosé Pine",
 	"Rosé Pine Dawn": "Rosé Pine Dawn",
+	"RTL": "",
 	"Save": "Išsaugoti",
 	"Save & Create": "Išsaugoti ir sukurti",
-	"Save & Submit": "Išsaugoti ir pateikti",
 	"Save & Update": "Išsaugoti ir atnaujinti",
 	"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Pokalbių saugojimas naršyklėje nebegalimas.",
 	"Scan": "Skenuoti",
@@ -370,18 +393,34 @@
 	"Scan for documents from {{path}}": "Skenuoti dokumentus iš {{path}}",
 	"Search": "Ieškoti",
 	"Search a model": "Ieškoti modelio",
+	"Search Chats": "",
 	"Search Documents": "Ieškoti dokumentų",
+	"Search Models": "",
 	"Search Prompts": "Ieškoti užklausų",
+	"Search Result Count": "",
+	"Searched {{count}} sites_one": "",
+	"Searched {{count}} sites_few": "",
+	"Searched {{count}} sites_many": "",
+	"Searched {{count}} sites_other": "",
+	"Searching the web for '{{searchQuery}}'": "",
+	"Searxng Query URL": "",
 	"See readme.md for instructions": "Žiūrėti readme.md papildomoms instrukcijoms",
 	"See what's new": "Žiūrėti naujoves",
 	"Seed": "Sėkla",
+	"Select a base model": "",
 	"Select a mode": "Pasirinkti režimą",
 	"Select a model": "Pasirinkti modelį",
+	"Select a pipeline": "",
+	"Select a pipeline url": "",
 	"Select an Ollama instance": "Pasirinkti Ollama instanciją",
 	"Select model": "Pasirinkti modelį",
+	"Selected model(s) do not support image inputs": "",
+	"Send": "",
 	"Send a Message": "Siųsti žinutę",
 	"Send message": "Siųsti žinutę",
 	"September": "rugsėjis",
+	"Serper API Key": "",
+	"Serpstack API Key": "",
 	"Server connection verified": "Serverio sujungimas patvirtintas",
 	"Set as default": "Nustatyti numatytąjį",
 	"Set Default Model": "Nustatyti numatytąjį modelį",
@@ -390,7 +429,7 @@
 	"Set Model": "Nustatyti modelį",
 	"Set reranking model (e.g. {{model}})": "Nustatyti reranking modelį",
 	"Set Steps": "Numatyti etapus",
-	"Set Title Auto-Generation Model": "Numatyti pavadinimų generavimo modelį",
+	"Set Task Model": "",
 	"Set Voice": "Numatyti balsą",
 	"Settings": "Nustatymai",
 	"Settings saved successfully!": "Parametrai sėkmingai išsaugoti!",
@@ -399,7 +438,6 @@
 	"Share to OpenWebUI Community": "Dalintis su OpenWebUI bendruomene",
 	"short-summary": "trumpinys",
 	"Show": "Rodyti",
-	"Show Additional Params": "Rodyti papildomus parametrus",
 	"Show shortcuts": "Rodyti trumpinius",
 	"Showcased creativity": "Kūrybingų užklausų paroda",
 	"sidebar": "šoninis meniu",
@@ -418,7 +456,6 @@
 	"Success": "Sėkmingai",
 	"Successfully updated.": "Sėkmingai atnaujinta.",
 	"Suggested": "Siūloma",
-	"Sync All": "Viską sinhronizuoti",
 	"System": "Sistema",
 	"System Prompt": "Sistemos užklausa",
 	"Tags": "Žymos",
@@ -451,18 +488,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemos prieinant prie Ollama?",
 	"TTS Settings": "TTS parametrai",
+	"Type": "",
 	"Type Hugging Face Resolve (Download) URL": "Įveskite Hugging Face Resolve nuorodą",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "O ne! Prisijungiant prie {{provider}} kilo problema.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Nepažįstamas '{{file_type}}' failo formatas, tačiau jis priimtas ir bus apdorotas kaip grynas tekstas",
 	"Update and Copy Link": "Atnaujinti ir kopijuoti nuorodą",
 	"Update password": "Atnaujinti slaptažodį",
 	"Upload a GGUF model": "Parsisiųsti GGUF modelį",
-	"Upload files": "Įkelti failus",
+	"Upload Files": "",
 	"Upload Progress": "Įkėlimo progresas",
 	"URL Mode": "URL režimas",
 	"Use '#' in the prompt input to load and select your documents.": "Naudokite '#' norėdami naudoti dokumentą.",
 	"Use Gravatar": "Naudoti Gravatar",
 	"Use Initials": "Naudotojo inicialai",
+	"use_mlock (Ollama)": "",
+	"use_mmap (Ollama)": "",
 	"user": "naudotojas",
 	"User Permissions": "Naudotojo leidimai",
 	"Users": "Naudotojai",
@@ -471,10 +511,13 @@
 	"variable": "kintamasis",
 	"variable to have them replaced with clipboard content.": "kintamoji pakeičiama kopijuoklės turiniu.",
 	"Version": "Versija",
+	"Warning": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Jei pakeisite embedding modelį, turėsite reimportuoti visus dokumentus",
 	"Web": "Web",
 	"Web Loader Settings": "Web krovimo nustatymai",
 	"Web Params": "Web nustatymai",
+	"Web Search": "",
+	"Web Search Engine": "",
 	"Webhook URL": "Webhook nuoroda",
 	"WebUI Add-ons": "WebUI priedai",
 	"WebUI Settings": "WebUI parametrai",
@@ -482,10 +525,12 @@
 	"What’s New in": "Kas naujo",
 	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kai istorija išjungta, pokalbiai neatsiras jūsų istorijoje.",
 	"Whisper (Local)": "Whisper (lokalus)",
+	"Workspace": "",
 	"Write a prompt suggestion (e.g. Who are you?)": "Parašykite užklausą",
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Parašyk santrumpą trumpesnę nei 50 žodžių šiam tekstui: [tekstas]",
 	"Yesterday": "Vakar",
 	"You": "Jūs",
+	"You cannot clone a base model": "",
 	"You have no archived conversations.": "Jūs neturite archyvuotų pokalbių",
 	"You have shared this chat": "Pasidalinote šiuo pokalbiu",
 	"You're a helpful assistant.": "Esi asistentas.",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Wijzig Doc",
 	"Edit User": "Wijzig Gebruiker",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Embedding Model",
 	"Embedding Model Engine": "Embedding Model Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model ingesteld op \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "ਡਾਕੂਮੈਂਟ ਸੰਪਾਦਨ ਕਰੋ",
 	"Edit User": "ਉਪਭੋਗਤਾ ਸੰਪਾਦਨ ਕਰੋ",
 	"Email": "ਈਮੇਲ",
+	"Embedding Batch Size": "",
 	"Embedding Model": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ",
 	"Embedding Model Engine": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਇੰਜਣ",
 	"Embedding model set to \"{{embedding_model}}\"": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਨੂੰ \"{{embedding_model}}\" 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Edytuj dokument",
 	"Edit User": "Edytuj użytkownika",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Model osadzania",
 	"Embedding Model Engine": "Silnik modelu osadzania",
 	"Embedding model set to \"{{embedding_model}}\"": "Model osadzania ustawiono na \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Editar Documento",
 	"Edit User": "Editar Usuário",
 	"Email": "E-mail",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Editar Documento",
 	"Edit User": "Editar Usuário",
 	"Email": "E-mail",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Редактировать документ",
 	"Edit User": "Редактировать пользователя",
 	"Email": "Электронная почта",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Модель эмбеддинга",
 	"Embedding Model Engine": "Модель эмбеддинга",
 	"Embedding model set to \"{{embedding_model}}\"": "Эмбеддинг-модель установлена в \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Уреди документ",
 	"Edit User": "Уреди корисника",
 	"Email": "Е-пошта",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Модел уградње",
 	"Embedding Model Engine": "Мотор модела уградње",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел уградње подешен на \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Redigera dokument",
 	"Edit User": "Redigera användare",
 	"Email": "E-post",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Embeddingsmodell",
 	"Embedding Model Engine": "Embeddingsmodellmotor",
 	"Embedding model set to \"{{embedding_model}}\"": "Embeddingsmodell inställd på \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Belgeyi Düzenle",
 	"Edit User": "Kullanıcıyı Düzenle",
 	"Email": "E-posta",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Gömme Modeli",
 	"Embedding Model Engine": "Gömme Modeli Motoru",
 	"Embedding model set to \"{{embedding_model}}\"": "Gömme modeli \"{{embedding_model}}\" olarak ayarlandı",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Редагувати документ",
 	"Edit User": "Редагувати користувача",
 	"Email": "Електронна пошта",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Модель вбудовування",
 	"Embedding Model Engine": "Двигун модели встраивания ",
 	"Embedding model set to \"{{embedding_model}}\"": "Встановлена модель вбудовування \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "Thay đổi tài liệu",
 	"Edit User": "Thay đổi thông tin người sử dụng",
 	"Email": "Email",
+	"Embedding Batch Size": "",
 	"Embedding Model": "Mô hình embedding",
 	"Embedding Model Engine": "Trình xử lý embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Mô hình embedding đã được thiết lập thành \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "编辑文档",
 	"Edit User": "编辑用户",
 	"Email": "邮箱地址",
+	"Embedding Batch Size": "",
 	"Embedding Model": "语义向量模型",
 	"Embedding Model Engine": "语义向量模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"",

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

@@ -170,6 +170,7 @@
 	"Edit Doc": "編輯文件",
 	"Edit User": "編輯使用者",
 	"Email": "電子郵件",
+	"Embedding Batch Size": "",
 	"Embedding Model": "嵌入模型",
 	"Embedding Model Engine": "嵌入模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "嵌入模型已設定為 \"{{embedding_model}}\"",