mirror of
https://git.mirrors.martin98.com/https://github.com/open-webui/open-webui
synced 2025-08-19 02:35:53 +08:00
Merge branch 'dev' into feat/backend-web-search
This commit is contained in:
commit
635951b55c
11
.github/workflows/integration-test.yml
vendored
11
.github/workflows/integration-test.yml
vendored
@ -20,7 +20,16 @@ jobs:
|
||||
|
||||
- name: Build and run Compose Stack
|
||||
run: |
|
||||
docker compose up --detach --build
|
||||
docker compose --file docker-compose.yaml --file docker-compose.api.yaml up --detach --build
|
||||
|
||||
- name: Wait for Ollama to be up
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
until curl --output /dev/null --silent --fail http://localhost:11434; do
|
||||
printf '.'
|
||||
sleep 1
|
||||
done
|
||||
echo "Service is up!"
|
||||
|
||||
- name: Preload Ollama model
|
||||
run: |
|
||||
|
@ -80,6 +80,7 @@ from config import (
|
||||
RAG_EMBEDDING_MODEL_AUTO_UPDATE,
|
||||
RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE,
|
||||
ENABLE_RAG_HYBRID_SEARCH,
|
||||
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
|
||||
RAG_RERANKING_MODEL,
|
||||
PDF_EXTRACT_IMAGES,
|
||||
RAG_RERANKING_MODEL_AUTO_UPDATE,
|
||||
@ -91,7 +92,7 @@ from config import (
|
||||
CHUNK_SIZE,
|
||||
CHUNK_OVERLAP,
|
||||
RAG_TEMPLATE,
|
||||
ENABLE_LOCAL_WEB_FETCH,
|
||||
ENABLE_RAG_LOCAL_WEB_FETCH,
|
||||
)
|
||||
|
||||
from constants import ERROR_MESSAGES
|
||||
@ -105,6 +106,9 @@ app.state.TOP_K = RAG_TOP_K
|
||||
app.state.RELEVANCE_THRESHOLD = RAG_RELEVANCE_THRESHOLD
|
||||
|
||||
app.state.ENABLE_RAG_HYBRID_SEARCH = ENABLE_RAG_HYBRID_SEARCH
|
||||
app.state.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION = (
|
||||
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION
|
||||
)
|
||||
|
||||
app.state.CHUNK_SIZE = CHUNK_SIZE
|
||||
app.state.CHUNK_OVERLAP = CHUNK_OVERLAP
|
||||
@ -114,6 +118,7 @@ app.state.RAG_EMBEDDING_MODEL = RAG_EMBEDDING_MODEL
|
||||
app.state.RAG_RERANKING_MODEL = RAG_RERANKING_MODEL
|
||||
app.state.RAG_TEMPLATE = RAG_TEMPLATE
|
||||
|
||||
|
||||
app.state.OPENAI_API_BASE_URL = RAG_OPENAI_API_BASE_URL
|
||||
app.state.OPENAI_API_KEY = RAG_OPENAI_API_KEY
|
||||
|
||||
@ -313,6 +318,7 @@ async def get_rag_config(user=Depends(get_admin_user)):
|
||||
"chunk_size": app.state.CHUNK_SIZE,
|
||||
"chunk_overlap": app.state.CHUNK_OVERLAP,
|
||||
},
|
||||
"web_loader_ssl_verification": app.state.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
|
||||
}
|
||||
|
||||
|
||||
@ -322,15 +328,34 @@ class ChunkParamUpdateForm(BaseModel):
|
||||
|
||||
|
||||
class ConfigUpdateForm(BaseModel):
|
||||
pdf_extract_images: bool
|
||||
chunk: ChunkParamUpdateForm
|
||||
pdf_extract_images: Optional[bool] = None
|
||||
chunk: Optional[ChunkParamUpdateForm] = None
|
||||
web_loader_ssl_verification: Optional[bool] = None
|
||||
|
||||
|
||||
@app.post("/config/update")
|
||||
async def update_rag_config(form_data: ConfigUpdateForm, user=Depends(get_admin_user)):
|
||||
app.state.PDF_EXTRACT_IMAGES = form_data.pdf_extract_images
|
||||
app.state.CHUNK_SIZE = form_data.chunk.chunk_size
|
||||
app.state.CHUNK_OVERLAP = form_data.chunk.chunk_overlap
|
||||
app.state.PDF_EXTRACT_IMAGES = (
|
||||
form_data.pdf_extract_images
|
||||
if form_data.pdf_extract_images != None
|
||||
else app.state.PDF_EXTRACT_IMAGES
|
||||
)
|
||||
|
||||
app.state.CHUNK_SIZE = (
|
||||
form_data.chunk.chunk_size if form_data.chunk != None else app.state.CHUNK_SIZE
|
||||
)
|
||||
|
||||
app.state.CHUNK_OVERLAP = (
|
||||
form_data.chunk.chunk_overlap
|
||||
if form_data.chunk != None
|
||||
else app.state.CHUNK_OVERLAP
|
||||
)
|
||||
|
||||
app.state.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION = (
|
||||
form_data.web_loader_ssl_verification
|
||||
if form_data.web_loader_ssl_verification != None
|
||||
else app.state.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION
|
||||
)
|
||||
|
||||
return {
|
||||
"status": True,
|
||||
@ -339,6 +364,7 @@ async def update_rag_config(form_data: ConfigUpdateForm, user=Depends(get_admin_
|
||||
"chunk_size": app.state.CHUNK_SIZE,
|
||||
"chunk_overlap": app.state.CHUNK_OVERLAP,
|
||||
},
|
||||
"web_loader_ssl_verification": app.state.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION,
|
||||
}
|
||||
|
||||
|
||||
@ -490,7 +516,9 @@ def store_youtube_video(form_data: UrlForm, user=Depends(get_current_user)):
|
||||
def store_web(form_data: UrlForm, user=Depends(get_current_user)):
|
||||
# "https://www.gutenberg.org/files/1727/1727-h/1727-h.htm"
|
||||
try:
|
||||
loader = get_web_loader(form_data.url)
|
||||
loader = get_web_loader(
|
||||
form_data.url, verify_ssl=app.state.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION
|
||||
)
|
||||
data = loader.load()
|
||||
|
||||
collection_name = form_data.collection_name
|
||||
@ -510,12 +538,11 @@ def store_web(form_data: UrlForm, user=Depends(get_current_user)):
|
||||
detail=ERROR_MESSAGES.DEFAULT(e),
|
||||
)
|
||||
|
||||
|
||||
def get_web_loader(url: Union[str, Sequence[str]]):
|
||||
def get_web_loader(url: Union[str, Sequence[str]], verify_ssl: bool = True):
|
||||
# Check if the URL is valid
|
||||
if not validate_url(url):
|
||||
raise ValueError(ERROR_MESSAGES.INVALID_URL)
|
||||
return WebBaseLoader(url)
|
||||
return WebBaseLoader(url, verify_ssl=verify_ssl)
|
||||
|
||||
|
||||
def validate_url(url: Union[str, Sequence[str]]):
|
||||
|
@ -287,14 +287,14 @@ def rag_messages(
|
||||
for doc in docs:
|
||||
context = None
|
||||
|
||||
collection = doc.get("collection_name")
|
||||
if collection:
|
||||
collection = [collection]
|
||||
else:
|
||||
collection = doc.get("collection_names", [])
|
||||
collection_names = (
|
||||
doc["collection_names"]
|
||||
if doc["type"] == "collection"
|
||||
else [doc["collection_name"]]
|
||||
)
|
||||
|
||||
collection = set(collection).difference(extracted_collections)
|
||||
if not collection:
|
||||
collection_names = set(collection_names).difference(extracted_collections)
|
||||
if not collection_names:
|
||||
log.debug(f"skipping {doc} as it has already been extracted")
|
||||
continue
|
||||
|
||||
@ -304,11 +304,7 @@ def rag_messages(
|
||||
else:
|
||||
if hybrid_search:
|
||||
context = query_collection_with_hybrid_search(
|
||||
collection_names=(
|
||||
doc["collection_names"]
|
||||
if doc["type"] == "collection"
|
||||
else [doc["collection_name"]]
|
||||
),
|
||||
collection_names=collection_names,
|
||||
query=query,
|
||||
embedding_function=embedding_function,
|
||||
k=k,
|
||||
@ -317,11 +313,7 @@ def rag_messages(
|
||||
)
|
||||
else:
|
||||
context = query_collection(
|
||||
collection_names=(
|
||||
doc["collection_names"]
|
||||
if doc["type"] == "collection"
|
||||
else [doc["collection_name"]]
|
||||
),
|
||||
collection_names=collection_names,
|
||||
query=query,
|
||||
embedding_function=embedding_function,
|
||||
k=k,
|
||||
@ -331,18 +323,31 @@ def rag_messages(
|
||||
context = None
|
||||
|
||||
if context:
|
||||
relevant_contexts.append(context)
|
||||
relevant_contexts.append({**context, "source": doc})
|
||||
|
||||
extracted_collections.extend(collection)
|
||||
extracted_collections.extend(collection_names)
|
||||
|
||||
context_string = ""
|
||||
|
||||
citations = []
|
||||
for context in relevant_contexts:
|
||||
try:
|
||||
if "documents" in context:
|
||||
items = [item for item in context["documents"][0] if item is not None]
|
||||
context_string += "\n\n".join(items)
|
||||
context_string += "\n\n".join(
|
||||
[text for text in context["documents"][0] if text is not None]
|
||||
)
|
||||
|
||||
if "metadatas" in context:
|
||||
citations.append(
|
||||
{
|
||||
"source": context["source"],
|
||||
"document": context["documents"][0],
|
||||
"metadata": context["metadatas"][0],
|
||||
}
|
||||
)
|
||||
except Exception as e:
|
||||
log.exception(e)
|
||||
|
||||
context_string = context_string.strip()
|
||||
|
||||
ra_content = rag_template(
|
||||
@ -371,7 +376,7 @@ def rag_messages(
|
||||
|
||||
messages[last_user_message_idx] = new_user_message
|
||||
|
||||
return messages
|
||||
return messages, citations
|
||||
|
||||
|
||||
def get_model_path(model: str, update_model: bool = False):
|
||||
|
@ -18,6 +18,18 @@ from secrets import token_bytes
|
||||
from constants import ERROR_MESSAGES
|
||||
|
||||
|
||||
####################################
|
||||
# Load .env file
|
||||
####################################
|
||||
|
||||
try:
|
||||
from dotenv import load_dotenv, find_dotenv
|
||||
|
||||
load_dotenv(find_dotenv("../.env"))
|
||||
except ImportError:
|
||||
print("dotenv not installed, skipping...")
|
||||
|
||||
|
||||
####################################
|
||||
# LOGGING
|
||||
####################################
|
||||
@ -59,16 +71,6 @@ for source in log_sources:
|
||||
|
||||
log.setLevel(SRC_LOG_LEVELS["CONFIG"])
|
||||
|
||||
####################################
|
||||
# Load .env file
|
||||
####################################
|
||||
|
||||
try:
|
||||
from dotenv import load_dotenv, find_dotenv
|
||||
|
||||
load_dotenv(find_dotenv("../.env"))
|
||||
except ImportError:
|
||||
log.warning("dotenv not installed, skipping...")
|
||||
|
||||
WEBUI_NAME = os.environ.get("WEBUI_NAME", "Open WebUI")
|
||||
if WEBUI_NAME != "Open WebUI":
|
||||
@ -454,6 +456,11 @@ ENABLE_RAG_HYBRID_SEARCH = (
|
||||
os.environ.get("ENABLE_RAG_HYBRID_SEARCH", "").lower() == "true"
|
||||
)
|
||||
|
||||
|
||||
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION = (
|
||||
os.environ.get("ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION", "True").lower() == "true"
|
||||
)
|
||||
|
||||
RAG_EMBEDDING_ENGINE = os.environ.get("RAG_EMBEDDING_ENGINE", "")
|
||||
|
||||
PDF_EXTRACT_IMAGES = os.environ.get("PDF_EXTRACT_IMAGES", "False").lower() == "true"
|
||||
@ -531,7 +538,9 @@ RAG_TEMPLATE = os.environ.get("RAG_TEMPLATE", DEFAULT_RAG_TEMPLATE)
|
||||
RAG_OPENAI_API_BASE_URL = os.getenv("RAG_OPENAI_API_BASE_URL", OPENAI_API_BASE_URL)
|
||||
RAG_OPENAI_API_KEY = os.getenv("RAG_OPENAI_API_KEY", OPENAI_API_KEY)
|
||||
|
||||
ENABLE_LOCAL_WEB_FETCH = os.getenv("ENABLE_LOCAL_WEB_FETCH", "False").lower() == "true"
|
||||
ENABLE_RAG_LOCAL_WEB_FETCH = (
|
||||
os.getenv("ENABLE_RAG_LOCAL_WEB_FETCH", "False").lower() == "true"
|
||||
)
|
||||
|
||||
SEARXNG_QUERY_URL = os.getenv("SEARXNG_QUERY_URL", "")
|
||||
GOOGLE_PSE_API_KEY = os.getenv("GOOGLE_PSE_API_KEY", "")
|
||||
|
@ -15,7 +15,7 @@ from fastapi.middleware.wsgi import WSGIMiddleware
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from starlette.exceptions import HTTPException as StarletteHTTPException
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
|
||||
from starlette.responses import StreamingResponse
|
||||
|
||||
from apps.ollama.main import app as ollama_app
|
||||
from apps.openai.main import app as openai_app
|
||||
@ -102,6 +102,8 @@ origins = ["*"]
|
||||
|
||||
class RAGMiddleware(BaseHTTPMiddleware):
|
||||
async def dispatch(self, request: Request, call_next):
|
||||
return_citations = False
|
||||
|
||||
if request.method == "POST" and (
|
||||
"/api/chat" in request.url.path or "/chat/completions" in request.url.path
|
||||
):
|
||||
@ -114,11 +116,15 @@ class RAGMiddleware(BaseHTTPMiddleware):
|
||||
# Parse string to JSON
|
||||
data = json.loads(body_str) if body_str else {}
|
||||
|
||||
return_citations = data.get("citations", False)
|
||||
if "citations" in data:
|
||||
del data["citations"]
|
||||
|
||||
# Example: Add a new key-value pair or modify existing ones
|
||||
# data["modified"] = True # Example modification
|
||||
if "docs" in data:
|
||||
data = {**data}
|
||||
data["messages"] = rag_messages(
|
||||
data["messages"], citations = rag_messages(
|
||||
docs=data["docs"],
|
||||
messages=data["messages"],
|
||||
template=rag_app.state.RAG_TEMPLATE,
|
||||
@ -130,7 +136,9 @@ class RAGMiddleware(BaseHTTPMiddleware):
|
||||
)
|
||||
del data["docs"]
|
||||
|
||||
log.debug(f"data['messages']: {data['messages']}")
|
||||
log.debug(
|
||||
f"data['messages']: {data['messages']}, citations: {citations}"
|
||||
)
|
||||
|
||||
modified_body_bytes = json.dumps(data).encode("utf-8")
|
||||
|
||||
@ -148,11 +156,36 @@ class RAGMiddleware(BaseHTTPMiddleware):
|
||||
]
|
||||
|
||||
response = await call_next(request)
|
||||
|
||||
if return_citations:
|
||||
# Inject the citations into the response
|
||||
if isinstance(response, StreamingResponse):
|
||||
# If it's a streaming response, inject it as SSE event or NDJSON line
|
||||
content_type = response.headers.get("Content-Type")
|
||||
if "text/event-stream" in content_type:
|
||||
return StreamingResponse(
|
||||
self.openai_stream_wrapper(response.body_iterator, citations),
|
||||
)
|
||||
if "application/x-ndjson" in content_type:
|
||||
return StreamingResponse(
|
||||
self.ollama_stream_wrapper(response.body_iterator, citations),
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
async def _receive(self, body: bytes):
|
||||
return {"type": "http.request", "body": body, "more_body": False}
|
||||
|
||||
async def openai_stream_wrapper(self, original_generator, citations):
|
||||
yield f"data: {json.dumps({'citations': citations})}\n\n"
|
||||
async for data in original_generator:
|
||||
yield data
|
||||
|
||||
async def ollama_stream_wrapper(self, original_generator, citations):
|
||||
yield f"{json.dumps({'citations': citations})}\n"
|
||||
async for data in original_generator:
|
||||
yield data
|
||||
|
||||
|
||||
app.add_middleware(RAGMiddleware)
|
||||
|
||||
|
@ -82,3 +82,12 @@ select {
|
||||
.katex-mathml {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.scrollbar-none:active::-webkit-scrollbar-thumb,
|
||||
.scrollbar-none:focus::-webkit-scrollbar-thumb,
|
||||
.scrollbar-none:hover::-webkit-scrollbar-thumb {
|
||||
visibility: visible;
|
||||
}
|
||||
.scrollbar-none::-webkit-scrollbar-thumb {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
@ -159,7 +159,11 @@ export const generateTitle = async (
|
||||
body: JSON.stringify({
|
||||
model: model,
|
||||
prompt: template,
|
||||
stream: false
|
||||
stream: false,
|
||||
options: {
|
||||
// Restrict the number of tokens generated to 50
|
||||
num_predict: 50
|
||||
}
|
||||
})
|
||||
})
|
||||
.then(async (res) => {
|
||||
|
@ -295,7 +295,9 @@ export const generateTitle = async (
|
||||
content: template
|
||||
}
|
||||
],
|
||||
stream: false
|
||||
stream: false,
|
||||
// Restricting the max tokens to 50 to avoid long titles
|
||||
max_tokens: 50
|
||||
})
|
||||
})
|
||||
.then(async (res) => {
|
||||
|
@ -33,8 +33,9 @@ type ChunkConfigForm = {
|
||||
};
|
||||
|
||||
type RAGConfigForm = {
|
||||
pdf_extract_images: boolean;
|
||||
chunk: ChunkConfigForm;
|
||||
pdf_extract_images?: boolean;
|
||||
chunk?: ChunkConfigForm;
|
||||
web_loader_ssl_verification?: boolean;
|
||||
};
|
||||
|
||||
export const updateRAGConfig = async (token: string, payload: RAGConfigForm) => {
|
||||
|
@ -4,6 +4,8 @@ import type { ParsedEvent } from 'eventsource-parser';
|
||||
type TextStreamUpdate = {
|
||||
done: boolean;
|
||||
value: string;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
citations?: any;
|
||||
};
|
||||
|
||||
// createOpenAITextStream takes a responseBody with a SSE response,
|
||||
@ -45,6 +47,11 @@ async function* openAIStreamToIterator(
|
||||
const parsedData = JSON.parse(data);
|
||||
console.log(parsedData);
|
||||
|
||||
if (parsedData.citations) {
|
||||
yield { done: false, value: '', citations: parsedData.citations };
|
||||
continue;
|
||||
}
|
||||
|
||||
yield { done: false, value: parsedData.choices?.[0]?.delta?.content ?? '' };
|
||||
} catch (e) {
|
||||
console.error('Error extracting delta from SSE event:', e);
|
||||
@ -62,6 +69,10 @@ async function* streamLargeDeltasAsRandomChunks(
|
||||
yield textStreamUpdate;
|
||||
return;
|
||||
}
|
||||
if (textStreamUpdate.citations) {
|
||||
yield textStreamUpdate;
|
||||
continue;
|
||||
}
|
||||
let content = textStreamUpdate.value;
|
||||
if (content.length < 5) {
|
||||
yield { done: false, value: content };
|
||||
|
77
src/lib/components/chat/Messages/CitationsModal.svelte
Normal file
77
src/lib/components/chat/Messages/CitationsModal.svelte
Normal file
@ -0,0 +1,77 @@
|
||||
<script lang="ts">
|
||||
import { getContext, onMount, tick } from 'svelte';
|
||||
|
||||
import Modal from '$lib/components/common/Modal.svelte';
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
export let show = false;
|
||||
export let citation;
|
||||
|
||||
let mergedDocuments = [];
|
||||
|
||||
$: if (citation) {
|
||||
mergedDocuments = citation.document?.map((c, i) => {
|
||||
return {
|
||||
source: citation.source,
|
||||
document: c,
|
||||
metadata: citation.metadata?.[i]
|
||||
};
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<Modal size="lg" bind:show>
|
||||
<div>
|
||||
<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2">
|
||||
<div class=" text-lg font-medium self-center capitalize">
|
||||
{$i18n.t('Citation')}
|
||||
</div>
|
||||
<button
|
||||
class="self-center"
|
||||
on:click={() => {
|
||||
show = false;
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-5 h-5"
|
||||
>
|
||||
<path
|
||||
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col md:flex-row w-full px-6 pb-5 md:space-x-4">
|
||||
<div
|
||||
class="flex flex-col w-full dark:text-gray-200 overflow-y-scroll max-h-[22rem] scrollbar-none"
|
||||
>
|
||||
{#each mergedDocuments as document, documentIdx}
|
||||
<div class="flex flex-col w-full">
|
||||
<div class="text-sm font-medium dark:text-gray-300">
|
||||
{$i18n.t('Source')}
|
||||
</div>
|
||||
<div class="text-sm dark:text-gray-400">
|
||||
{document.source?.name ?? $i18n.t('No source available')}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col w-full">
|
||||
<div class=" text-sm font-medium dark:text-gray-300">
|
||||
{$i18n.t('Content')}
|
||||
</div>
|
||||
<pre class="text-sm dark:text-gray-400 whitespace-pre-line">
|
||||
{document.document}
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
{#if documentIdx !== mergedDocuments.length - 1}
|
||||
<hr class=" dark:border-gray-850 my-3" />
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
@ -32,6 +32,7 @@
|
||||
import { WEBUI_BASE_URL } from '$lib/constants';
|
||||
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
||||
import RateComment from './RateComment.svelte';
|
||||
import CitationsModal from '$lib/components/chat/Messages/CitationsModal.svelte';
|
||||
|
||||
export let modelfiles = [];
|
||||
export let message;
|
||||
@ -65,6 +66,9 @@
|
||||
|
||||
let showRateComment = false;
|
||||
|
||||
let showCitationModal = false;
|
||||
let selectedCitation = null;
|
||||
|
||||
$: tokens = marked.lexer(sanitizeResponseContent(message.content));
|
||||
|
||||
const renderer = new marked.Renderer();
|
||||
@ -324,6 +328,8 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<CitationsModal bind:show={showCitationModal} citation={selectedCitation} />
|
||||
|
||||
{#key message.id}
|
||||
<div class=" flex w-full message-{message.id}" id="message-{message.id}">
|
||||
<ProfileImage
|
||||
@ -360,7 +366,6 @@
|
||||
{/each}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div
|
||||
class="prose chat-{message.role} w-full max-w-full dark:prose-invert prose-headings:my-0 prose-p:m-0 prose-p:-mb-6 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-img:my-0 prose-ul:-my-4 prose-ol:-my-4 prose-li:-my-3 prose-ul:-mb-6 prose-ol:-mb-8 prose-ol:p-0 prose-li:-mb-4 whitespace-pre-line"
|
||||
>
|
||||
@ -441,436 +446,484 @@
|
||||
{/each}
|
||||
<!-- {@html marked(message.content.replaceAll('\\', '\\\\'))} -->
|
||||
{/if}
|
||||
|
||||
{#if message.done}
|
||||
<div
|
||||
class=" flex justify-start space-x-1 overflow-x-auto buttons text-gray-700 dark:text-gray-500"
|
||||
>
|
||||
{#if siblings.length > 1}
|
||||
<div class="flex self-center min-w-fit">
|
||||
<button
|
||||
class="self-center dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
showPreviousMessage(message);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<div class="text-xs font-bold self-center min-w-fit dark:text-gray-100">
|
||||
{siblings.indexOf(message.id) + 1} / {siblings.length}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="self-center dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
showNextMessage(message);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if !readOnly}
|
||||
<Tooltip content={$i18n.t('Edit')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
editMessageHandler();
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L6.832 19.82a4.5 4.5 0 01-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 011.13-1.897L16.863 4.487zm0 0L19.5 7.125"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
<Tooltip content={$i18n.t('Copy')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition copy-response-button"
|
||||
on:click={() => {
|
||||
copyToClipboard(message.content);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
{#if !readOnly}
|
||||
<Tooltip content={$i18n.t('Good Response')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded {message?.annotation
|
||||
?.rating === 1
|
||||
? 'bg-gray-100 dark:bg-gray-800'
|
||||
: ''} dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
rateMessage(message.id, 1);
|
||||
showRateComment = true;
|
||||
|
||||
window.setTimeout(() => {
|
||||
document
|
||||
.getElementById(`message-feedback-${message.id}`)
|
||||
?.scrollIntoView();
|
||||
}, 0);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-width="2"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="w-4 h-4"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><path
|
||||
d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"
|
||||
/></svg
|
||||
>
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
<Tooltip content={$i18n.t('Bad Response')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded {message?.annotation
|
||||
?.rating === -1
|
||||
? 'bg-gray-100 dark:bg-gray-800'
|
||||
: ''} dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
rateMessage(message.id, -1);
|
||||
showRateComment = true;
|
||||
window.setTimeout(() => {
|
||||
document
|
||||
.getElementById(`message-feedback-${message.id}`)
|
||||
?.scrollIntoView();
|
||||
}, 0);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-width="2"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="w-4 h-4"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><path
|
||||
d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"
|
||||
/></svg
|
||||
>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
<Tooltip content={$i18n.t('Read Aloud')} placement="bottom">
|
||||
<button
|
||||
id="speak-button-{message.id}"
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
if (!loadingSpeech) {
|
||||
toggleSpeakMessage(message);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{#if loadingSpeech}
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_S1WN {
|
||||
animation: spinner_MGfb 0.8s linear infinite;
|
||||
animation-delay: -0.8s;
|
||||
}
|
||||
.spinner_Km9P {
|
||||
animation-delay: -0.65s;
|
||||
}
|
||||
.spinner_JApP {
|
||||
animation-delay: -0.5s;
|
||||
}
|
||||
@keyframes spinner_MGfb {
|
||||
93.75%,
|
||||
100% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
</style><circle class="spinner_S1WN" cx="4" cy="12" r="3" /><circle
|
||||
class="spinner_S1WN spinner_Km9P"
|
||||
cx="12"
|
||||
cy="12"
|
||||
r="3"
|
||||
/><circle
|
||||
class="spinner_S1WN spinner_JApP"
|
||||
cx="20"
|
||||
cy="12"
|
||||
r="3"
|
||||
/></svg
|
||||
>
|
||||
{:else if speaking}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M17.25 9.75 19.5 12m0 0 2.25 2.25M19.5 12l2.25-2.25M19.5 12l-2.25 2.25m-10.5-6 4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z"
|
||||
/>
|
||||
</svg>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M19.114 5.636a9 9 0 010 12.728M16.463 8.288a5.25 5.25 0 010 7.424M6.75 8.25l4.72-4.72a.75.75 0 011.28.53v15.88a.75.75 0 01-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.01 9.01 0 012.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
{#if $config.images && !readOnly}
|
||||
<Tooltip content="Generate Image" placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
if (!generatingImage) {
|
||||
generateImage(message);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{#if generatingImage}
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_S1WN {
|
||||
animation: spinner_MGfb 0.8s linear infinite;
|
||||
animation-delay: -0.8s;
|
||||
}
|
||||
.spinner_Km9P {
|
||||
animation-delay: -0.65s;
|
||||
}
|
||||
.spinner_JApP {
|
||||
animation-delay: -0.5s;
|
||||
}
|
||||
@keyframes spinner_MGfb {
|
||||
93.75%,
|
||||
100% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
</style><circle class="spinner_S1WN" cx="4" cy="12" r="3" /><circle
|
||||
class="spinner_S1WN spinner_Km9P"
|
||||
cx="12"
|
||||
cy="12"
|
||||
r="3"
|
||||
/><circle
|
||||
class="spinner_S1WN spinner_JApP"
|
||||
cx="20"
|
||||
cy="12"
|
||||
r="3"
|
||||
/></svg
|
||||
>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
{#if message.info}
|
||||
<Tooltip content={$i18n.t('Generation Info')} placement="bottom">
|
||||
<button
|
||||
class=" {isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition whitespace-pre-wrap"
|
||||
on:click={() => {
|
||||
console.log(message);
|
||||
}}
|
||||
id="info-{message.id}"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
{#if isLastMessage && !readOnly}
|
||||
<Tooltip content={$i18n.t('Continue Response')} placement="bottom">
|
||||
<button
|
||||
type="button"
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition regenerate-response-button"
|
||||
on:click={() => {
|
||||
continueGeneration();
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
|
||||
/>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M15.91 11.672a.375.375 0 0 1 0 .656l-5.603 3.113a.375.375 0 0 1-.557-.328V8.887c0-.286.307-.466.557-.327l5.603 3.112Z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
<Tooltip content={$i18n.t('Regenerate')} placement="bottom">
|
||||
<button
|
||||
type="button"
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition regenerate-response-button"
|
||||
on:click={regenerateResponse}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if showRateComment}
|
||||
<RateComment
|
||||
messageId={message.id}
|
||||
bind:show={showRateComment}
|
||||
bind:message
|
||||
on:submit={() => {
|
||||
updateChatMessages();
|
||||
}}
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- if (message.citations) {
|
||||
citations = message.citations.forEach((citation) => {
|
||||
citation.document.forEach((document, index) => {
|
||||
const metadata = citation.metadata?.[index];
|
||||
const source = citation?.source?.name ?? metadata?.source ?? 'N/A';
|
||||
|
||||
citations[source] = citations[source] || {
|
||||
source: citation.source,
|
||||
document: [],
|
||||
metadata: []
|
||||
};
|
||||
|
||||
citations[source].document.push(document);
|
||||
citations[source].metadata.push(metadata);
|
||||
});
|
||||
});
|
||||
} -->
|
||||
|
||||
{#if message.citations}
|
||||
<hr class=" dark:border-gray-800" />
|
||||
<div class="my-2.5 w-full flex overflow-x-auto gap-2 flex-wrap">
|
||||
{#each message.citations.reduce((acc, citation) => {
|
||||
citation.document.forEach((document, index) => {
|
||||
const metadata = citation.metadata?.[index];
|
||||
const id = metadata?.source ?? 'N/A';
|
||||
|
||||
const existingSource = acc.find((item) => item.id === id);
|
||||
|
||||
if (existingSource) {
|
||||
existingSource.document.push(document);
|
||||
existingSource.metadata.push(metadata);
|
||||
} else {
|
||||
acc.push( { id: id, source: citation?.source, document: [document], metadata: metadata ? [metadata] : [] } );
|
||||
}
|
||||
});
|
||||
return acc;
|
||||
}, []) as citation, idx}
|
||||
<div class="flex gap-1 text-xs font-semibold">
|
||||
<div>
|
||||
[{idx + 1}]
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="dark:text-gray-500 underline"
|
||||
on:click={() => {
|
||||
showCitationModal = true;
|
||||
selectedCitation = citation;
|
||||
}}
|
||||
>
|
||||
{citation.source.name}
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if message.done}
|
||||
<div
|
||||
class=" flex justify-start space-x-1 overflow-x-auto buttons text-gray-700 dark:text-gray-500"
|
||||
>
|
||||
{#if siblings.length > 1}
|
||||
<div class="flex self-center min-w-fit">
|
||||
<button
|
||||
class="self-center dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
showPreviousMessage(message);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<div class="text-xs font-bold self-center min-w-fit dark:text-gray-100">
|
||||
{siblings.indexOf(message.id) + 1} / {siblings.length}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="self-center dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
showNextMessage(message);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if !readOnly}
|
||||
<Tooltip content={$i18n.t('Edit')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
editMessageHandler();
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L6.832 19.82a4.5 4.5 0 01-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 011.13-1.897L16.863 4.487zm0 0L19.5 7.125"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
<Tooltip content={$i18n.t('Copy')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition copy-response-button"
|
||||
on:click={() => {
|
||||
copyToClipboard(message.content);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
{#if !readOnly}
|
||||
<Tooltip content={$i18n.t('Good Response')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded {message?.annotation?.rating ===
|
||||
1
|
||||
? 'bg-gray-100 dark:bg-gray-800'
|
||||
: ''} dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
rateMessage(message.id, 1);
|
||||
showRateComment = true;
|
||||
|
||||
window.setTimeout(() => {
|
||||
document.getElementById(`message-feedback-${message.id}`)?.scrollIntoView();
|
||||
}, 0);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-width="2"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="w-4 h-4"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
<Tooltip content={$i18n.t('Bad Response')} placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded {message?.annotation?.rating ===
|
||||
-1
|
||||
? 'bg-gray-100 dark:bg-gray-800'
|
||||
: ''} dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
rateMessage(message.id, -1);
|
||||
showRateComment = true;
|
||||
window.setTimeout(() => {
|
||||
document.getElementById(`message-feedback-${message.id}`)?.scrollIntoView();
|
||||
}, 0);
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-width="2"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
class="w-4 h-4"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
<Tooltip content={$i18n.t('Read Aloud')} placement="bottom">
|
||||
<button
|
||||
id="speak-button-{message.id}"
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
if (!loadingSpeech) {
|
||||
toggleSpeakMessage(message);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{#if loadingSpeech}
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<style>
|
||||
.spinner_S1WN {
|
||||
animation: spinner_MGfb 0.8s linear infinite;
|
||||
animation-delay: -0.8s;
|
||||
}
|
||||
|
||||
.spinner_Km9P {
|
||||
animation-delay: -0.65s;
|
||||
}
|
||||
|
||||
.spinner_JApP {
|
||||
animation-delay: -0.5s;
|
||||
}
|
||||
|
||||
@keyframes spinner_MGfb {
|
||||
93.75%,
|
||||
100% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<circle class="spinner_S1WN" cx="4" cy="12" r="3" />
|
||||
<circle class="spinner_S1WN spinner_Km9P" cx="12" cy="12" r="3" />
|
||||
<circle class="spinner_S1WN spinner_JApP" cx="20" cy="12" r="3" />
|
||||
</svg>
|
||||
{:else if speaking}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M17.25 9.75 19.5 12m0 0 2.25 2.25M19.5 12l2.25-2.25M19.5 12l-2.25 2.25m-10.5-6 4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z"
|
||||
/>
|
||||
</svg>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M19.114 5.636a9 9 0 010 12.728M16.463 8.288a5.25 5.25 0 010 7.424M6.75 8.25l4.72-4.72a.75.75 0 011.28.53v15.88a.75.75 0 01-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.01 9.01 0 012.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
{#if $config.images && !readOnly}
|
||||
<Tooltip content="Generate Image" placement="bottom">
|
||||
<button
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition"
|
||||
on:click={() => {
|
||||
if (!generatingImage) {
|
||||
generateImage(message);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{#if generatingImage}
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<style>
|
||||
.spinner_S1WN {
|
||||
animation: spinner_MGfb 0.8s linear infinite;
|
||||
animation-delay: -0.8s;
|
||||
}
|
||||
|
||||
.spinner_Km9P {
|
||||
animation-delay: -0.65s;
|
||||
}
|
||||
|
||||
.spinner_JApP {
|
||||
animation-delay: -0.5s;
|
||||
}
|
||||
|
||||
@keyframes spinner_MGfb {
|
||||
93.75%,
|
||||
100% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<circle class="spinner_S1WN" cx="4" cy="12" r="3" />
|
||||
<circle class="spinner_S1WN spinner_Km9P" cx="12" cy="12" r="3" />
|
||||
<circle class="spinner_S1WN spinner_JApP" cx="20" cy="12" r="3" />
|
||||
</svg>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
{#if message.info}
|
||||
<Tooltip content={$i18n.t('Generation Info')} placement="bottom">
|
||||
<button
|
||||
class=" {isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition whitespace-pre-wrap"
|
||||
on:click={() => {
|
||||
console.log(message);
|
||||
}}
|
||||
id="info-{message.id}"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
{#if isLastMessage && !readOnly}
|
||||
<Tooltip content={$i18n.t('Continue Response')} placement="bottom">
|
||||
<button
|
||||
type="button"
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition regenerate-response-button"
|
||||
on:click={() => {
|
||||
continueGeneration();
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
|
||||
/>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M15.91 11.672a.375.375 0 0 1 0 .656l-5.603 3.113a.375.375 0 0 1-.557-.328V8.887c0-.286.307-.466.557-.327l5.603 3.112Z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
<Tooltip content={$i18n.t('Regenerate')} placement="bottom">
|
||||
<button
|
||||
type="button"
|
||||
class="{isLastMessage
|
||||
? 'visible'
|
||||
: 'invisible group-hover:visible'} p-1 rounded dark:hover:text-white hover:text-black transition regenerate-response-button"
|
||||
on:click={regenerateResponse}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if showRateComment}
|
||||
<RateComment
|
||||
messageId={message.id}
|
||||
bind:show={showRateComment}
|
||||
bind:message
|
||||
on:submit={() => {
|
||||
updateChatMessages();
|
||||
}}
|
||||
/>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -82,7 +82,7 @@
|
||||
</div>
|
||||
{:else}
|
||||
<div class=" self-center disabled:text-gray-600 disabled:hover:text-gray-600 mr-2">
|
||||
<Tooltip content="Remove Model">
|
||||
<Tooltip content={$i18n.t('Remove Model')}>
|
||||
<button
|
||||
{disabled}
|
||||
on:click={() => {
|
||||
|
@ -305,7 +305,7 @@
|
||||
{:else}
|
||||
<div>
|
||||
<div class="block px-3 py-2 text-sm text-gray-700 dark:text-gray-100">
|
||||
No results found
|
||||
{$i18n.t('No results found')}
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
@ -317,7 +317,7 @@
|
||||
pullModelHandler();
|
||||
}}
|
||||
>
|
||||
Pull "{searchValue}" from Ollama.com
|
||||
{$i18n.t(`Pull "{{searchValue}}" from Ollama.com`, { searchValue: searchValue })}
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
|
@ -447,7 +447,7 @@
|
||||
{/if}
|
||||
</button>
|
||||
|
||||
<Tooltip content="Create new key">
|
||||
<Tooltip content={$i18n.t('Create new key')}>
|
||||
<button
|
||||
class=" px-1.5 py-1 dark:hover:bg-gray-850transition rounded-lg"
|
||||
on:click={() => {
|
||||
@ -479,7 +479,7 @@
|
||||
>
|
||||
<Plus strokeWidth="2" className=" size-3.5" />
|
||||
|
||||
Create new secret key</button
|
||||
{$i18n.t('Create new secret key')}</button
|
||||
>
|
||||
{/if}
|
||||
</div>
|
||||
|
@ -164,7 +164,7 @@
|
||||
<div class="flex gap-1.5">
|
||||
<input
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
placeholder="Enter URL (e.g. http://localhost:11434)"
|
||||
placeholder={$i18n.t('Enter URL (e.g. http://localhost:11434)')}
|
||||
bind:value={url}
|
||||
/>
|
||||
|
||||
|
@ -97,9 +97,10 @@
|
||||
<div class=" text-sm dark:text-gray-300 mb-1">
|
||||
{#if chat.share_id}
|
||||
<a href="/s/{chat.share_id}" target="_blank"
|
||||
>You have shared this chat <span class=" underline">before</span>.</a
|
||||
>{$i18n.t('You have shared this chat')}
|
||||
<span class=" underline">{$i18n.t('before')}</span>.</a
|
||||
>
|
||||
Click here to
|
||||
{$i18n.t('Click here to')}
|
||||
<button
|
||||
class="underline"
|
||||
on:click={async () => {
|
||||
@ -108,11 +109,14 @@
|
||||
if (res) {
|
||||
chat = await getChatById(localStorage.token, chatId);
|
||||
}
|
||||
}}>delete this link</button
|
||||
> and create a new shared link.
|
||||
}}
|
||||
>{$i18n.t('delete this link')}
|
||||
</button>
|
||||
{$i18n.t('and create a new shared link.')}
|
||||
{:else}
|
||||
Messages you send after creating your link won't be shared. Users with the URL will be
|
||||
able to view the shared chat.
|
||||
{$i18n.t(
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat."
|
||||
)}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
||||
<button
|
||||
class=" p-5"
|
||||
on:click={() => {
|
||||
downloadImage(src, 'Image.png');
|
||||
downloadImage(src, src.substring(src.lastIndexOf('/') + 1));
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
|
126
src/lib/components/documents/Settings/ChunkParams.svelte
Normal file
126
src/lib/components/documents/Settings/ChunkParams.svelte
Normal file
@ -0,0 +1,126 @@
|
||||
<script lang="ts">
|
||||
import { getDocs } from '$lib/apis/documents';
|
||||
import {
|
||||
getRAGConfig,
|
||||
updateRAGConfig,
|
||||
getQuerySettings,
|
||||
scanDocs,
|
||||
updateQuerySettings,
|
||||
resetVectorDB,
|
||||
getEmbeddingConfig,
|
||||
updateEmbeddingConfig,
|
||||
getRerankingConfig,
|
||||
updateRerankingConfig
|
||||
} from '$lib/apis/rag';
|
||||
|
||||
import { documents, models } from '$lib/stores';
|
||||
import { onMount, getContext } from 'svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
export let saveHandler: Function;
|
||||
|
||||
let scanDirLoading = false;
|
||||
let updateEmbeddingModelLoading = false;
|
||||
let updateRerankingModelLoading = false;
|
||||
|
||||
let showResetConfirm = false;
|
||||
|
||||
let chunkSize = 0;
|
||||
let chunkOverlap = 0;
|
||||
let pdfExtractImages = true;
|
||||
|
||||
const submitHandler = async () => {
|
||||
const res = await updateRAGConfig(localStorage.token, {
|
||||
pdf_extract_images: pdfExtractImages,
|
||||
chunk: {
|
||||
chunk_overlap: chunkOverlap,
|
||||
chunk_size: chunkSize
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
const res = await getRAGConfig(localStorage.token);
|
||||
|
||||
if (res) {
|
||||
pdfExtractImages = res.pdf_extract_images;
|
||||
|
||||
chunkSize = res.chunk.chunk_size;
|
||||
chunkOverlap = res.chunk.chunk_overlap;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<form
|
||||
class="flex flex-col h-full justify-between space-y-3 text-sm"
|
||||
on:submit|preventDefault={() => {
|
||||
submitHandler();
|
||||
saveHandler();
|
||||
}}
|
||||
>
|
||||
<div class=" space-y-3 pr-1.5 overflow-y-scroll h-full max-h-[22rem]">
|
||||
<div class=" ">
|
||||
<div class=" text-sm font-medium">{$i18n.t('Chunk Params')}</div>
|
||||
|
||||
<div class=" flex">
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class="self-center text-xs font-medium min-w-fit">{$i18n.t('Chunk Size')}</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
placeholder={$i18n.t('Enter Chunk Size')}
|
||||
bind:value={chunkSize}
|
||||
autocomplete="off"
|
||||
min="0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class=" self-center text-xs font-medium min-w-fit">
|
||||
{$i18n.t('Chunk Overlap')}
|
||||
</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class="w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
placeholder={$i18n.t('Enter Chunk Overlap')}
|
||||
bind:value={chunkOverlap}
|
||||
autocomplete="off"
|
||||
min="0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pr-2">
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
<div class=" text-xs font-medium">{$i18n.t('PDF Extract Images (OCR)')}</div>
|
||||
|
||||
<button
|
||||
class=" text-xs font-medium text-gray-500"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
pdfExtractImages = !pdfExtractImages;
|
||||
}}>{pdfExtractImages ? $i18n.t('On') : $i18n.t('Off')}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end pt-3 text-sm font-medium">
|
||||
<button
|
||||
class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg"
|
||||
type="submit"
|
||||
>
|
||||
{$i18n.t('Save')}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
@ -1,8 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { getDocs } from '$lib/apis/documents';
|
||||
import {
|
||||
getRAGConfig,
|
||||
updateRAGConfig,
|
||||
getQuerySettings,
|
||||
scanDocs,
|
||||
updateQuerySettings,
|
||||
@ -17,8 +15,6 @@
|
||||
import { onMount, getContext } from 'svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
export let saveHandler: Function;
|
||||
@ -36,10 +32,6 @@
|
||||
let OpenAIKey = '';
|
||||
let OpenAIUrl = '';
|
||||
|
||||
let chunkSize = 0;
|
||||
let chunkOverlap = 0;
|
||||
let pdfExtractImages = true;
|
||||
|
||||
let querySettings = {
|
||||
template: '',
|
||||
r: 0.0,
|
||||
@ -151,14 +143,11 @@
|
||||
};
|
||||
|
||||
const submitHandler = async () => {
|
||||
const res = await updateRAGConfig(localStorage.token, {
|
||||
pdf_extract_images: pdfExtractImages,
|
||||
chunk: {
|
||||
chunk_overlap: chunkOverlap,
|
||||
chunk_size: chunkSize
|
||||
}
|
||||
});
|
||||
querySettings = await updateQuerySettings(localStorage.token, querySettings);
|
||||
embeddingModelUpdateHandler();
|
||||
|
||||
if (querySettings.hybrid) {
|
||||
rerankingModelUpdateHandler();
|
||||
}
|
||||
};
|
||||
|
||||
const setEmbeddingConfig = async () => {
|
||||
@ -183,20 +172,10 @@
|
||||
|
||||
const toggleHybridSearch = async () => {
|
||||
querySettings.hybrid = !querySettings.hybrid;
|
||||
|
||||
querySettings = await updateQuerySettings(localStorage.token, querySettings);
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
const res = await getRAGConfig(localStorage.token);
|
||||
|
||||
if (res) {
|
||||
pdfExtractImages = res.pdf_extract_images;
|
||||
|
||||
chunkSize = res.chunk.chunk_size;
|
||||
chunkOverlap = res.chunk.chunk_overlap;
|
||||
}
|
||||
|
||||
await setEmbeddingConfig();
|
||||
await setRerankingConfig();
|
||||
|
||||
@ -211,24 +190,54 @@
|
||||
saveHandler();
|
||||
}}
|
||||
>
|
||||
<div class=" space-y-3 pr-1.5 overflow-y-scroll max-h-[22rem]">
|
||||
<div>
|
||||
<div class=" mb-2 text-sm font-medium">{$i18n.t('General Settings')}</div>
|
||||
<div class=" space-y-2.5 pr-1.5 overflow-y-scroll max-h-[22rem]">
|
||||
<div class="flex flex-col gap-0.5">
|
||||
<div class=" mb-0.5 text-sm font-medium">{$i18n.t('General Settings')}</div>
|
||||
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class=" self-center text-xs font-medium">{$i18n.t('Hybrid Search')}</div>
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class=" self-center text-xs font-medium">
|
||||
{$i18n.t('Scan for documents from {{path}}', { path: '/data/docs' })}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded transition"
|
||||
class=" self-center text-xs p-1 px-3 bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-700 rounded-lg flex flex-row space-x-1 items-center {scanDirLoading
|
||||
? ' cursor-not-allowed'
|
||||
: ''}"
|
||||
on:click={() => {
|
||||
toggleHybridSearch();
|
||||
scanHandler();
|
||||
console.log('check');
|
||||
}}
|
||||
type="button"
|
||||
disabled={scanDirLoading}
|
||||
>
|
||||
{#if querySettings.hybrid === true}
|
||||
<span class="ml-2 self-center">{$i18n.t('On')}</span>
|
||||
{:else}
|
||||
<span class="ml-2 self-center">{$i18n.t('Off')}</span>
|
||||
<div class="self-center font-medium">{$i18n.t('Scan')}</div>
|
||||
|
||||
{#if scanDirLoading}
|
||||
<div class="ml-3 self-center">
|
||||
<svg
|
||||
class=" w-3 h-3"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_ajPY {
|
||||
transform-origin: center;
|
||||
animation: spinner_AtaB 0.75s infinite linear;
|
||||
}
|
||||
@keyframes spinner_AtaB {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style><path
|
||||
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
||||
opacity=".25"
|
||||
/><path
|
||||
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
||||
class="spinner_ajPY"
|
||||
/></svg
|
||||
>
|
||||
</div>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
@ -256,7 +265,7 @@
|
||||
</div>
|
||||
|
||||
{#if embeddingEngine === 'openai'}
|
||||
<div class="mt-1 flex gap-2">
|
||||
<div class="my-0.5 flex gap-2">
|
||||
<input
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
placeholder={$i18n.t('API Base URL')}
|
||||
@ -272,91 +281,65 @@
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class=" self-center text-xs font-medium">{$i18n.t('Hybrid Search')}</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded transition"
|
||||
on:click={() => {
|
||||
toggleHybridSearch();
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
{#if querySettings.hybrid === true}
|
||||
<span class="ml-2 self-center">{$i18n.t('On')}</span>
|
||||
{:else}
|
||||
<span class="ml-2 self-center">{$i18n.t('Off')}</span>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2">
|
||||
<div>
|
||||
<div class=" mb-2 text-sm font-medium">{$i18n.t('Update Embedding Model')}</div>
|
||||
<hr class=" dark:border-gray-700 my-1" />
|
||||
|
||||
{#if embeddingEngine === 'ollama'}
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2">
|
||||
<select
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
bind:value={embeddingModel}
|
||||
placeholder={$i18n.t('Select a model')}
|
||||
required
|
||||
>
|
||||
{#if !embeddingModel}
|
||||
<option value="" disabled selected>{$i18n.t('Select a model')}</option>
|
||||
{/if}
|
||||
{#each $models.filter((m) => m.id && !m.external) as model}
|
||||
<option value={model.name} class="bg-gray-100 dark:bg-gray-700"
|
||||
>{model.name + ' (' + (model.size / 1024 ** 3).toFixed(1) + ' GB)'}</option
|
||||
>
|
||||
{/each}
|
||||
</select>
|
||||
</div>
|
||||
<button
|
||||
class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
|
||||
on:click={() => {
|
||||
embeddingModelUpdateHandler();
|
||||
}}
|
||||
disabled={updateEmbeddingModelLoading}
|
||||
<div class="space-y-2" />
|
||||
<div>
|
||||
<div class=" mb-2 text-sm font-medium">{$i18n.t('Embedding Model')}</div>
|
||||
|
||||
{#if embeddingEngine === 'ollama'}
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2">
|
||||
<select
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
bind:value={embeddingModel}
|
||||
placeholder={$i18n.t('Select a model')}
|
||||
required
|
||||
>
|
||||
{#if updateEmbeddingModelLoading}
|
||||
<div class="self-center">
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_ajPY {
|
||||
transform-origin: center;
|
||||
animation: spinner_AtaB 0.75s infinite linear;
|
||||
}
|
||||
@keyframes spinner_AtaB {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style><path
|
||||
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
||||
opacity=".25"
|
||||
/><path
|
||||
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
||||
class="spinner_ajPY"
|
||||
/></svg
|
||||
>
|
||||
</div>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M12.416 3.376a.75.75 0 0 1 .208 1.04l-5 7.5a.75.75 0 0 1-1.154.114l-3-3a.75.75 0 0 1 1.06-1.06l2.353 2.353 4.493-6.74a.75.75 0 0 1 1.04-.207Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
{#if !embeddingModel}
|
||||
<option value="" disabled selected>{$i18n.t('Select a model')}</option>
|
||||
{/if}
|
||||
</button>
|
||||
{#each $models.filter((m) => m.id && !m.external) as model}
|
||||
<option value={model.name} class="bg-gray-100 dark:bg-gray-700"
|
||||
>{model.name + ' (' + (model.size / 1024 ** 3).toFixed(1) + ' GB)'}</option
|
||||
>
|
||||
{/each}
|
||||
</select>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2">
|
||||
<input
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
placeholder={$i18n.t('Update embedding model (e.g. {{model}})', {
|
||||
model: embeddingModel.slice(-40)
|
||||
})}
|
||||
bind:value={embeddingModel}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2">
|
||||
<input
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
placeholder={$i18n.t('Set embedding model (e.g. {{model}})', {
|
||||
model: embeddingModel.slice(-40)
|
||||
})}
|
||||
bind:value={embeddingModel}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{#if embeddingEngine === ''}
|
||||
<button
|
||||
class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
|
||||
on:click={() => {
|
||||
@ -406,344 +389,177 @@
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
|
||||
{$i18n.t(
|
||||
'Warning: If you update or change your embedding model, you will need to re-import all documents.'
|
||||
)}
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700 my-3" />
|
||||
|
||||
{#if querySettings.hybrid === true}
|
||||
<div class=" ">
|
||||
<div class=" mb-2 text-sm font-medium">{$i18n.t('Update Reranking Model')}</div>
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2">
|
||||
<input
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
placeholder={$i18n.t('Update reranking model (e.g. {{model}})', {
|
||||
model: rerankingModel.slice(-40)
|
||||
})}
|
||||
bind:value={rerankingModel}
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
|
||||
on:click={() => {
|
||||
rerankingModelUpdateHandler();
|
||||
}}
|
||||
disabled={updateRerankingModelLoading}
|
||||
>
|
||||
{#if updateRerankingModelLoading}
|
||||
<div class="self-center">
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_ajPY {
|
||||
transform-origin: center;
|
||||
animation: spinner_AtaB 0.75s infinite linear;
|
||||
}
|
||||
@keyframes spinner_AtaB {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style><path
|
||||
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
||||
opacity=".25"
|
||||
/><path
|
||||
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
||||
class="spinner_ajPY"
|
||||
/></svg
|
||||
>
|
||||
</div>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M8.75 2.75a.75.75 0 0 0-1.5 0v5.69L5.03 6.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 0 0-1.06-1.06L8.75 8.44V2.75Z"
|
||||
/>
|
||||
<path
|
||||
d="M3.5 9.75a.75.75 0 0 0-1.5 0v1.5A2.75 2.75 0 0 0 4.75 14h6.5A2.75 2.75 0 0 0 14 11.25v-1.5a.75.75 0 0 0-1.5 0v1.5c0 .69-.56 1.25-1.25 1.25h-6.5c-.69 0-1.25-.56-1.25-1.25v-1.5Z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700 my-3" />
|
||||
{/if}
|
||||
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class=" self-center text-xs font-medium">
|
||||
{$i18n.t('Scan for documents from {{path}}', { path: '/data/docs' })}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class=" self-center text-xs p-1 px-3 bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-700 rounded-lg flex flex-row space-x-1 items-center {scanDirLoading
|
||||
? ' cursor-not-allowed'
|
||||
: ''}"
|
||||
on:click={() => {
|
||||
scanHandler();
|
||||
console.log('check');
|
||||
}}
|
||||
type="button"
|
||||
disabled={scanDirLoading}
|
||||
>
|
||||
<div class="self-center font-medium">{$i18n.t('Scan')}</div>
|
||||
|
||||
{#if scanDirLoading}
|
||||
<div class="ml-3 self-center">
|
||||
<svg
|
||||
class=" w-3 h-3"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_ajPY {
|
||||
transform-origin: center;
|
||||
animation: spinner_AtaB 0.75s infinite linear;
|
||||
}
|
||||
@keyframes spinner_AtaB {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style><path
|
||||
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
||||
opacity=".25"
|
||||
/><path
|
||||
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
||||
class="spinner_ajPY"
|
||||
/></svg
|
||||
>
|
||||
</div>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700 my-3" />
|
||||
|
||||
<div class=" ">
|
||||
<div class=" text-sm font-medium">{$i18n.t('Chunk Params')}</div>
|
||||
|
||||
<div class=" flex">
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class="self-center text-xs font-medium min-w-fit">{$i18n.t('Chunk Size')}</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
placeholder={$i18n.t('Enter Chunk Size')}
|
||||
bind:value={chunkSize}
|
||||
autocomplete="off"
|
||||
min="0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class=" self-center text-xs font-medium min-w-fit">
|
||||
{$i18n.t('Chunk Overlap')}
|
||||
</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class="w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
placeholder={$i18n.t('Enter Chunk Overlap')}
|
||||
bind:value={chunkOverlap}
|
||||
autocomplete="off"
|
||||
min="0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pr-2">
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
<div class=" text-xs font-medium">{$i18n.t('PDF Extract Images (OCR)')}</div>
|
||||
|
||||
<button
|
||||
class=" text-xs font-medium text-gray-500"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
pdfExtractImages = !pdfExtractImages;
|
||||
}}>{pdfExtractImages ? $i18n.t('On') : $i18n.t('Off')}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700 my-3" />
|
||||
|
||||
<div class=" ">
|
||||
<div class=" text-sm font-medium">{$i18n.t('Query Params')}</div>
|
||||
|
||||
<div class=" flex">
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class="self-center text-xs font-medium min-w-fit">{$i18n.t('Top K')}</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
placeholder={$i18n.t('Enter Top K')}
|
||||
bind:value={querySettings.k}
|
||||
autocomplete="off"
|
||||
min="0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if querySettings.hybrid === true}
|
||||
<div class="flex w-full">
|
||||
<div class=" self-center text-xs font-medium min-w-fit">
|
||||
{$i18n.t('Minimum Score')}
|
||||
</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
step="0.01"
|
||||
placeholder={$i18n.t('Enter Score')}
|
||||
bind:value={querySettings.r}
|
||||
autocomplete="off"
|
||||
min="0.0"
|
||||
title={$i18n.t('The score should be a value between 0.0 (0%) and 1.0 (100%).')}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if querySettings.hybrid === true}
|
||||
<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
|
||||
{$i18n.t(
|
||||
'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
|
||||
)}
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700 my-3" />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div>
|
||||
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('RAG Template')}</div>
|
||||
<textarea
|
||||
bind:value={querySettings.template}
|
||||
class="w-full rounded-lg px-4 py-3 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none resize-none"
|
||||
rows="4"
|
||||
/>
|
||||
<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
|
||||
{$i18n.t(
|
||||
'Warning: If you update or change your embedding model, you will need to re-import all documents.'
|
||||
)}
|
||||
</div>
|
||||
|
||||
{#if querySettings.hybrid === true}
|
||||
<div class=" ">
|
||||
<div class=" mb-2 text-sm font-medium">{$i18n.t('Reranking Model')}</div>
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2">
|
||||
<input
|
||||
class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
placeholder={$i18n.t('Set reranking model (e.g. {{model}})', {
|
||||
model: 'BAAI/bge-reranker-v2-m3'
|
||||
})}
|
||||
bind:value={rerankingModel}
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
|
||||
on:click={() => {
|
||||
rerankingModelUpdateHandler();
|
||||
}}
|
||||
disabled={updateRerankingModelLoading}
|
||||
>
|
||||
{#if updateRerankingModelLoading}
|
||||
<div class="self-center">
|
||||
<svg
|
||||
class=" w-4 h-4"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><style>
|
||||
.spinner_ajPY {
|
||||
transform-origin: center;
|
||||
animation: spinner_AtaB 0.75s infinite linear;
|
||||
}
|
||||
@keyframes spinner_AtaB {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style><path
|
||||
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
||||
opacity=".25"
|
||||
/><path
|
||||
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
||||
class="spinner_ajPY"
|
||||
/></svg
|
||||
>
|
||||
</div>
|
||||
{:else}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M8.75 2.75a.75.75 0 0 0-1.5 0v5.69L5.03 6.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 0 0-1.06-1.06L8.75 8.44V2.75Z"
|
||||
/>
|
||||
<path
|
||||
d="M3.5 9.75a.75.75 0 0 0-1.5 0v1.5A2.75 2.75 0 0 0 4.75 14h6.5A2.75 2.75 0 0 0 14 11.25v-1.5a.75.75 0 0 0-1.5 0v1.5c0 .69-.56 1.25-1.25 1.25h-6.5c-.69 0-1.25-.56-1.25-1.25v-1.5Z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if showResetConfirm}
|
||||
<div class="flex justify-between rounded-md items-center py-2 px-3.5 w-full transition">
|
||||
<div class="flex items-center space-x-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path d="M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
<span>{$i18n.t('Are you sure?')}</span>
|
||||
</div>
|
||||
<hr class=" dark:border-gray-700" />
|
||||
|
||||
<div class="flex space-x-1.5 items-center">
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
const res = resetVectorDB(localStorage.token).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
{#if showResetConfirm}
|
||||
<div class="flex justify-between rounded-md items-center py-2 px-3.5 w-full transition">
|
||||
<div class="flex items-center space-x-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path d="M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
<span>{$i18n.t('Are you sure?')}</span>
|
||||
</div>
|
||||
|
||||
if (res) {
|
||||
toast.success($i18n.t('Success'));
|
||||
}
|
||||
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="flex space-x-1.5 items-center">
|
||||
<button
|
||||
class=" flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = true;
|
||||
const res = resetVectorDB(localStorage.token).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res) {
|
||||
toast.success($i18n.t('Success'));
|
||||
}
|
||||
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
>
|
||||
<div class=" self-center mr-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 12.5 4H9.621a1.5 1.5 0 0 1-1.06-.44L7.439 2.44A1.5 1.5 0 0 0 6.38 2H3.5Zm6.75 7.75a.75.75 0 0 0 0-1.5h-4.5a.75.75 0 0 0 0 1.5h4.5Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center text-sm font-medium">{$i18n.t('Reset Vector Storage')}</div>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
{/if}
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<button
|
||||
class=" flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = true;
|
||||
}}
|
||||
>
|
||||
<div class=" self-center mr-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 12.5 4H9.621a1.5 1.5 0 0 1-1.06-.44L7.439 2.44A1.5 1.5 0 0 0 6.38 2H3.5Zm6.75 7.75a.75.75 0 0 0 0-1.5h-4.5a.75.75 0 0 0 0 1.5h4.5Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center text-sm font-medium">{$i18n.t('Reset Vector Storage')}</div>
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="flex justify-end pt-3 text-sm font-medium">
|
||||
<button
|
||||
|
119
src/lib/components/documents/Settings/QueryParams.svelte
Normal file
119
src/lib/components/documents/Settings/QueryParams.svelte
Normal file
@ -0,0 +1,119 @@
|
||||
<script lang="ts">
|
||||
import { getDocs } from '$lib/apis/documents';
|
||||
import {
|
||||
getRAGConfig,
|
||||
updateRAGConfig,
|
||||
getQuerySettings,
|
||||
scanDocs,
|
||||
updateQuerySettings,
|
||||
resetVectorDB,
|
||||
getEmbeddingConfig,
|
||||
updateEmbeddingConfig,
|
||||
getRerankingConfig,
|
||||
updateRerankingConfig
|
||||
} from '$lib/apis/rag';
|
||||
|
||||
import { documents, models } from '$lib/stores';
|
||||
import { onMount, getContext } from 'svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
export let saveHandler: Function;
|
||||
|
||||
let querySettings = {
|
||||
template: '',
|
||||
r: 0.0,
|
||||
k: 4,
|
||||
hybrid: false
|
||||
};
|
||||
|
||||
const submitHandler = async () => {
|
||||
querySettings = await updateQuerySettings(localStorage.token, querySettings);
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
querySettings = await getQuerySettings(localStorage.token);
|
||||
});
|
||||
</script>
|
||||
|
||||
<form
|
||||
class="flex flex-col h-full justify-between space-y-3 text-sm"
|
||||
on:submit|preventDefault={() => {
|
||||
submitHandler();
|
||||
saveHandler();
|
||||
}}
|
||||
>
|
||||
<div class=" space-y-3 pr-1.5 overflow-y-scroll max-h-[22rem]">
|
||||
<div class=" ">
|
||||
<div class=" text-sm font-medium">{$i18n.t('Query Params')}</div>
|
||||
|
||||
<div class=" flex">
|
||||
<div class=" flex w-full justify-between">
|
||||
<div class="self-center text-xs font-medium min-w-fit">{$i18n.t('Top K')}</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
placeholder={$i18n.t('Enter Top K')}
|
||||
bind:value={querySettings.k}
|
||||
autocomplete="off"
|
||||
min="0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if querySettings.hybrid === true}
|
||||
<div class="flex w-full">
|
||||
<div class=" self-center text-xs font-medium min-w-fit">
|
||||
{$i18n.t('Minimum Score')}
|
||||
</div>
|
||||
|
||||
<div class="self-center p-3">
|
||||
<input
|
||||
class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
|
||||
type="number"
|
||||
step="0.01"
|
||||
placeholder={$i18n.t('Enter Score')}
|
||||
bind:value={querySettings.r}
|
||||
autocomplete="off"
|
||||
min="0.0"
|
||||
title={$i18n.t('The score should be a value between 0.0 (0%) and 1.0 (100%).')}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if querySettings.hybrid === true}
|
||||
<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
|
||||
{$i18n.t(
|
||||
'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
|
||||
)}
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700 my-3" />
|
||||
{/if}
|
||||
|
||||
<div>
|
||||
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('RAG Template')}</div>
|
||||
<textarea
|
||||
bind:value={querySettings.template}
|
||||
class="w-full rounded-lg px-4 py-3 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none resize-none"
|
||||
rows="4"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end pt-3 text-sm font-medium">
|
||||
<button
|
||||
class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg"
|
||||
type="submit"
|
||||
>
|
||||
{$i18n.t('Save')}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
74
src/lib/components/documents/Settings/WebParams.svelte
Normal file
74
src/lib/components/documents/Settings/WebParams.svelte
Normal file
@ -0,0 +1,74 @@
|
||||
<script lang="ts">
|
||||
import { getRAGConfig, updateRAGConfig } from '$lib/apis/rag';
|
||||
|
||||
import { documents, models } from '$lib/stores';
|
||||
import { onMount, getContext } from 'svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
export let saveHandler: Function;
|
||||
|
||||
let webLoaderSSLVerification = true;
|
||||
|
||||
const submitHandler = async () => {
|
||||
const res = await updateRAGConfig(localStorage.token, {
|
||||
web_loader_ssl_verification: webLoaderSSLVerification
|
||||
});
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
const res = await getRAGConfig(localStorage.token);
|
||||
|
||||
if (res) {
|
||||
webLoaderSSLVerification = res.web_loader_ssl_verification;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<form
|
||||
class="flex flex-col h-full justify-between space-y-3 text-sm"
|
||||
on:submit|preventDefault={() => {
|
||||
submitHandler();
|
||||
saveHandler();
|
||||
}}
|
||||
>
|
||||
<div class=" space-y-3 pr-1.5 overflow-y-scroll h-full max-h-[22rem]">
|
||||
<div>
|
||||
<div class=" mb-1 text-sm font-medium">
|
||||
{$i18n.t('Retrieval Augmented Generation Settings')}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs font-medium">
|
||||
{$i18n.t('Bypass SSL verification for Websites')}
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded transition"
|
||||
on:click={() => {
|
||||
webLoaderSSLVerification = !webLoaderSSLVerification;
|
||||
submitHandler();
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
{#if webLoaderSSLVerification === true}
|
||||
<span class="ml-2 self-center">{$i18n.t('On')}</span>
|
||||
{:else}
|
||||
<span class="ml-2 self-center">{$i18n.t('Off')}</span>
|
||||
{/if}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end pt-3 text-sm font-medium">
|
||||
<button
|
||||
class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg"
|
||||
type="submit"
|
||||
>
|
||||
{$i18n.t('Save')}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
@ -2,6 +2,10 @@
|
||||
import { getContext } from 'svelte';
|
||||
import Modal from '../common/Modal.svelte';
|
||||
import General from './Settings/General.svelte';
|
||||
import ChunkParams from './Settings/ChunkParams.svelte';
|
||||
import QueryParams from './Settings/QueryParams.svelte';
|
||||
import WebParams from './Settings/WebParams.svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
@ -62,25 +66,115 @@
|
||||
</div>
|
||||
<div class=" self-center">{$i18n.t('General')}</div>
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
||||
'chunk'
|
||||
? 'bg-gray-200 dark:bg-gray-700'
|
||||
: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
||||
on:click={() => {
|
||||
selectedTab = 'chunk';
|
||||
}}
|
||||
>
|
||||
<div class=" self-center mr-2">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM12.75 12a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V18a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V12Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
<path
|
||||
d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center">{$i18n.t('Chunk Params')}</div>
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
||||
'query'
|
||||
? 'bg-gray-200 dark:bg-gray-700'
|
||||
: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
||||
on:click={() => {
|
||||
selectedTab = 'query';
|
||||
}}
|
||||
>
|
||||
<div class=" self-center mr-2">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path d="M11.625 16.5a1.875 1.875 0 1 0 0-3.75 1.875 1.875 0 0 0 0 3.75Z" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875Zm6 16.5c.66 0 1.277-.19 1.797-.518l1.048 1.048a.75.75 0 0 0 1.06-1.06l-1.047-1.048A3.375 3.375 0 1 0 11.625 18Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
<path
|
||||
d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center">{$i18n.t('Query Params')}</div>
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
|
||||
'web'
|
||||
? 'bg-gray-200 dark:bg-gray-700'
|
||||
: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
|
||||
on:click={() => {
|
||||
selectedTab = 'web';
|
||||
}}
|
||||
>
|
||||
<div class=" self-center mr-2">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M21.721 12.752a9.711 9.711 0 0 0-.945-5.003 12.754 12.754 0 0 1-4.339 2.708 18.991 18.991 0 0 1-.214 4.772 17.165 17.165 0 0 0 5.498-2.477ZM14.634 15.55a17.324 17.324 0 0 0 .332-4.647c-.952.227-1.945.347-2.966.347-1.021 0-2.014-.12-2.966-.347a17.515 17.515 0 0 0 .332 4.647 17.385 17.385 0 0 0 5.268 0ZM9.772 17.119a18.963 18.963 0 0 0 4.456 0A17.182 17.182 0 0 1 12 21.724a17.18 17.18 0 0 1-2.228-4.605ZM7.777 15.23a18.87 18.87 0 0 1-.214-4.774 12.753 12.753 0 0 1-4.34-2.708 9.711 9.711 0 0 0-.944 5.004 17.165 17.165 0 0 0 5.498 2.477ZM21.356 14.752a9.765 9.765 0 0 1-7.478 6.817 18.64 18.64 0 0 0 1.988-4.718 18.627 18.627 0 0 0 5.49-2.098ZM2.644 14.752c1.682.971 3.53 1.688 5.49 2.099a18.64 18.64 0 0 0 1.988 4.718 9.765 9.765 0 0 1-7.478-6.816ZM13.878 2.43a9.755 9.755 0 0 1 6.116 3.986 11.267 11.267 0 0 1-3.746 2.504 18.63 18.63 0 0 0-2.37-6.49ZM12 2.276a17.152 17.152 0 0 1 2.805 7.121c-.897.23-1.837.353-2.805.353-.968 0-1.908-.122-2.805-.353A17.151 17.151 0 0 1 12 2.276ZM10.122 2.43a18.629 18.629 0 0 0-2.37 6.49 11.266 11.266 0 0 1-3.746-2.504 9.754 9.754 0 0 1 6.116-3.985Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center">{$i18n.t('Web Params')}</div>
|
||||
</button>
|
||||
</div>
|
||||
<div class="flex-1 md:min-h-[380px]">
|
||||
{#if selectedTab === 'general'}
|
||||
<General
|
||||
saveHandler={() => {
|
||||
show = false;
|
||||
toast.success($i18n.t('Settings saved successfully!'));
|
||||
}}
|
||||
/>
|
||||
<!-- <General
|
||||
{:else if selectedTab === 'chunk'}
|
||||
<ChunkParams
|
||||
saveHandler={() => {
|
||||
show = false;
|
||||
toast.success($i18n.t('Settings saved successfully!'));
|
||||
}}
|
||||
/> -->
|
||||
<!-- {:else if selectedTab === 'users'}
|
||||
<Users
|
||||
/>
|
||||
{:else if selectedTab === 'query'}
|
||||
<QueryParams
|
||||
saveHandler={() => {
|
||||
show = false;
|
||||
toast.success($i18n.t('Settings saved successfully!'));
|
||||
}}
|
||||
/> -->
|
||||
/>
|
||||
{:else if selectedTab === 'web'}
|
||||
<WebParams
|
||||
saveHandler={() => {
|
||||
toast.success($i18n.t('Settings saved successfully!'));
|
||||
}}
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -419,7 +419,7 @@
|
||||
await chats.set(await getChatList(localStorage.token));
|
||||
}}
|
||||
>
|
||||
all
|
||||
{$i18n.t('all')}
|
||||
</button>
|
||||
{#each $tags as tag}
|
||||
<button
|
||||
|
@ -161,7 +161,9 @@
|
||||
{/each} -->
|
||||
</div>
|
||||
{:else}
|
||||
<div class="text-left text-sm w-full mb-8">You have no archived conversations.</div>
|
||||
<div class="text-left text-sm w-full mb-8">
|
||||
{$i18n.t('You have no archived conversations.')}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -49,7 +49,7 @@
|
||||
}}
|
||||
>
|
||||
<Share />
|
||||
<div class="flex items-center">Share</div>
|
||||
<div class="flex items-center">{$i18n.t('Share')}</div>
|
||||
</DropdownMenu.Item>
|
||||
|
||||
<DropdownMenu.Item
|
||||
@ -59,7 +59,7 @@
|
||||
}}
|
||||
>
|
||||
<Pencil strokeWidth="2" />
|
||||
<div class="flex items-center">Rename</div>
|
||||
<div class="flex items-center">{$i18n.t('Rename')}</div>
|
||||
</DropdownMenu.Item>
|
||||
|
||||
<DropdownMenu.Item
|
||||
@ -69,7 +69,7 @@
|
||||
}}
|
||||
>
|
||||
<GarbageBin strokeWidth="2" />
|
||||
<div class="flex items-center">Delete</div>
|
||||
<div class="flex items-center">{$i18n.t('Delete')}</div>
|
||||
</DropdownMenu.Item>
|
||||
|
||||
<hr class="border-gray-100 dark:border-gray-800 mt-2.5 mb-1.5" />
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "هل تملك حساب ؟",
|
||||
"an assistant": "مساعد",
|
||||
"and": "و",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API الرابط الرئيسي",
|
||||
"API Key": "API مفتاح",
|
||||
"API Key created.": "API تم أنشاء المفتاح",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "متاح",
|
||||
"Back": "خلف",
|
||||
"Bad Response": "استجابة خطاء",
|
||||
"before": "",
|
||||
"Being lazy": "كون كسول",
|
||||
"Builder Mode": "بناء الموديل",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "اللغاء",
|
||||
"Categories": "التصنيفات",
|
||||
"Change Password": "تغير الباسورد",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk تداخل",
|
||||
"Chunk Params": "Chunk المتغيرات",
|
||||
"Chunk Size": "Chunk حجم",
|
||||
"Citation": "",
|
||||
"Click here for help.": "أضغط هنا للمساعدة",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "انقر هنا للتحقق من ملفات الموديلات الأخرى.",
|
||||
"Click here to select": "أضغط هنا للاختيار",
|
||||
"Click here to select a csv file.": "أضغط هنا للاختيار ملف csv",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "قم بإنشاء عبارة موجزة مكونة من 3-5 كلمات كرأس للاستعلام التالي، مع الالتزام الصارم بالحد الأقصى لعدد الكلمات الذي يتراوح بين 3-5 كلمات وتجنب استخدام الكلمة 'عنوان':",
|
||||
"Create a modelfile": "إنشاء ملف نموذجي",
|
||||
"Create Account": "إنشاء حساب",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "أنشئت في",
|
||||
"Created At": "أنشئت من",
|
||||
"Current Model": "الموديل المختار",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "مخصص",
|
||||
"Customize Ollama models for a specific purpose": "تخصيص الموديل Ollama لغرض محدد",
|
||||
"Dark": "مظلم",
|
||||
"Dashboard": "",
|
||||
"Database": "قاعدة البيانات",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "الإفتراضي",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "حذف المحادثه",
|
||||
"Delete Chat": "حذف المحادثه.",
|
||||
"Delete Chats": "حذ المحادثات",
|
||||
"delete this link": "",
|
||||
"Delete User": "حذف المستخدم",
|
||||
"Deleted {{deleteModelTag}}": "حذف {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "حذف {{tagName}}",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "تعديل الملف",
|
||||
"Edit User": "تعديل المستخدم",
|
||||
"Email": "البريد",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "تضمين محرك النموذج",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "تم تعيين نموذج التضمين على \"{{embedding_model}}\"",
|
||||
"Enable Chat History": "تمكين سجل الدردشة",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "أدخل تسلسل التوقف",
|
||||
"Enter Top K": "Enter Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "الرابط (e.g. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "أدخل البريد الاكتروني",
|
||||
"Enter Your Full Name": "أدخل الاسم كامل",
|
||||
"Enter Your Password": "ادخل كلمة المرور",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "إدارة موديلات Ollama",
|
||||
"Max Tokens": "Max Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "يمكن تنزيل 3 نماذج كحد أقصى في وقت واحد. الرجاء معاودة المحاولة في وقت لاحق.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "الحد الأدنى من النقاط",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "قم بتسمية ملف النموذج الخاص بك",
|
||||
"New Chat": "دردشة جديدة",
|
||||
"New Password": "كلمة المرور الجديدة",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "ليس صحيحا من حيث الواقع",
|
||||
"Not sure what to add?": "لست متأكدا ما يجب إضافته؟",
|
||||
"Not sure what to write? Switch to": "لست متأكدا ماذا أكتب؟ التبديل إلى",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "مطلوب عنوان URL/مفتاح OpenAI.",
|
||||
"or": "أو",
|
||||
"Other": "آخر",
|
||||
"Overview": "",
|
||||
"Parameters": "Parameters",
|
||||
"Password": "الباسورد",
|
||||
"PDF document (.pdf)": "PDF ملف (.pdf)",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "محتوى عاجل",
|
||||
"Prompt suggestions": "اقتراحات سريعة",
|
||||
"Prompts": "حث",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "سحب الموديل من Ollama.com",
|
||||
"Pull Progress": "سحب التقدم",
|
||||
"Query Params": "Query Params",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "تجديد",
|
||||
"Release Notes": "ملاحظات الإصدار",
|
||||
"Remove": "إزالة",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "كرر آخر N",
|
||||
"Repeat Penalty": "كرر المخالفة",
|
||||
"Request Mode": "وضع الطلب",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "تم تعطيل نموذج إعادة الترتيب",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "تم ضبط نموذج إعادة الترتيب على \"{{reranking_model}}\"",
|
||||
"Reset Vector Storage": "إعادة تعيين تخزين المتجهات",
|
||||
"Response AutoCopy to Clipboard": "النسخ التلقائي للاستجابة إلى الحافظة",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "منصب",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "تم التحقق من اتصال الخادم",
|
||||
"Set as default": "الافتراضي",
|
||||
"Set Default Model": "تفعيد الموديل الافتراضي",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "حجم الصورة",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "ضبط الخطوات",
|
||||
"Set Title Auto-Generation Model": "قم بتعيين نموذج إنشاء العنوان تلقائيًا",
|
||||
"Set Voice": "ضبط الصوت",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "تسجيل الخروج",
|
||||
"Sign up": "تسجيل",
|
||||
"Signing in": "جاري الدخول",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "خطأ في التعرف على الكلام: {{error}}",
|
||||
"Speech-to-Text Engine": "محرك تحويل الكلام إلى نص",
|
||||
"SpeechRecognition API is not supported in this browser.": "API SpeechRecognition غير مدعومة في هذا المتصفح.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "خطاء أوه! حدثت مشكلة في الاتصال بـ {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "نوع ملف غير معروف '{{file_type}}', ولكن القبول والتعامل كنص عادي ",
|
||||
"Update and Copy Link": "تحديث ونسخ الرابط",
|
||||
"Update Embedding Model": "تحديث الموديل التضمين",
|
||||
"Update embedding model (e.g. {{model}})": "تحديث الموديلات التضمين (e.g. {{model}})",
|
||||
"Update password": "تحديث كلمة المرور",
|
||||
"Update Reranking Model": "تحديث الموديل إعادة الترتيب",
|
||||
"Update reranking model (e.g. {{model}})": "تحديث الموديل إعادة الترتيب (e.g. {{model}})",
|
||||
"Upload a GGUF model": "رفع موديل نوع GGUF",
|
||||
"Upload files": "رفع الملفات",
|
||||
"Upload Progress": "جاري التحميل",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "إصدار",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "تحذير: إذا قمت بتحديث أو تغيير نموذج التضمين الخاص بك، فستحتاج إلى إعادة استيراد كافة المستندات.",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "Webhook الرابط",
|
||||
"WebUI Add-ons": "WebUI الأضافات",
|
||||
"WebUI Settings": "WebUI اعدادات",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "اكتب اقتراحًا سريعًا (على سبيل المثال، من أنت؟)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "اكتب ملخصًا في 50 كلمة يلخص [الموضوع أو الكلمة الرئيسية].",
|
||||
"You": "أنت",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "مساعدك المفيد هنا",
|
||||
"You're now logged in.": "لقد قمت الآن بتسجيل الدخول.",
|
||||
"Youtube": "Youtube"
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Вече имате акаунт? ",
|
||||
"an assistant": "асистент",
|
||||
"and": "и",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API Базов URL",
|
||||
"API Key": "API Ключ",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "наличен!",
|
||||
"Back": "Назад",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Режим на Създаване",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Отказ",
|
||||
"Categories": "Категории",
|
||||
"Change Password": "Промяна на Парола",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk Params",
|
||||
"Chunk Size": "Chunk Size",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Натиснете тук за помощ.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Натиснете тук за проверка на други моделфайлове.",
|
||||
"Click here to select": "Натиснете тук, за да изберете",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Създайте кратка фраза от 3-5 думи като заглавие за следващото запитване, като стриктно спазвате ограничението от 3-5 думи и избягвате използването на думата 'заглавие':",
|
||||
"Create a modelfile": "Създаване на модфайл",
|
||||
"Create Account": "Създаване на Акаунт",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Създадено на",
|
||||
"Created At": "",
|
||||
"Current Model": "Текущ модел",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Персонализиран",
|
||||
"Customize Ollama models for a specific purpose": "Персонализиране на Ollama моделите за конкретна цел",
|
||||
"Dark": "Тъмен",
|
||||
"Dashboard": "",
|
||||
"Database": "База данни",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "По подразбиране",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Изтриване на чат",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Изтриване на Чатове",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Изтрито {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Редактиране на документ",
|
||||
"Edit User": "Редактиране на потребител",
|
||||
"Email": "Имейл",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Вклюване на Чат История",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Въведете стоп последователност",
|
||||
"Enter Top K": "Въведете Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Въведете URL (напр. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Въведете имейл",
|
||||
"Enter Your Full Name": "Въведете вашето пълно име",
|
||||
"Enter Your Password": "Въведете вашата парола",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Управление на Ollama Моделите",
|
||||
"Max Tokens": "Max Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 модели могат да бъдат сваляни едновременно. Моля, опитайте отново по-късно.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Име на модфайла",
|
||||
"New Chat": "Нов чат",
|
||||
"New Password": "Нова парола",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Не сте сигурни, какво да добавите?",
|
||||
"Not sure what to write? Switch to": "Не сте сигурни, какво да напишете? Превключете към",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "или",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Параметри",
|
||||
"Password": "Парола",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Съдържание на промпта",
|
||||
"Prompt suggestions": "Промпт предложения",
|
||||
"Prompts": "Промптове",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Издърпайте модел от Ollama.com",
|
||||
"Pull Progress": "Прогрес на издърпването",
|
||||
"Query Params": "Query Параметри",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Бележки по изданието",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repeat Last N",
|
||||
"Repeat Penalty": "Repeat Penalty",
|
||||
"Request Mode": "Request Mode",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Ресет Vector Storage",
|
||||
"Response AutoCopy to Clipboard": "Аувтоматично копиране на отговор в клипборда",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Роля",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Server connection verified",
|
||||
"Set as default": "Задай по подразбиране",
|
||||
"Set Default Model": "Задай Модел По Подразбиране",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Задай Размер на Изображението",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Задай Стъпки",
|
||||
"Set Title Auto-Generation Model": "Задай Модел за Автоматично Генериране на Заглавие",
|
||||
"Set Voice": "Задай Глас",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Изход",
|
||||
"Sign up": "Регистрация",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Speech recognition error: {{error}}",
|
||||
"Speech-to-Text Engine": "Speech-to-Text Engine",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "О, не! Възникна проблем при свързването с {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Непознат файлов тип '{{file_type}}', но се приема и обработва като текст",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Обновяване на парола",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Качване на GGUF модел",
|
||||
"Upload files": "Качване на файлове",
|
||||
"Upload Progress": "Прогрес на качването",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Версия",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Уеб",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI Добавки",
|
||||
"WebUI Settings": "WebUI Настройки",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напиши предложение за промпт (напр. Кой сте вие?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напиши описание в 50 знака, което описва [тема или ключова дума].",
|
||||
"You": "Вие",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Вие сте полезен асистент.",
|
||||
"You're now logged in.": "Сега, вие влязохте в системата.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "আগে থেকেই একাউন্ট আছে?",
|
||||
"an assistant": "একটা এসিস্ট্যান্ট",
|
||||
"and": "এবং",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "এপিআই বেজ ইউআরএল",
|
||||
"API Key": "এপিআই কোড",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "উপলব্ধ!",
|
||||
"Back": "পেছনে",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "বিল্ডার মোড",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "বাতিল",
|
||||
"Categories": "ক্যাটাগরিসমূহ",
|
||||
"Change Password": "পাসওয়ার্ড পরিবর্তন করুন",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "চাঙ্ক ওভারল্যাপ",
|
||||
"Chunk Params": "চাঙ্ক প্যারামিটার্স",
|
||||
"Chunk Size": "চাঙ্ক সাইজ",
|
||||
"Citation": "",
|
||||
"Click here for help.": "সাহায্যের জন্য এখানে ক্লিক করুন",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "অন্যান্য মডেলফাইল চেক করার জন্য এখানে ক্লিক করুন",
|
||||
"Click here to select": "নির্বাচন করার জন্য এখানে ক্লিক করুন",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "'title' শব্দটি ব্যবহার না করে নিম্মোক্ত অনুসন্ধানের জন্য সংক্ষেপে সর্বোচ্চ ৩-৫ শব্দের একটি হেডার তৈরি করুন",
|
||||
"Create a modelfile": "একটি মডেলফাইল তৈরি করুন",
|
||||
"Create Account": "একাউন্ট তৈরি করুন",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "নির্মানকাল",
|
||||
"Created At": "",
|
||||
"Current Model": "বর্তমান মডেল",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "কাস্টম",
|
||||
"Customize Ollama models for a specific purpose": "নির্দিষ্ট উদ্দেশ্যে Ollama মডেল পরিবর্তন করুন",
|
||||
"Dark": "ডার্ক",
|
||||
"Dashboard": "",
|
||||
"Database": "ডেটাবেজ",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "ডিফল্ট",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "চ্যাট মুছে ফেলুন",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "চ্যাটগুলো মুছে ফেলুন",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} মুছে ফেলা হয়েছে",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "ডকুমেন্ট এডিট করুন",
|
||||
"Edit User": "ইউজার এডিট করুন",
|
||||
"Email": "ইমেইল",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "চ্যাট হিস্টোরি চালু করুন",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "স্টপ সিকোয়েন্স লিখুন",
|
||||
"Enter Top K": "Top K লিখুন",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "ইউআরএল দিন (যেমন http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "আপনার ইমেইল লিখুন",
|
||||
"Enter Your Full Name": "আপনার পূর্ণ নাম লিখুন",
|
||||
"Enter Your Password": "আপনার পাসওয়ার্ড লিখুন",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Ollama মডেলসূহ ব্যবস্থাপনা করুন",
|
||||
"Max Tokens": "সর্বোচ্চ টোকন",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "একসঙ্গে সর্বোচ্চ তিনটি মডেল ডাউনলোড করা যায়। দয়া করে পরে আবার চেষ্টা করুন।",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "আপনার মডেলফাইলের নাম দিন",
|
||||
"New Chat": "নতুন চ্যাট",
|
||||
"New Password": "নতুন পাসওয়ার্ড",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "কী যুক্ত করতে হবে নিশ্চিত না?",
|
||||
"Not sure what to write? Switch to": "কী লিখতে হবে নিশ্চিত না? পরিবর্তন করুন:",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "অথবা",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "প্যারামিটারসমূহ",
|
||||
"Password": "পাসওয়ার্ড",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "প্রম্পট কন্টেন্ট",
|
||||
"Prompt suggestions": "প্রম্পট সাজেশনসমূহ",
|
||||
"Prompts": "প্রম্পটসমূহ",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Ollama.com থেকে একটি টেনে আনুন আনুন",
|
||||
"Pull Progress": "Pull চলমান",
|
||||
"Query Params": "Query প্যারামিটারসমূহ",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "রিলিজ নোটসমূহ",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "রিপিট Last N",
|
||||
"Repeat Penalty": "রিপিট প্যানাল্টি",
|
||||
"Request Mode": "রিকোয়েস্ট মোড",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "ভেক্টর স্টোরেজ রিসেট করুন",
|
||||
"Response AutoCopy to Clipboard": "রেসপন্সগুলো স্বয়ংক্রিভাবে ক্লিপবোর্ডে কপি হবে",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "পদবি",
|
||||
"Rosé Pine": "রোজ পাইন",
|
||||
"Rosé Pine Dawn": "ভোরের রোজ পাইন",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "সার্ভার কানেকশন যাচাই করা হয়েছে",
|
||||
"Set as default": "ডিফল্ট হিসেবে নির্ধারণ করুন",
|
||||
"Set Default Model": "ডিফল্ট মডেল নির্ধারণ করুন",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "ছবির সাইজ নির্ধারণ করুন",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "পরবর্তী ধাপসমূহ",
|
||||
"Set Title Auto-Generation Model": "শিরোনাম অটোজেনারেশন মডেন নির্ধারণ করুন",
|
||||
"Set Voice": "কন্ঠস্বর নির্ধারণ করুন",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "সাইন আউট",
|
||||
"Sign up": "সাইন আপ",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "স্পিচ রিকগনিশনে সমস্যা: {{error}}",
|
||||
"Speech-to-Text Engine": "স্পিচ-টু-টেক্সট ইঞ্জিন",
|
||||
"SpeechRecognition API is not supported in this browser.": "এই ব্রাউজার স্পিচরিকগনিশন এপিআই সাপোর্ট করে না।",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "ওহ-হো! {{provider}} এর সাথে কানেকশনে সমস্যা হয়েছে।",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "অপরিচিত ফাইল ফরম্যাট '{{file_type}}', তবে প্লেইন টেক্সট হিসেবে গ্রহণ করা হলো",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "পাসওয়ার্ড আপডেট করুন",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "একটি GGUF মডেল আপলোড করুন",
|
||||
"Upload files": "ফাইলগুলো আপলোড করুন",
|
||||
"Upload Progress": "আপলোড হচ্ছে",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "ভার্সন",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "ওয়েব",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI এড-অনসমূহ",
|
||||
"WebUI Settings": "WebUI সেটিংসমূহ",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "একটি প্রম্পট সাজেশন লিখুন (যেমন Who are you?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "৫০ শব্দের মধ্যে [topic or keyword] এর একটি সারসংক্ষেপ লিখুন।",
|
||||
"You": "আপনি",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "আপনি একজন উপকারী এসিস্ট্যান্ট",
|
||||
"You're now logged in.": "আপনি এখন লগইন করা অবস্থায় আছেন",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Ja tens un compte?",
|
||||
"an assistant": "un assistent",
|
||||
"and": "i",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "URL Base de l'API",
|
||||
"API Key": "Clau de l'API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "disponible!",
|
||||
"Back": "Enrere",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Mode Constructor",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Cancel·la",
|
||||
"Categories": "Categories",
|
||||
"Change Password": "Canvia la Contrasenya",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Solapament de Blocs",
|
||||
"Chunk Params": "Paràmetres de Blocs",
|
||||
"Chunk Size": "Mida del Bloc",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Fes clic aquí per ajuda.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Fes clic aquí per comprovar altres fitxers de model.",
|
||||
"Click here to select": "Fes clic aquí per seleccionar",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Crea una frase concisa de 3-5 paraules com a capçalera per a la següent consulta, seguint estrictament el límit de 3-5 paraules i evitant l'ús de la paraula 'títol':",
|
||||
"Create a modelfile": "Crea un fitxer de model",
|
||||
"Create Account": "Crea un Compte",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Creat el",
|
||||
"Created At": "",
|
||||
"Current Model": "Model Actual",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personalitzat",
|
||||
"Customize Ollama models for a specific purpose": "Personalitza els models Ollama per a un propòsit específic",
|
||||
"Dark": "Fosc",
|
||||
"Dashboard": "",
|
||||
"Database": "Base de Dades",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Per defecte",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Esborra xat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Esborra Xats",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Esborrat {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Edita Document",
|
||||
"Edit User": "Edita Usuari",
|
||||
"Email": "Correu electrònic",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Activa Historial de Xat",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Introdueix la seqüència de parada",
|
||||
"Enter Top K": "Introdueix Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Introdueix l'URL (p. ex. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Introdueix el Teu Correu Electrònic",
|
||||
"Enter Your Full Name": "Introdueix el Teu Nom Complet",
|
||||
"Enter Your Password": "Introdueix la Teva Contrasenya",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Gestiona Models Ollama",
|
||||
"Max Tokens": "Màxim de Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es poden descarregar un màxim de 3 models simultàniament. Si us plau, prova-ho més tard.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Eta de Mirostat",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nomena el teu fitxer de model",
|
||||
"New Chat": "Xat Nou",
|
||||
"New Password": "Nova Contrasenya",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "No estàs segur del que afegir?",
|
||||
"Not sure what to write? Switch to": "No estàs segur del que escriure? Canvia a",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "o",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Paràmetres",
|
||||
"Password": "Contrasenya",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Contingut del Prompt",
|
||||
"Prompt suggestions": "Suggeriments de Prompt",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Treu un model d'Ollama.com",
|
||||
"Pull Progress": "Progrés de Tracció",
|
||||
"Query Params": "Paràmetres de Consulta",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notes de la Versió",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repeteix Últim N",
|
||||
"Repeat Penalty": "Penalització de Repetició",
|
||||
"Request Mode": "Mode de Sol·licitud",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Reinicia l'Emmagatzematge de Vectors",
|
||||
"Response AutoCopy to Clipboard": "Resposta AutoCopiar al Portapapers",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rol",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Albada Rosé Pine",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Connexió al servidor verificada",
|
||||
"Set as default": "Estableix com a predeterminat",
|
||||
"Set Default Model": "Estableix Model Predeterminat",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Estableix Mida de la Imatge",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Estableix Passos",
|
||||
"Set Title Auto-Generation Model": "Estableix Model d'Auto-Generació de Títol",
|
||||
"Set Voice": "Estableix Veu",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Tanca sessió",
|
||||
"Sign up": "Registra't",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Error de reconeixement de veu: {{error}}",
|
||||
"Speech-to-Text Engine": "Motor de Veu a Text",
|
||||
"SpeechRecognition API is not supported in this browser.": "L'API de Reconèixer Veu no és compatible amb aquest navegador.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Uf! Hi va haver un problema connectant-se a {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipus d'Arxiu Desconegut '{{file_type}}', però acceptant i tractant com a text pla",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Actualitza contrasenya",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Puja un model GGUF",
|
||||
"Upload files": "Puja arxius",
|
||||
"Upload Progress": "Progrés de Càrrega",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Versió",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Complements de WebUI",
|
||||
"WebUI Settings": "Configuració de WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escriu una suggerència de prompt (p. ex. Qui ets tu?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escriu un resum en 50 paraules que resumeixi [tema o paraula clau].",
|
||||
"You": "Tu",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Ets un assistent útil.",
|
||||
"You're now logged in.": "Ara estàs connectat.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Hast du vielleicht schon ein Account?",
|
||||
"an assistant": "ein Assistent",
|
||||
"and": "und",
|
||||
"and create a new shared link.": "und einen neuen geteilten Link zu erstellen.",
|
||||
"API Base URL": "API Basis URL",
|
||||
"API Key": "API Key",
|
||||
"API Key created.": "API Key erstellt",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "verfügbar!",
|
||||
"Back": "Zurück",
|
||||
"Bad Response": "Schlechte Antwort",
|
||||
"before": "",
|
||||
"Being lazy": "Faul sein",
|
||||
"Builder Mode": "Builder Modus",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Abbrechen",
|
||||
"Categories": "Kategorien",
|
||||
"Change Password": "Passwort ändern",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk Parameter",
|
||||
"Chunk Size": "Chunk Size",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Klicke hier für Hilfe.",
|
||||
"Click here to": "Klicke hier, um",
|
||||
"Click here to check other modelfiles.": "Klicke hier, um andere Modelfiles zu überprüfen.",
|
||||
"Click here to select": "Klicke hier um auszuwählen",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -93,11 +98,13 @@
|
||||
"Copy": "Kopieren",
|
||||
"Copy last code block": "Letzten Codeblock kopieren",
|
||||
"Copy last response": "Letzte Antwort kopieren",
|
||||
"Copy Link": "kopiere Link",
|
||||
"Copy Link": "Link kopieren",
|
||||
"Copying to clipboard was successful!": "Das Kopieren in die Zwischenablage war erfolgreich!",
|
||||
"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':": "Erstelle einen prägnanten Satz mit 3-5 Wörtern als Überschrift für die folgende Abfrage. Halte dich dabei strikt an die 3-5-Wort-Grenze und vermeide die Verwendung des Wortes Titel:",
|
||||
"Create a modelfile": "Modelfiles erstellen",
|
||||
"Create Account": "Konto erstellen",
|
||||
"Create new key": "Neuen Schlüssel erstellen",
|
||||
"Create new secret key": "Neuen API Schlüssel erstellen",
|
||||
"Created at": "Erstellt am",
|
||||
"Created At": "Erstellt am",
|
||||
"Current Model": "Aktuelles Modell",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Benutzerdefiniert",
|
||||
"Customize Ollama models for a specific purpose": "Ollama-Modelle für einen bestimmten Zweck anpassen",
|
||||
"Dark": "Dunkel",
|
||||
"Dashboard": "",
|
||||
"Database": "Datenbank",
|
||||
"DD/MM/YYYY HH:mm": "DD.MM.YYYY HH:mm",
|
||||
"Default": "Standard",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Chat löschen",
|
||||
"Delete Chat": "Chat löschen",
|
||||
"Delete Chats": "Chats löschen",
|
||||
"delete this link": "diesen Link zu löschen",
|
||||
"Delete User": "Benutzer löschen",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} gelöscht",
|
||||
"Deleted {{tagName}}": "{{tagName}} gelöscht",
|
||||
@ -146,8 +155,9 @@
|
||||
"Edit Doc": "Dokument bearbeiten",
|
||||
"Edit User": "Benutzer bearbeiten",
|
||||
"Email": "E-Mail",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "Das Embedding Modell wurde auf \"{{embedding_model}}\" gesetzt",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Chat-Verlauf aktivieren",
|
||||
"Enable New Sign Ups": "Neue Anmeldungen aktivieren",
|
||||
"Enabled": "Aktiviert",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Stop-Sequenz eingeben",
|
||||
"Enter Top K": "Gib Top K ein",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Gib die URL ein (z.B. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "Gib die URL ein (z.B. http://localhost:11434)",
|
||||
"Enter Your Email": "Gib deine E-Mail-Adresse ein",
|
||||
"Enter Your Full Name": "Gib deinen vollständigen Namen ein",
|
||||
"Enter Your Password": "Gib dein Passwort ein",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Ollama-Modelle verwalten",
|
||||
"Max Tokens": "Maximale Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es können maximal 3 Modelle gleichzeitig heruntergeladen werden. Bitte versuche es später erneut.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "Fortlaudende Nachrichten in diesem Chat werden nicht automatisch geteilt. Benutzer mit dem Link können den Chat einsehen.",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Benenne dein modelfile",
|
||||
"New Chat": "Neuer Chat",
|
||||
"New Password": "Neues Passwort",
|
||||
"No results found": "Keine Ergebnisse gefunden",
|
||||
"No source available": "",
|
||||
"Not factually correct": "Nicht sachlich korrekt.",
|
||||
"Not sure what to add?": "Nicht sicher, was hinzugefügt werden soll?",
|
||||
"Not sure what to write? Switch to": "Nicht sicher, was Du schreiben sollst? Wechsel zu",
|
||||
@ -265,7 +279,7 @@
|
||||
"Notifications": "Desktop-Benachrichtigungen",
|
||||
"Off": "Aus",
|
||||
"Okay, Let's Go!": "Okay, los geht's!",
|
||||
"OLED Dark": "",
|
||||
"OLED Dark": "OLED Dunkel",
|
||||
"Ollama": "",
|
||||
"Ollama Base URL": "Ollama Basis URL",
|
||||
"Ollama Version": "Ollama-Version",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "OpenAI URL/Key erforderlich.",
|
||||
"or": "oder",
|
||||
"Other": "Andere",
|
||||
"Overview": "Übersicht",
|
||||
"Parameters": "Parameter",
|
||||
"Password": "Passwort",
|
||||
"PDF document (.pdf)": "PDF-Dokument (.pdf)",
|
||||
@ -293,13 +308,14 @@
|
||||
"pending": "ausstehend",
|
||||
"Permission denied when accessing microphone: {{error}}": "Zugriff auf das Mikrofon verweigert: {{error}}",
|
||||
"Plain text (.txt)": "Nur Text (.txt)",
|
||||
"Playground": "Spielplatz",
|
||||
"Playground": "Testumgebung",
|
||||
"Positive attitude": "Positive Einstellung",
|
||||
"Profile Image": "Profilbild",
|
||||
"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (z.B. Erzähle mir eine interessante Tatsache über das Römische Reich.",
|
||||
"Prompt Content": "Prompt-Inhalt",
|
||||
"Prompt suggestions": "Prompt-Vorschläge",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "\"{{searchValue}}\" von Ollama.com herunterladen",
|
||||
"Pull a model from Ollama.com": "Ein Modell von Ollama.com abrufen",
|
||||
"Pull Progress": "Fortschritt abrufen",
|
||||
"Query Params": "Query Parameter",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "Neu generieren",
|
||||
"Release Notes": "Versionshinweise",
|
||||
"Remove": "Entfernen",
|
||||
"Remove Model": "Modell entfernen",
|
||||
"Rename": "Umbenennen",
|
||||
"Repeat Last N": "Repeat Last N",
|
||||
"Repeat Penalty": "Repeat Penalty",
|
||||
"Request Mode": "Request-Modus",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Vektorspeicher zurücksetzen",
|
||||
"Response AutoCopy to Clipboard": "Antwort automatisch in die Zwischenablage kopieren",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rolle",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -331,7 +351,7 @@
|
||||
"Scan complete!": "Scan abgeschlossen!",
|
||||
"Scan for documents from {{path}}": "Dokumente von {{path}} scannen",
|
||||
"Search": "Suchen",
|
||||
"Search a model": "Ein Modell suchen",
|
||||
"Search a model": "Nach einem Modell suchen",
|
||||
"Search Documents": "Dokumente suchen",
|
||||
"Search Prompts": "Prompts suchen",
|
||||
"See readme.md for instructions": "Anleitung in readme.md anzeigen",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Serververbindung überprüft",
|
||||
"Set as default": "Als Standard festlegen",
|
||||
"Set Default Model": "Standardmodell festlegen",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Bildgröße festlegen",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Schritte festlegen",
|
||||
"Set Title Auto-Generation Model": "Modell für automatische Titelgenerierung festlegen",
|
||||
"Set Voice": "Stimme festlegen",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Abmelden",
|
||||
"Sign up": "Registrieren",
|
||||
"Signing in": "Anmeldung",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Spracherkennungsfehler: {{error}}",
|
||||
"Speech-to-Text Engine": "Sprache-zu-Text-Engine",
|
||||
"SpeechRecognition API is not supported in this browser.": "Die Spracherkennungs-API wird in diesem Browser nicht unterstützt.",
|
||||
@ -409,18 +432,14 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Es gab ein Problem bei der Verbindung mit {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unbekannter Dateityp '{{file_type}}', wird jedoch akzeptiert und als einfacher Text behandelt.",
|
||||
"Update and Copy Link": "Erneuern und kopieren",
|
||||
"Update Embedding Model": "Embedding Modell aktualisieren",
|
||||
"Update embedding model (e.g. {{model}})": "Embedding Modell aktualisieren (z.B. {{model}})",
|
||||
"Update password": "Passwort aktualisieren",
|
||||
"Update Reranking Model": "Reranking Model aktualisieren",
|
||||
"Update reranking model (e.g. {{model}})": "Reranking Model aktualisieren (z.B. {{model}})",
|
||||
"Upload a GGUF model": "GGUF Model hochladen",
|
||||
"Upload files": "Dateien hochladen",
|
||||
"Upload Progress": "Upload Progress",
|
||||
"URL Mode": "URL Modus",
|
||||
"Use '#' in the prompt input to load and select your documents.": "Verwende '#' in der Prompt-Eingabe, um deine Dokumente zu laden und auszuwählen.",
|
||||
"Use Gravatar": "verwende Gravatar ",
|
||||
"Use Initials": "verwende Initialen",
|
||||
"Use Gravatar": "Gravatar verwenden",
|
||||
"Use Initials": "Initialen verwenden",
|
||||
"user": "Benutzer",
|
||||
"User Permissions": "Benutzerberechtigungen",
|
||||
"Users": "Benutzer",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Version",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Warnung: Wenn du dein Einbettungsmodell aktualisierst oder änderst, musst du alle Dokumente erneut importieren.",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI-Add-Ons",
|
||||
"WebUI Settings": "WebUI-Einstellungen",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Gebe einen Prompt-Vorschlag ein (z.B. Wer bist du?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Schreibe eine kurze Zusammenfassung in 50 Wörtern, die [Thema oder Schlüsselwort] zusammenfasst.",
|
||||
"You": "Du",
|
||||
"You have no archived conversations.": "Du hast keine archivierten Unterhaltungen.",
|
||||
"You have shared this chat": "Du hast diesen Chat",
|
||||
"You're a helpful assistant.": "Du bist ein hilfreicher Assistent.",
|
||||
"You're now logged in.": "Du bist nun eingeloggt.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Such account exists?",
|
||||
"an assistant": "such assistant",
|
||||
"and": "and",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API Base URL",
|
||||
"API Key": "API Key",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "available! So excite!",
|
||||
"Back": "Back",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Builder Mode",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Cancel",
|
||||
"Categories": "Categories",
|
||||
"Change Password": "Change Password",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk Params",
|
||||
"Chunk Size": "Chunk Size",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Click for help. Much assist.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Click to check other modelfiles.",
|
||||
"Click here to select": "Click to select",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Create short phrase, 3-5 word, as header for query, much strict, avoid 'title':",
|
||||
"Create a modelfile": "Create modelfile",
|
||||
"Create Account": "Create Account",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Created at",
|
||||
"Created At": "",
|
||||
"Current Model": "Current Model",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Custom",
|
||||
"Customize Ollama models for a specific purpose": "Customize Ollama models for purpose",
|
||||
"Dark": "Dark",
|
||||
"Dashboard": "",
|
||||
"Database": "Database",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Default",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Delete chat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Delete Chats",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Deleted {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Edit Doge",
|
||||
"Edit User": "Edit Wowser",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Activate Chat Story",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Enter stop bark",
|
||||
"Enter Top K": "Enter Top Wow",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Enter URL (e.g. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Enter Your Dogemail",
|
||||
"Enter Your Full Name": "Enter Your Full Wow",
|
||||
"Enter Your Password": "Enter Your Barkword",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Manage Ollama Wowdels",
|
||||
"Max Tokens": "Max Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximum of 3 models can be downloaded simultaneously. Please try again later.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Name your modelfile",
|
||||
"New Chat": "New Bark",
|
||||
"New Password": "New Barkword",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Not sure what to add?",
|
||||
"Not sure what to write? Switch to": "Not sure what to write? Switch to",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "or",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parametos",
|
||||
"Password": "Barkword",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Prompt Content",
|
||||
"Prompt suggestions": "Prompt wowgestions",
|
||||
"Prompts": "Promptos",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Pull a wowdel from Ollama.com",
|
||||
"Pull Progress": "Pull Progress",
|
||||
"Query Params": "Query Bark",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Release Borks",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repeat Last N",
|
||||
"Repeat Penalty": "Repeat Penalty",
|
||||
"Request Mode": "Request Bark",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Reset Vector Storage",
|
||||
"Response AutoCopy to Clipboard": "Copy Bark Auto Bark",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Role",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Server connection verified much secure",
|
||||
"Set as default": "Set as default very default",
|
||||
"Set Default Model": "Set Default Model much model",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Set Image Size very size",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Set Steps so many steps",
|
||||
"Set Title Auto-Generation Model": "Set Title Auto-Generation Model very auto-generate",
|
||||
"Set Voice": "Set Voice so speak",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Sign Out much logout",
|
||||
"Sign up": "Sign up much join",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Speech recognition error: {{error}} so error",
|
||||
"Speech-to-Text Engine": "Speech-to-Text Engine much speak",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser. Much sad.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! There was an issue connecting to {{provider}}. Much uh-oh!",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unknown File Type '{{file_type}}', but accepting and treating as plain text very unknown",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Update password much change",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Upload a GGUF model very upload",
|
||||
"Upload files": "Upload files very upload",
|
||||
"Upload Progress": "Upload Progress much progress",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Version much version",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web very web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI Add-ons very add-ons",
|
||||
"WebUI Settings": "WebUI Settings much settings",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Write a prompt suggestion (e.g. Who are you?) much suggest",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Write a summary in 50 words that summarizes [topic or keyword]. Much summarize.",
|
||||
"You": "You very you",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "You're a helpful assistant. Much helpful.",
|
||||
"You're now logged in.": "You're now logged in. Much logged.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "",
|
||||
"an assistant": "",
|
||||
"and": "",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "",
|
||||
"API Key": "",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "",
|
||||
"Back": "",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "",
|
||||
"Categories": "",
|
||||
"Change Password": "",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "",
|
||||
"Chunk Params": "",
|
||||
"Chunk Size": "",
|
||||
"Citation": "",
|
||||
"Click here for help.": "",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "",
|
||||
"Click here to select": "",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "",
|
||||
"Create a modelfile": "",
|
||||
"Create Account": "",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "",
|
||||
"Created At": "",
|
||||
"Current Model": "",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "",
|
||||
"Customize Ollama models for a specific purpose": "",
|
||||
"Dark": "",
|
||||
"Dashboard": "",
|
||||
"Database": "",
|
||||
"DD/MM/YYYY HH:mm": "",
|
||||
"Default": "",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "",
|
||||
"Edit User": "",
|
||||
"Email": "",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "",
|
||||
"Enter Top K": "",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "",
|
||||
"Enter Your Full Name": "",
|
||||
"Enter Your Password": "",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "",
|
||||
"Max Tokens": "",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "",
|
||||
"Mirostat Eta": "",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "",
|
||||
"New Chat": "",
|
||||
"New Password": "",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "",
|
||||
"Not sure what to write? Switch to": "",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "",
|
||||
"Password": "",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "",
|
||||
"Prompt suggestions": "",
|
||||
"Prompts": "",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "",
|
||||
"Pull Progress": "",
|
||||
"Query Params": "",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "",
|
||||
"Repeat Penalty": "",
|
||||
"Request Mode": "",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "",
|
||||
"Response AutoCopy to Clipboard": "",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "",
|
||||
"Rosé Pine": "",
|
||||
"Rosé Pine Dawn": "",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "",
|
||||
"Set as default": "",
|
||||
"Set Default Model": "",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "",
|
||||
"Set Title Auto-Generation Model": "",
|
||||
"Set Voice": "",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "",
|
||||
"Sign up": "",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "",
|
||||
"Speech-to-Text Engine": "",
|
||||
"SpeechRecognition API is not supported in this browser.": "",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "",
|
||||
"Upload files": "",
|
||||
"Upload Progress": "",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "",
|
||||
"WebUI Settings": "",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "",
|
||||
"You": "",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "",
|
||||
"You're now logged in.": "",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "",
|
||||
"an assistant": "",
|
||||
"and": "",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "",
|
||||
"API Key": "",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "",
|
||||
"Back": "",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "",
|
||||
"Categories": "",
|
||||
"Change Password": "",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "",
|
||||
"Chunk Params": "",
|
||||
"Chunk Size": "",
|
||||
"Citation": "",
|
||||
"Click here for help.": "",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "",
|
||||
"Click here to select": "",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "",
|
||||
"Create a modelfile": "",
|
||||
"Create Account": "",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "",
|
||||
"Created At": "",
|
||||
"Current Model": "",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "",
|
||||
"Customize Ollama models for a specific purpose": "",
|
||||
"Dark": "",
|
||||
"Dashboard": "",
|
||||
"Database": "",
|
||||
"DD/MM/YYYY HH:mm": "",
|
||||
"Default": "",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "",
|
||||
"Edit User": "",
|
||||
"Email": "",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "",
|
||||
"Enter Top K": "",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "",
|
||||
"Enter Your Full Name": "",
|
||||
"Enter Your Password": "",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "",
|
||||
"Max Tokens": "",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "",
|
||||
"Mirostat Eta": "",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "",
|
||||
"New Chat": "",
|
||||
"New Password": "",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "",
|
||||
"Not sure what to write? Switch to": "",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "",
|
||||
"Password": "",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "",
|
||||
"Prompt suggestions": "",
|
||||
"Prompts": "",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "",
|
||||
"Pull Progress": "",
|
||||
"Query Params": "",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "",
|
||||
"Repeat Penalty": "",
|
||||
"Request Mode": "",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "",
|
||||
"Response AutoCopy to Clipboard": "",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "",
|
||||
"Rosé Pine": "",
|
||||
"Rosé Pine Dawn": "",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "",
|
||||
"Set as default": "",
|
||||
"Set Default Model": "",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "",
|
||||
"Set Title Auto-Generation Model": "",
|
||||
"Set Voice": "",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "",
|
||||
"Sign up": "",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "",
|
||||
"Speech-to-Text Engine": "",
|
||||
"SpeechRecognition API is not supported in this browser.": "",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "",
|
||||
"Upload files": "",
|
||||
"Upload Progress": "",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "",
|
||||
"WebUI Settings": "",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "",
|
||||
"You": "",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "",
|
||||
"You're now logged in.": "",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "¿Ya tienes una cuenta?",
|
||||
"an assistant": "un asistente",
|
||||
"and": "y",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "Dirección URL de la API",
|
||||
"API Key": "Clave de la API ",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "¡disponible!",
|
||||
"Back": "Volver",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Modo de Constructor",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Cancelar",
|
||||
"Categories": "Categorías",
|
||||
"Change Password": "Cambia la Contraseña",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Superposición de fragmentos",
|
||||
"Chunk Params": "Parámetros de fragmentos",
|
||||
"Chunk Size": "Tamaño de fragmentos",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Presiona aquí para obtener ayuda.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Presiona aquí para consultar otros modelfiles.",
|
||||
"Click here to select": "Presiona aquí para seleccionar",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Cree una frase concisa de 3 a 5 palabras como encabezado para la siguiente consulta, respetando estrictamente el límite de 3 a 5 palabras y evitando el uso de la palabra 'título':",
|
||||
"Create a modelfile": "Crea un modelfile",
|
||||
"Create Account": "Crear una cuenta",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Creado en",
|
||||
"Created At": "",
|
||||
"Current Model": "Modelo Actual",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personalizado",
|
||||
"Customize Ollama models for a specific purpose": "Personaliza los modelos de Ollama para un propósito específico",
|
||||
"Dark": "Oscuro",
|
||||
"Dashboard": "",
|
||||
"Database": "Base de datos",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Por defecto",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Borrar chat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Borrar Chats",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Se borró {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Editar Documento",
|
||||
"Edit User": "Editar Usuario",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Activa el Historial de Chat",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Ingrese la secuencia de parada",
|
||||
"Enter Top K": "Ingrese el Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese la URL (p.ej., http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Ingrese su correo electrónico",
|
||||
"Enter Your Full Name": "Ingrese su nombre completo",
|
||||
"Enter Your Password": "Ingrese su contraseña",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Administrar Modelos Ollama",
|
||||
"Max Tokens": "Máximo de Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Se pueden descargar un máximo de 3 modelos simultáneamente. Por favor, inténtelo de nuevo más tarde.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nombra tu modelfile",
|
||||
"New Chat": "Nuevo Chat",
|
||||
"New Password": "Nueva Contraseña",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "¿No sabes qué añadir?",
|
||||
"Not sure what to write? Switch to": "¿No sabes qué escribir? Cambia a",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "o",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parámetros",
|
||||
"Password": "Contraseña",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Contenido del Prompt",
|
||||
"Prompt suggestions": "Sugerencias de Prompts",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Obtener un modelo de Ollama.com",
|
||||
"Pull Progress": "Progreso de extracción",
|
||||
"Query Params": "Parámetros de consulta",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notas de la versión",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repetir las últimas N",
|
||||
"Repeat Penalty": "Penalidad de repetición",
|
||||
"Request Mode": "Modo de petición",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Restablecer almacenamiento vectorial",
|
||||
"Response AutoCopy to Clipboard": "Copiar respuesta automáticamente al portapapeles",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rol",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Conexión del servidor verificada",
|
||||
"Set as default": "Establecer por defecto",
|
||||
"Set Default Model": "Establecer modelo predeterminado",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Establecer tamaño de imagen",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Establecer Pasos",
|
||||
"Set Title Auto-Generation Model": "Establecer modelo de generación automática de títulos",
|
||||
"Set Voice": "Establecer la voz",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Cerrar sesión",
|
||||
"Sign up": "Crear una cuenta",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Error de reconocimiento de voz: {{error}}",
|
||||
"Speech-to-Text Engine": "Motor de voz a texto",
|
||||
"SpeechRecognition API is not supported in this browser.": "La API SpeechRecognition no es compatible con este navegador.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "¡Uh oh! Hubo un problema al conectarse a {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de archivo desconocido '{{file_type}}', pero se acepta y se trata como texto sin formato",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Actualizar contraseña",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Subir un modelo GGUF",
|
||||
"Upload files": "Subir archivos",
|
||||
"Upload Progress": "Progreso de carga",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Versión",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI Add-ons",
|
||||
"WebUI Settings": "Configuración del WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escribe una sugerencia para un prompt (por ejemplo, ¿quién eres?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].",
|
||||
"You": "Usted",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Eres un asistente útil.",
|
||||
"You're now logged in.": "Has iniciado sesión.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "از قبل حساب کاربری دارید؟",
|
||||
"an assistant": "یک دستیار",
|
||||
"and": "و",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API Base URL",
|
||||
"API Key": "API Key",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "در دسترس!",
|
||||
"Back": "بازگشت",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "حالت سازنده",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "لغو",
|
||||
"Categories": "دسته\u200cبندی\u200cها",
|
||||
"Change Password": "تغییر رمز عبور",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "همپوشانی تکه",
|
||||
"Chunk Params": "پارامترهای تکه",
|
||||
"Chunk Size": "اندازه تکه",
|
||||
"Citation": "",
|
||||
"Click here for help.": "برای کمک اینجا را کلیک کنید.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "برای بررسی سایر فایل\u200cهای مدل اینجا را کلیک کنید.",
|
||||
"Click here to select": "برای انتخاب اینجا کلیک کنید",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "یک عبارت مختصر و ۳ تا ۵ کلمه ای را به عنوان سرفصل برای پرس و جو زیر ایجاد کنید، به شدت محدودیت ۳-۵ کلمه را رعایت کنید و از استفاده از کلمه 'عنوان' خودداری کنید:",
|
||||
"Create a modelfile": "ایجاد یک فایل مدل",
|
||||
"Create Account": "ساخت حساب کاربری",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "ایجاد شده در",
|
||||
"Created At": "",
|
||||
"Current Model": "مدل فعلی",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "دلخواه",
|
||||
"Customize Ollama models for a specific purpose": "مدل های اولاما را برای یک هدف خاص سفارشی کنید",
|
||||
"Dark": "تیره",
|
||||
"Dashboard": "",
|
||||
"Database": "پایگاه داده",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "پیشفرض",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "حذف گپ",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "حذف گپ\u200cها",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} پاک شد",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "ویرایش سند",
|
||||
"Edit User": "ویرایش کاربر",
|
||||
"Email": "ایمیل",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "تاریخچه چت را فعال کنید",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "توالی توقف را وارد کنید",
|
||||
"Enter Top K": "مقدار Top K را وارد کنید",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "مقدار URL را وارد کنید (مثال http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "ایمیل خود را وارد کنید",
|
||||
"Enter Your Full Name": "نام کامل خود را وارد کنید",
|
||||
"Enter Your Password": "رمز عبور خود را وارد کنید",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "مدیریت مدل\u200cهای اولاما",
|
||||
"Max Tokens": "حداکثر توکن",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "حداکثر 3 مدل را می توان به طور همزمان دانلود کرد. لطفاً بعداً دوباره امتحان کنید.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "فایل مدل را نام\u200cگذاری کنید",
|
||||
"New Chat": "گپ جدید",
|
||||
"New Password": "رمز عبور جدید",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "مطمئن نیستید چه چیزی را اضافه کنید؟",
|
||||
"Not sure what to write? Switch to": "مطمئن نیستید چه بنویسید؟ تغییر به",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "روشن",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "پارامترها",
|
||||
"Password": "رمز عبور",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "محتویات پرامپت",
|
||||
"Prompt suggestions": "پیشنهادات پرامپت",
|
||||
"Prompts": "پرامپت\u200cها",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "دریافت یک مدل از Ollama.com",
|
||||
"Pull Progress": "پیشرفت دریافت",
|
||||
"Query Params": "پارامترهای پرس و جو",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "یادداشت\u200cهای انتشار",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repeat Last N",
|
||||
"Repeat Penalty": "Repeat Penalty",
|
||||
"Request Mode": "حالت درخواست",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "بازنشانی ذخیره سازی برداری",
|
||||
"Response AutoCopy to Clipboard": "کپی خودکار پاسخ به کلیپ بورد",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "نقش",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "اتصال سرور تأیید شد",
|
||||
"Set as default": "تنظیم به عنوان پیشفرض",
|
||||
"Set Default Model": "تنظیم مدل پیش فرض",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "تنظیم اندازه تصویر",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "تنظیم گام\u200cها",
|
||||
"Set Title Auto-Generation Model": "تنظیم مدل تولید خودکار عنوان",
|
||||
"Set Voice": "تنظیم صدا",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "خروج",
|
||||
"Sign up": "ثبت نام",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "خطای تشخیص گفتار: {{error}}",
|
||||
"Speech-to-Text Engine": "موتور گفتار به متن",
|
||||
"SpeechRecognition API is not supported in this browser.": "API تشخیص گفتار در این مرورگر پشتیبانی نمی شود.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "اوه اوه! مشکلی در اتصال به {{provider}} وجود داشت.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "نوع فایل '{{file_type}}' ناشناخته است، به عنوان یک فایل متنی ساده با آن برخورد می شود.",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "به روزرسانی رمزعبور",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "آپلود یک مدل GGUF",
|
||||
"Upload files": "بارگذاری فایل\u200cها",
|
||||
"Upload Progress": "پیشرفت آپلود",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "نسخه",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "وب",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI افزونه\u200cهای",
|
||||
"WebUI Settings": "تنظیمات WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "یک پیشنهاد پرامپت بنویسید (مثلاً شما کی هستید؟)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "خلاصه ای در 50 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.",
|
||||
"You": "شما",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "تو یک دستیار سودمند هستی.",
|
||||
"You're now logged in.": "شما اکنون وارد شده\u200cاید.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Vous avez déjà un compte ?",
|
||||
"an assistant": "un assistant",
|
||||
"and": "et",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "URL de base de l'API",
|
||||
"API Key": "Clé API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "disponible !",
|
||||
"Back": "Retour",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Mode Constructeur",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Annuler",
|
||||
"Categories": "Catégories",
|
||||
"Change Password": "Changer le mot de passe",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chevauchement de bloc",
|
||||
"Chunk Params": "Paramètres de bloc",
|
||||
"Chunk Size": "Taille de bloc",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Cliquez ici pour de l'aide.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Cliquez ici pour vérifier d'autres fichiers de modèle.",
|
||||
"Click here to select": "Cliquez ici pour sélectionner",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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 Account": "Créer un compte",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Créé le",
|
||||
"Created At": "",
|
||||
"Current Model": "Modèle actuel",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personnalisé",
|
||||
"Customize Ollama models for a specific purpose": "Personnaliser les modèles Ollama pour un objectif spécifique",
|
||||
"Dark": "Sombre",
|
||||
"Dashboard": "",
|
||||
"Database": "Base de données",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Par défaut",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Supprimer la discussion",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Supprimer les discussions",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} supprimé",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Éditer le document",
|
||||
"Edit User": "Éditer l'utilisateur",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Activer l'historique des discussions",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Entrez la séquence de fin",
|
||||
"Enter Top K": "Entrez Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (p. ex. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Entrez votre adresse email",
|
||||
"Enter Your Full Name": "Entrez votre nom complet",
|
||||
"Enter Your Password": "Entrez votre mot de passe",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Gérer les modèles Ollama",
|
||||
"Max Tokens": "Tokens maximaux",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé simultanément. Veuillez réessayer plus tard.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nommez votre fichier de modèle",
|
||||
"New Chat": "Nouvelle discussion",
|
||||
"New Password": "Nouveau mot de passe",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Pas sûr de quoi ajouter ?",
|
||||
"Not sure what to write? Switch to": "Pas sûr de quoi écrire ? Changez pour",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "ou",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Paramètres",
|
||||
"Password": "Mot de passe",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Contenu du prompt",
|
||||
"Prompt suggestions": "Suggestions de prompt",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Tirer un modèle de Ollama.com",
|
||||
"Pull Progress": "Progression du téléchargement",
|
||||
"Query Params": "Paramètres de requête",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notes de version",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Répéter les N derniers",
|
||||
"Repeat Penalty": "Pénalité de répétition",
|
||||
"Request Mode": "Mode de requête",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Réinitialiser le stockage vectoriel",
|
||||
"Response AutoCopy to Clipboard": "Copie automatique de la réponse vers le presse-papiers",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rôle",
|
||||
"Rosé Pine": "Pin Rosé",
|
||||
"Rosé Pine Dawn": "Aube Pin Rosé",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Connexion au serveur vérifiée",
|
||||
"Set as default": "Définir par défaut",
|
||||
"Set Default Model": "Définir le modèle par défaut",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Définir la taille de l'image",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Définir les étapes",
|
||||
"Set Title Auto-Generation Model": "Définir le modèle de génération automatique de titre",
|
||||
"Set Voice": "Définir la voix",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Se déconnecter",
|
||||
"Sign up": "S'inscrire",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Erreur de reconnaissance vocale : {{error}}",
|
||||
"Speech-to-Text Engine": "Moteur reconnaissance vocale",
|
||||
"SpeechRecognition API is not supported in this browser.": "L'API SpeechRecognition n'est pas prise en charge dans ce navigateur.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh ! Il y a eu un problème de connexion à {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Type de fichier inconnu '{{file_type}}', mais accepté et traité comme du texte brut",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Mettre à jour le mot de passe",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Téléverser un modèle GGUF",
|
||||
"Upload files": "Téléverser des fichiers",
|
||||
"Upload Progress": "Progression du Téléversement",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Version",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Add-ons WebUI",
|
||||
"WebUI Settings": "Paramètres WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Rédigez une suggestion de prompt (p. ex. Qui êtes-vous ?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Rédigez un résumé en 50 mots qui résume [sujet ou mot-clé].",
|
||||
"You": "You",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Vous êtes un assistant utile",
|
||||
"You're now logged in.": "Vous êtes maintenant connecté.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Vous avez déjà un compte ?",
|
||||
"an assistant": "un assistant",
|
||||
"and": "et",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "URL de base de l'API",
|
||||
"API Key": "Clé API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "disponible !",
|
||||
"Back": "Retour",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Mode Constructeur",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Annuler",
|
||||
"Categories": "Catégories",
|
||||
"Change Password": "Changer le mot de passe",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chevauchement de bloc",
|
||||
"Chunk Params": "Paramètres de bloc",
|
||||
"Chunk Size": "Taille de bloc",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Cliquez ici pour de l'aide.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Cliquez ici pour vérifier d'autres fichiers de modèle.",
|
||||
"Click here to select": "Cliquez ici pour sélectionner",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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 Account": "Créer un compte",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Créé le",
|
||||
"Created At": "",
|
||||
"Current Model": "Modèle actuel",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personnalisé",
|
||||
"Customize Ollama models for a specific purpose": "Personnaliser les modèles Ollama pour un objectif spécifique",
|
||||
"Dark": "Sombre",
|
||||
"Dashboard": "",
|
||||
"Database": "Base de données",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Par défaut",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Supprimer le chat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Supprimer les chats",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} supprimé",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Éditer le document",
|
||||
"Edit User": "Éditer l'utilisateur",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Activer l'historique du chat",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Entrez la séquence de fin",
|
||||
"Enter Top K": "Entrez Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (p. ex. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Entrez votre email",
|
||||
"Enter Your Full Name": "Entrez votre nom complet",
|
||||
"Enter Your Password": "Entrez votre mot de passe",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Gérer les modèles Ollama",
|
||||
"Max Tokens": "Tokens maximaux",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé simultanément. Veuillez réessayer plus tard.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nommez votre fichier de modèle",
|
||||
"New Chat": "Nouveau chat",
|
||||
"New Password": "Nouveau mot de passe",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Vous ne savez pas quoi ajouter ?",
|
||||
"Not sure what to write? Switch to": "Vous ne savez pas quoi écrire ? Basculer vers",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "ou",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Paramètres",
|
||||
"Password": "Mot de passe",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Contenu du prompt",
|
||||
"Prompt suggestions": "Suggestions de prompt",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Tirer un modèle de Ollama.com",
|
||||
"Pull Progress": "Progression du tirage",
|
||||
"Query Params": "Paramètres de requête",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notes de version",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Répéter les derniers N",
|
||||
"Repeat Penalty": "Pénalité de répétition",
|
||||
"Request Mode": "Mode de demande",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Réinitialiser le stockage de vecteur",
|
||||
"Response AutoCopy to Clipboard": "Copie automatique de la réponse dans le presse-papiers",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rôle",
|
||||
"Rosé Pine": "Pin Rosé",
|
||||
"Rosé Pine Dawn": "Aube Pin Rosé",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Connexion au serveur vérifiée",
|
||||
"Set as default": "Définir par défaut",
|
||||
"Set Default Model": "Définir le modèle par défaut",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Définir la taille de l'image",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Définir les étapes",
|
||||
"Set Title Auto-Generation Model": "Définir le modèle de génération automatique de titre",
|
||||
"Set Voice": "Définir la voix",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Se déconnecter",
|
||||
"Sign up": "S'inscrire",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Erreur de reconnaissance vocale : {{error}}",
|
||||
"Speech-to-Text Engine": "Moteur de reconnaissance vocale",
|
||||
"SpeechRecognition API is not supported in this browser.": "L'API SpeechRecognition n'est pas prise en charge dans ce navigateur.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh ! Il y a eu un problème de connexion à {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Type de fichier inconnu '{{file_type}}', mais accepté et traité comme du texte brut",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Mettre à jour le mot de passe",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Téléverser un modèle GGUF",
|
||||
"Upload files": "Téléverser des fichiers",
|
||||
"Upload Progress": "Progression du Téléversement",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Version",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Add-ons WebUI",
|
||||
"WebUI Settings": "Paramètres WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Écrivez un prompt (e.x. Qui est-tu ?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Ecrivez un résumé en 50 mots [sujet ou mot-clé]",
|
||||
"You": "You",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Vous êtes un assistant utile",
|
||||
"You're now logged in.": "Vous êtes maintenant connecté.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Hai già un account?",
|
||||
"an assistant": "un assistente",
|
||||
"and": "e",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "URL base API",
|
||||
"API Key": "Chiave API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "disponibile!",
|
||||
"Back": "Indietro",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Modalità costruttore",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Annulla",
|
||||
"Categories": "Categorie",
|
||||
"Change Password": "Cambia password",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Sovrapposizione chunk",
|
||||
"Chunk Params": "Parametri chunk",
|
||||
"Chunk Size": "Dimensione chunk",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Clicca qui per aiuto.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Clicca qui per controllare altri file modello.",
|
||||
"Click here to select": "Clicca qui per selezionare",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Crea una frase concisa di 3-5 parole come intestazione per la seguente query, aderendo rigorosamente al limite di 3-5 parole ed evitando l'uso della parola 'titolo':",
|
||||
"Create a modelfile": "Crea un file modello",
|
||||
"Create Account": "Crea account",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Creato il",
|
||||
"Created At": "",
|
||||
"Current Model": "Modello corrente",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personalizzato",
|
||||
"Customize Ollama models for a specific purpose": "Personalizza i modelli Ollama per uno scopo specifico",
|
||||
"Dark": "Scuro",
|
||||
"Dashboard": "",
|
||||
"Database": "Database",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Predefinito",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Elimina chat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Elimina chat",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Eliminato {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Modifica documento",
|
||||
"Edit User": "Modifica utente",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Abilita cronologia chat",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Inserisci la sequenza di arresto",
|
||||
"Enter Top K": "Inserisci Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Inserisci URL (ad esempio http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Inserisci la tua email",
|
||||
"Enter Your Full Name": "Inserisci il tuo nome completo",
|
||||
"Enter Your Password": "Inserisci la tua password",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Gestisci modelli Ollama",
|
||||
"Max Tokens": "Max token",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "È possibile scaricare un massimo di 3 modelli contemporaneamente. Riprova più tardi.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Assegna un nome al tuo file modello",
|
||||
"New Chat": "Nuova chat",
|
||||
"New Password": "Nuova password",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Non sei sicuro di cosa aggiungere?",
|
||||
"Not sure what to write? Switch to": "Non sei sicuro di cosa scrivere? Passa a",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "o",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parametri",
|
||||
"Password": "Password",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Contenuto del prompt",
|
||||
"Prompt suggestions": "Suggerimenti prompt",
|
||||
"Prompts": "Prompt",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Estrai un modello da Ollama.com",
|
||||
"Pull Progress": "Avanzamento estrazione",
|
||||
"Query Params": "Parametri query",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Note di rilascio",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Ripeti ultimi N",
|
||||
"Repeat Penalty": "Penalità di ripetizione",
|
||||
"Request Mode": "Modalità richiesta",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Reimposta archivio vettoriale",
|
||||
"Response AutoCopy to Clipboard": "Copia automatica della risposta negli appunti",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Ruolo",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Connessione al server verificata",
|
||||
"Set as default": "Imposta come predefinito",
|
||||
"Set Default Model": "Imposta modello predefinito",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Imposta dimensione immagine",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Imposta passaggi",
|
||||
"Set Title Auto-Generation Model": "Imposta modello di generazione automatica del titolo",
|
||||
"Set Voice": "Imposta voce",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Esci",
|
||||
"Sign up": "Registrati",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Errore di riconoscimento vocale: {{error}}",
|
||||
"Speech-to-Text Engine": "Motore da voce a testo",
|
||||
"SpeechRecognition API is not supported in this browser.": "L'API SpeechRecognition non è supportata in questo browser.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Si è verificato un problema durante la connessione a {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo di file sconosciuto '{{file_type}}', ma accettato e trattato come testo normale",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Aggiorna password",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Carica un modello GGUF",
|
||||
"Upload files": "Carica file",
|
||||
"Upload Progress": "Avanzamento caricamento",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Versione",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Componenti aggiuntivi WebUI",
|
||||
"WebUI Settings": "Impostazioni WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Scrivi un suggerimento per il prompt (ad esempio Chi sei?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Scrivi un riassunto in 50 parole che riassume [argomento o parola chiave].",
|
||||
"You": "Tu",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Sei un assistente utile.",
|
||||
"You're now logged in.": "Ora hai effettuato l'accesso.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "すでにアカウントをお持ちですか?",
|
||||
"an assistant": "アシスタント",
|
||||
"and": "および",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API ベース URL",
|
||||
"API Key": "API キー",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "利用可能!",
|
||||
"Back": "戻る",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "ビルダーモード",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "キャンセル",
|
||||
"Categories": "カテゴリ",
|
||||
"Change Password": "パスワードを変更",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "チャンクオーバーラップ",
|
||||
"Chunk Params": "チャンクパラメーター",
|
||||
"Chunk Size": "チャンクサイズ",
|
||||
"Citation": "",
|
||||
"Click here for help.": "ヘルプについてはここをクリックしてください。",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "他のモデルファイルを確認するにはここをクリックしてください。",
|
||||
"Click here to select": "選択するにはここをクリックしてください",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "次のクエリの見出しとして、3〜5語の簡潔なフレーズを作成してください。3〜5語の制限を厳守し、「タイトル」という単語の使用を避けてください。",
|
||||
"Create a modelfile": "モデルファイルを作成",
|
||||
"Create Account": "アカウントを作成",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "作成日時",
|
||||
"Created At": "",
|
||||
"Current Model": "現在のモデル",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "カスタム",
|
||||
"Customize Ollama models for a specific purpose": "特定の目的に合わせて Ollama モデルをカスタマイズ",
|
||||
"Dark": "ダーク",
|
||||
"Dashboard": "",
|
||||
"Database": "データベース",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "デフォルト",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "チャットを削除",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "チャットを削除",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} を削除しました",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "ドキュメントを編集",
|
||||
"Edit User": "ユーザーを編集",
|
||||
"Email": "メールアドレス",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "チャット履歴を有効化",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "ストップシーケンスを入力してください",
|
||||
"Enter Top K": "トップ K を入力してください",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL を入力してください (例: http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "メールアドレスを入力してください",
|
||||
"Enter Your Full Name": "フルネームを入力してください",
|
||||
"Enter Your Password": "パスワードを入力してください",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Ollama モデルを管理",
|
||||
"Max Tokens": "最大トークン数",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "同時にダウンロードできるモデルは最大 3 つです。後でもう一度お試しください。",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "ミロスタット",
|
||||
"Mirostat Eta": "ミロスタット Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "モデルファイルに名前を付ける",
|
||||
"New Chat": "新しいチャット",
|
||||
"New Password": "新しいパスワード",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "何を追加すればよいかわからない?",
|
||||
"Not sure what to write? Switch to": "何を書けばよいかわからない? 次に切り替える",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "または",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "パラメーター",
|
||||
"Password": "パスワード",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "プロンプトの内容",
|
||||
"Prompt suggestions": "プロンプトの提案",
|
||||
"Prompts": "プロンプト",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Ollama.com からモデルをプル",
|
||||
"Pull Progress": "プルの進行状況",
|
||||
"Query Params": "クエリパラメーター",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "リリースノート",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "最後の N を繰り返す",
|
||||
"Repeat Penalty": "繰り返しペナルティ",
|
||||
"Request Mode": "リクエストモード",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "ベクトルストレージをリセット",
|
||||
"Response AutoCopy to Clipboard": "クリップボードへの応答の自動コピー",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "役割",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "サーバー接続が確認されました",
|
||||
"Set as default": "デフォルトに設定",
|
||||
"Set Default Model": "デフォルトモデルを設定",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "画像サイズを設定",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "ステップを設定",
|
||||
"Set Title Auto-Generation Model": "タイトル自動生成モデルを設定",
|
||||
"Set Voice": "音声を設定",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "サインアウト",
|
||||
"Sign up": "サインアップ",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "音声認識エラー: {{error}}",
|
||||
"Speech-to-Text Engine": "音声テキスト変換エンジン",
|
||||
"SpeechRecognition API is not supported in this browser.": "このブラウザでは SpeechRecognition API がサポートされていません。",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "おっと! {{provider}} への接続に問題が発生しました。",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "不明なファイルタイプ '{{file_type}}' ですが、プレーンテキストとして受け入れて処理します",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "パスワードを更新",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "GGUF モデルをアップロード",
|
||||
"Upload files": "ファイルをアップロード",
|
||||
"Upload Progress": "アップロードの進行状況",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "バージョン",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "ウェブ",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI アドオン",
|
||||
"WebUI Settings": "WebUI 設定",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "プロンプトの提案を書いてください (例: あなたは誰ですか?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "[トピックまたはキーワード] を要約する 50 語の概要を書いてください。",
|
||||
"You": "あなた",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "あなたは役に立つアシスタントです。",
|
||||
"You're now logged in.": "ログインしました。",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "უკვე გაქვს ანგარიში?",
|
||||
"an assistant": "ასისტენტი",
|
||||
"and": "და",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API საბაზისო URL",
|
||||
"API Key": "API გასაღები",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "ხელმისაწვდომია!",
|
||||
"Back": "უკან",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "მოდელის შექმნა",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "გაუქმება",
|
||||
"Categories": "კატეგორიები",
|
||||
"Change Password": "პაროლის შეცვლა",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "გადახურვა ფრაგმენტულია",
|
||||
"Chunk Params": "გადახურვის პარამეტრები",
|
||||
"Chunk Size": "გადახურვის ზომა",
|
||||
"Citation": "",
|
||||
"Click here for help.": "დახმარებისთვის, დააკლიკე აქ",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "სხვა მოდელური ფაილების სანახავად, დააკლიკე აქ",
|
||||
"Click here to select": "ასარჩევად, დააკლიკე აქ",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "შექმენით მოკლე, 3-5 სიტყვიანი ფრაზა, როგორც სათაური თქვენი შემდეგი შეკითხვისთვის, მკაცრად დაიცავით 3-5 სიტყვის ლიმიტი და მოერიდეთ გამოიყენოთ სიტყვა „სათაური“.",
|
||||
"Create a modelfile": "მოდელური ფაილის შექმნა",
|
||||
"Create Account": "ანგარიშის შექმნა",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "შექმნილია",
|
||||
"Created At": "",
|
||||
"Current Model": "მიმდინარე მოდელი",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "საკუთარი",
|
||||
"Customize Ollama models for a specific purpose": "Ollama მოდელების დამუშავება სპეციფიური დანიშნულებისთვის",
|
||||
"Dark": "მუქი",
|
||||
"Dashboard": "",
|
||||
"Database": "მონაცემთა ბაზა",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "დეფოლტი",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "შეტყობინების წაშლა",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "შეტყობინებების წაშლა",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} წაშლილია",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "დოკუმენტის ედიტირება",
|
||||
"Edit User": "მომხმარებლის ედიტირება",
|
||||
"Email": "ელ-ფოსტა",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "მიმოწერის ისტორიის ჩართვა",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "შეიყვანეთ ტოპ თანმიმდევრობა",
|
||||
"Enter Top K": "შეიყვანეთ Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "შეიყვანეთ მისამართი (მაგალითად http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "შეიყვანეთ თქვენი ელ-ფოსტა",
|
||||
"Enter Your Full Name": "შეიყვანეთ თქვენი სრული სახელი",
|
||||
"Enter Your Password": "შეიყვანეთ თქვენი პაროლი",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Ollama მოდელების მართვა",
|
||||
"Max Tokens": "მაქსიმალური ტოკენები",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "მაქსიმუმ 3 მოდელის ჩამოტვირთვა შესაძლებელია ერთდროულად. Გთხოვთ სცადოთ მოგვიანებით.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "მიროსტატი",
|
||||
"Mirostat Eta": "მიროსტატი ეტა",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "თქვენი მოდელური ფაილის სახელი",
|
||||
"New Chat": "ახალი მიმოწერა",
|
||||
"New Password": "ახალი პაროლი",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "არ იცი რა დაამატო?",
|
||||
"Not sure what to write? Switch to": "არ იცი რა დაწერო? გადართვა:",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "ან",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "პარამეტრები",
|
||||
"Password": "პაროლი",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "მოთხოვნის შინაარსი",
|
||||
"Prompt suggestions": "მოთხოვნის რჩევები",
|
||||
"Prompts": "მოთხოვნები",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Ollama.com იდან მოდელის გადაწერა ",
|
||||
"Pull Progress": "პროგრესის გადაწერა",
|
||||
"Query Params": "პარამეტრების ძიება",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Გამოშვების შენიშვნები",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "გაიმეორეთ ბოლო N",
|
||||
"Repeat Penalty": "გაიმეორეთ პენალტი",
|
||||
"Request Mode": "მოთხოვნის რეჟიმი",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "ვექტორული მეხსიერების გადატვირთვა",
|
||||
"Response AutoCopy to Clipboard": "პასუხის ავტომატური კოპირება ბუფერში",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "როლი",
|
||||
"Rosé Pine": "ვარდისფერი ფიჭვის ხე",
|
||||
"Rosé Pine Dawn": "ვარდისფერი ფიჭვის გარიჟრაჟი",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "სერვერთან კავშირი დადასტურებულია",
|
||||
"Set as default": "დეფოლტად დაყენება",
|
||||
"Set Default Model": "დეფოლტ მოდელის დაყენება",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "სურათის ზომის დაყენება",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "ნაბიჯების დაყენება",
|
||||
"Set Title Auto-Generation Model": "სათაურის ავტომატური გენერაციის მოდელის დაყენება",
|
||||
"Set Voice": "ხმის დაყენება",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "გასვლა",
|
||||
"Sign up": "რეგისტრაცია",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "მეტყველების ამოცნობის შეცდომა: {{error}}",
|
||||
"Speech-to-Text Engine": "ხმოვან-ტექსტური ძრავი",
|
||||
"SpeechRecognition API is not supported in this browser.": "მეტყველების ამოცნობის API არ არის მხარდაჭერილი ამ ბრაუზერში.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "{{provider}}-თან დაკავშირების პრობლემა წარმოიშვა.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "უცნობი ფაილის ტიპი „{{file_type}}“, მაგრამ მიიღება და განიხილება როგორც მარტივი ტექსტი",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "პაროლის განახლება",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "GGUF მოდელის ატვირთვა",
|
||||
"Upload files": "ფაილების ატვირთვა",
|
||||
"Upload Progress": "პროგრესის ატვირთვა",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "ვერსია",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "ვები",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI დანამატები",
|
||||
"WebUI Settings": "WebUI პარამეტრები",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "დაწერეთ მოკლე წინადადება (მაგ. ვინ ხარ?",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "დაწერეთ რეზიუმე 50 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].",
|
||||
"You": "თქვენ",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "თქვენ სასარგებლო ასისტენტი ხართ.",
|
||||
"You're now logged in.": "თქვენ შესული ხართ.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "이미 계정이 있으신가요?",
|
||||
"an assistant": "어시스턴트",
|
||||
"and": "그리고",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API 기본 URL",
|
||||
"API Key": "API키",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "사용 가능!",
|
||||
"Back": "뒤로가기",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "빌더 모드",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "취소",
|
||||
"Categories": "분류",
|
||||
"Change Password": "비밀번호 변경",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk Params",
|
||||
"Chunk Size": "Chunk Size",
|
||||
"Citation": "",
|
||||
"Click here for help.": "도움말을 보려면 여기를 클릭하세요.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "다른 모델파일을 확인하려면 여기를 클릭하세요.",
|
||||
"Click here to select": "선택하려면 여기를 클릭하세요.",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "다음 질문에 대한 제목으로 간결한 3-5 단어 문구를 만드되 3-5 단어 제한을 엄격히 준수하고 'title' 단어 사용을 피하세요:",
|
||||
"Create a modelfile": "모델파일 만들기",
|
||||
"Create Account": "계정 만들기",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "생성일",
|
||||
"Created At": "",
|
||||
"Current Model": "현재 모델",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "사용자 정의",
|
||||
"Customize Ollama models for a specific purpose": "특정 목적으로 Ollama 모델 사용자 정의",
|
||||
"Dark": "어두운",
|
||||
"Dashboard": "",
|
||||
"Database": "데이터베이스",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "기본값",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "채팅 삭제",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "채팅들 삭제",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} 삭제됨",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "문서 편집",
|
||||
"Edit User": "사용자 편집",
|
||||
"Email": "이메일",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "채팅 기록 활성화",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "중지 시퀀스 입력",
|
||||
"Enter Top K": "Top K 입력",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL 입력(예: http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "이메일 입력",
|
||||
"Enter Your Full Name": "전체 이름 입력",
|
||||
"Enter Your Password": "비밀번호 입력",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Ollama 모델 관리",
|
||||
"Max Tokens": "최대 토큰 수",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "최대 3개의 모델을 동시에 다운로드할 수 있습니다. 나중에 다시 시도하세요.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "모델파일 이름 지정",
|
||||
"New Chat": "새 채팅",
|
||||
"New Password": "새 비밀번호",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "추가할 것이 궁금하세요?",
|
||||
"Not sure what to write? Switch to": "무엇을 쓸지 모르겠나요? 전환하세요.",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "또는",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "매개변수",
|
||||
"Password": "비밀번호",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "프롬프트 내용",
|
||||
"Prompt suggestions": "프롬프트 제안",
|
||||
"Prompts": "프롬프트",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Ollama.com에서 모델 가져오기",
|
||||
"Pull Progress": "가져오기 진행 상황",
|
||||
"Query Params": "쿼리 매개변수",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "릴리스 노트",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "마지막 N 반복",
|
||||
"Repeat Penalty": "반복 패널티",
|
||||
"Request Mode": "요청 모드",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "벡터 스토리지 초기화",
|
||||
"Response AutoCopy to Clipboard": "응답 자동 클립보드 복사",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "역할",
|
||||
"Rosé Pine": "로제 파인",
|
||||
"Rosé Pine Dawn": "로제 파인 던",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "서버 연결 확인됨",
|
||||
"Set as default": "기본값으로 설정",
|
||||
"Set Default Model": "기본 모델 설정",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "이미지 크기 설정",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "단계 설정",
|
||||
"Set Title Auto-Generation Model": "제목 자동 생성 모델 설정",
|
||||
"Set Voice": "음성 설정",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "로그아웃",
|
||||
"Sign up": "가입",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "음성 인식 오류: {{error}}",
|
||||
"Speech-to-Text Engine": "음성-텍스트 엔진",
|
||||
"SpeechRecognition API is not supported in this browser.": "이 브라우저에서는 SpeechRecognition API를 지원하지 않습니다.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "앗! {{provider}}에 연결하는 데 문제가 있었습니다.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "알 수 없는 파일 유형 '{{file_type}}', 하지만 일반 텍스트로 허용하고 처리합니다.",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "비밀번호 업데이트",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "GGUF 모델 업로드",
|
||||
"Upload files": "파일 업로드",
|
||||
"Upload Progress": "업로드 진행 상황",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "버전",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "웹",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI 애드온",
|
||||
"WebUI Settings": "WebUI 설정",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "프롬프트 제안 작성 (예: 당신은 누구인가요?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "[주제 또는 키워드]에 대한 50단어 요약문 작성.",
|
||||
"You": "당신",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "당신은 유용한 어시스턴트입니다.",
|
||||
"You're now logged in.": "로그인되었습니다.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Heb je al een account?",
|
||||
"an assistant": "een assistent",
|
||||
"and": "en",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API Base URL",
|
||||
"API Key": "API Key",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "beschikbaar!",
|
||||
"Back": "Terug",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Bouwer Modus",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Annuleren",
|
||||
"Categories": "Categorieën",
|
||||
"Change Password": "Wijzig Wachtwoord",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk Params",
|
||||
"Chunk Size": "Chunk Grootte",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Klik hier voor help.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Klik hier om andere modelfiles te controleren.",
|
||||
"Click here to select": "Klik hier om te selecteren",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Maak een beknopte, 3-5 woorden tellende zin als kop voor de volgende query, strikt aanhoudend aan de 3-5 woorden limiet en het vermijden van het gebruik van het woord 'titel':",
|
||||
"Create a modelfile": "Maak een modelfile",
|
||||
"Create Account": "Maak Account",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Gemaakt op",
|
||||
"Created At": "",
|
||||
"Current Model": "Huidig Model",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Aangepast",
|
||||
"Customize Ollama models for a specific purpose": "Pas Ollama modellen aan voor een specifiek doel",
|
||||
"Dark": "Donker",
|
||||
"Dashboard": "",
|
||||
"Database": "Database",
|
||||
"DD/MM/YYYY HH:mm": "YYYY/MM/DD HH:mm",
|
||||
"Default": "Standaard",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Verwijder chat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Verwijder Chats",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} is verwijderd",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Wijzig Doc",
|
||||
"Edit User": "Wijzig Gebruiker",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Schakel Chat Geschiedenis in",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Zet stop sequentie",
|
||||
"Enter Top K": "Voeg Top K toe",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Zet URL (Bijv. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Voer je Email in",
|
||||
"Enter Your Full Name": "Voer je Volledige Naam in",
|
||||
"Enter Your Password": "Voer je Wachtwoord in",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Beheer Ollama Modellen",
|
||||
"Max Tokens": "Max Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximaal 3 modellen kunnen tegelijkertijd worden gedownload. Probeer het later opnieuw.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Benoem je modelfile",
|
||||
"New Chat": "Nieuwe Chat",
|
||||
"New Password": "Nieuw Wachtwoord",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Niet zeker wat toe te voegen?",
|
||||
"Not sure what to write? Switch to": "Niet zeker wat te schrijven? Schakel over naar",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "of",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parameters",
|
||||
"Password": "Wachtwoord",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Prompt Inhoud",
|
||||
"Prompt suggestions": "Prompt suggesties",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Haal een model van Ollama.com",
|
||||
"Pull Progress": "Haal Voortgang op",
|
||||
"Query Params": "Query Params",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Release Notes",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Herhaal Laatste N",
|
||||
"Repeat Penalty": "Herhaal Straf",
|
||||
"Request Mode": "Request Modus",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Reset Vector Opslag",
|
||||
"Response AutoCopy to Clipboard": "Antwoord Automatisch Kopiëren naar Klembord",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rol",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Server verbinding geverifieerd",
|
||||
"Set as default": "Stel in als standaard",
|
||||
"Set Default Model": "Stel Standaard Model in",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Stel Afbeelding Grootte in",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Stel Stappen in",
|
||||
"Set Title Auto-Generation Model": "Stel Titel Auto-Generatie Model in",
|
||||
"Set Voice": "Stel Stem in",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Uitloggen",
|
||||
"Sign up": "Registreren",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Spraakherkenning fout: {{error}}",
|
||||
"Speech-to-Text Engine": "Spraak-naar-tekst Engine",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API wordt niet ondersteund in deze browser.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Er was een probleem met verbinden met {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Onbekend Bestandstype '{{file_type}}', maar accepteren en behandelen als platte tekst",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Wijzig wachtwoord",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Upload een GGUF model",
|
||||
"Upload files": "Upload bestanden",
|
||||
"Upload Progress": "Upload Voortgang",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Versie",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI Add-ons",
|
||||
"WebUI Settings": "WebUI Instellingen",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Schrijf een prompt suggestie (bijv. Wie ben je?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Schrijf een samenvatting in 50 woorden die [onderwerp of trefwoord] samenvat.",
|
||||
"You": "Jij",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Jij bent een behulpzame assistent.",
|
||||
"You're now logged in.": "Je bent nu ingelogd.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Masz już konto?",
|
||||
"an assistant": "asystent",
|
||||
"and": "i",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "Podstawowy adres URL interfejsu API",
|
||||
"API Key": "Klucz API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "dostępny!",
|
||||
"Back": "Wstecz",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Tryb budowniczego",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Anuluj",
|
||||
"Categories": "Kategorie",
|
||||
"Change Password": "Zmień hasło",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Zachodzenie bloku",
|
||||
"Chunk Params": "Parametry bloku",
|
||||
"Chunk Size": "Rozmiar bloku",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Kliknij tutaj, aby uzyskać pomoc.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Kliknij tutaj, aby sprawdzić inne pliki modelowe.",
|
||||
"Click here to select": "Kliknij tutaj, aby wybrać",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Utwórz zwięzłą frazę składającą się z 3-5 słów jako nagłówek dla następującego zapytania, ściśle przestrzegając limitu od 3 do 5 słów i unikając użycia słowa 'tytuł':",
|
||||
"Create a modelfile": "Utwórz plik modelu",
|
||||
"Create Account": "Utwórz konto",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Utworzono o",
|
||||
"Created At": "",
|
||||
"Current Model": "Bieżący model",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Niestandardowy",
|
||||
"Customize Ollama models for a specific purpose": "Dostosuj modele Ollama do określonego celu",
|
||||
"Dark": "Ciemny",
|
||||
"Dashboard": "",
|
||||
"Database": "Baza danych",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Domyślny",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Usuń czat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Usuń czaty",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Usunięto {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Edytuj dokument",
|
||||
"Edit User": "Edytuj użytkownika",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Włącz historię czatu",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Wprowadź sekwencję zatrzymania",
|
||||
"Enter Top K": "Wprowadź Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Wprowadź adres URL (np. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Wprowadź swój adres email",
|
||||
"Enter Your Full Name": "Wprowadź swoje imię i nazwisko",
|
||||
"Enter Your Password": "Wprowadź swoje hasło",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Zarządzaj modelami Ollama",
|
||||
"Max Tokens": "Maksymalna liczba tokenów",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksymalnie 3 modele można pobierać jednocześnie. Spróbuj ponownie później.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nadaj nazwę swojemu plikowi modelu",
|
||||
"New Chat": "Nowy czat",
|
||||
"New Password": "Nowe hasło",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Nie wiesz, co dodać?",
|
||||
"Not sure what to write? Switch to": "Nie wiesz, co napisać? Przełącz się na",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "lub",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parametry",
|
||||
"Password": "Hasło",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Zawartość prompta",
|
||||
"Prompt suggestions": "Sugestie prompta",
|
||||
"Prompts": "Prompty",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Pobierz model z Ollama.com",
|
||||
"Pull Progress": "Postęp pobierania",
|
||||
"Query Params": "Parametry zapytania",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notatki wydania",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Powtórz ostatnie N",
|
||||
"Repeat Penalty": "Kara za powtórzenie",
|
||||
"Request Mode": "Tryb żądania",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Resetuj przechowywanie wektorów",
|
||||
"Response AutoCopy to Clipboard": "Automatyczne kopiowanie odpowiedzi do schowka",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rola",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Połączenie z serwerem zweryfikowane",
|
||||
"Set as default": "Ustaw jako domyślne",
|
||||
"Set Default Model": "Ustaw domyślny model",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Ustaw rozmiar obrazu",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Ustaw kroki",
|
||||
"Set Title Auto-Generation Model": "Ustaw model automatycznego generowania tytułów",
|
||||
"Set Voice": "Ustaw głos",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Wyloguj się",
|
||||
"Sign up": "Zarejestruj się",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Błąd rozpoznawania mowy: {{error}}",
|
||||
"Speech-to-Text Engine": "Silnik mowy na tekst",
|
||||
"SpeechRecognition API is not supported in this browser.": "API Rozpoznawania Mowy nie jest obsługiwane w tej przeglądarce.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "O nie! Wystąpił problem z połączeniem z {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Nieznany typ pliku '{{file_type}}', ale akceptowany i traktowany jako zwykły tekst",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Aktualizacja hasła",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Prześlij model GGUF",
|
||||
"Upload files": "Prześlij pliki",
|
||||
"Upload Progress": "Postęp przesyłania",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Wersja",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Sieć",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Dodatki do interfejsu WebUI",
|
||||
"WebUI Settings": "Ustawienia interfejsu WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Napisz sugestię do polecenia (np. Kim jesteś?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Napisz podsumowanie w 50 słowach, które podsumowuje [temat lub słowo kluczowe].",
|
||||
"You": "Ty",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Jesteś pomocnym asystentem.",
|
||||
"You're now logged in.": "Jesteś teraz zalogowany.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Já tem uma conta?",
|
||||
"an assistant": "um assistente",
|
||||
"and": "e",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "URL Base da API",
|
||||
"API Key": "Chave da API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "disponível!",
|
||||
"Back": "Voltar",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Modo de Construtor",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Cancelar",
|
||||
"Categories": "Categorias",
|
||||
"Change Password": "Alterar Senha",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Sobreposição de Fragmento",
|
||||
"Chunk Params": "Parâmetros de Fragmento",
|
||||
"Chunk Size": "Tamanho do Fragmento",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Clique aqui para obter ajuda.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Clique aqui para verificar outros arquivos de modelo.",
|
||||
"Click here to select": "Clique aqui para selecionar",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Crie uma frase concisa de 3 a 5 palavras como cabeçalho para a seguinte consulta, aderindo estritamente ao limite de 3 a 5 palavras e evitando o uso da palavra 'título':",
|
||||
"Create a modelfile": "Criar um arquivo de modelo",
|
||||
"Create Account": "Criar Conta",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Criado em",
|
||||
"Created At": "",
|
||||
"Current Model": "Modelo Atual",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personalizado",
|
||||
"Customize Ollama models for a specific purpose": "Personalize os modelos Ollama para um propósito específico",
|
||||
"Dark": "Escuro",
|
||||
"Dashboard": "",
|
||||
"Database": "Banco de dados",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Padrão",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Excluir bate-papo",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Excluir Bate-papos",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} excluído",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Editar Documento",
|
||||
"Edit User": "Editar Usuário",
|
||||
"Email": "E-mail",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Ativar Histórico de Bate-papo",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Digite a sequência de parada",
|
||||
"Enter Top K": "Digite o Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Digite seu E-mail",
|
||||
"Enter Your Full Name": "Digite seu Nome Completo",
|
||||
"Enter Your Password": "Digite sua Senha",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Gerenciar Modelos Ollama",
|
||||
"Max Tokens": "Máximo de Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nomeie seu arquivo de modelo",
|
||||
"New Chat": "Novo Bate-papo",
|
||||
"New Password": "Nova Senha",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Não tem certeza do que adicionar?",
|
||||
"Not sure what to write? Switch to": "Não tem certeza do que escrever? Mude para",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "ou",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parâmetros",
|
||||
"Password": "Senha",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Conteúdo do Prompt",
|
||||
"Prompt suggestions": "Sugestões de Prompt",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Extrair um modelo do Ollama.com",
|
||||
"Pull Progress": "Progresso da Extração",
|
||||
"Query Params": "Parâmetros de Consulta",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notas de Lançamento",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repetir Últimos N",
|
||||
"Repeat Penalty": "Penalidade de Repetição",
|
||||
"Request Mode": "Modo de Solicitação",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Redefinir Armazenamento de Vetor",
|
||||
"Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Função",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Conexão com o servidor verificada",
|
||||
"Set as default": "Definir como padrão",
|
||||
"Set Default Model": "Definir Modelo Padrão",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Definir Tamanho da Imagem",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Definir Etapas",
|
||||
"Set Title Auto-Generation Model": "Definir Modelo de Geração Automática de Título",
|
||||
"Set Voice": "Definir Voz",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Sair",
|
||||
"Sign up": "Inscrever-se",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
|
||||
"Speech-to-Text Engine": "Mecanismo de Fala para Texto",
|
||||
"SpeechRecognition API is not supported in this browser.": "A API SpeechRecognition não é suportada neste navegador.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Opa! Houve um problema ao conectar-se a {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de arquivo desconhecido '{{file_type}}', mas aceitando e tratando como texto simples",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Atualizar senha",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Carregar um modelo GGUF",
|
||||
"Upload files": "Carregar arquivos",
|
||||
"Upload Progress": "Progresso do Carregamento",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Versão",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Complementos WebUI",
|
||||
"WebUI Settings": "Configurações WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escreva uma sugestão de prompt (por exemplo, Quem é você?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
|
||||
"You": "Você",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Você é um assistente útil.",
|
||||
"You're now logged in.": "Você está conectado agora.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Já tem uma conta?",
|
||||
"an assistant": "um assistente",
|
||||
"and": "e",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "URL Base da API",
|
||||
"API Key": "Chave da API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "disponível!",
|
||||
"Back": "Voltar",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Modo de Construtor",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Cancelar",
|
||||
"Categories": "Categorias",
|
||||
"Change Password": "Alterar Senha",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Sobreposição de Fragmento",
|
||||
"Chunk Params": "Parâmetros de Fragmento",
|
||||
"Chunk Size": "Tamanho do Fragmento",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Clique aqui para obter ajuda.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Clique aqui para verificar outros arquivos de modelo.",
|
||||
"Click here to select": "Clique aqui para selecionar",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Crie uma frase concisa de 3 a 5 palavras como cabeçalho para a seguinte consulta, aderindo estritamente ao limite de 3 a 5 palavras e evitando o uso da palavra 'título':",
|
||||
"Create a modelfile": "Criar um arquivo de modelo",
|
||||
"Create Account": "Criar Conta",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Criado em",
|
||||
"Created At": "",
|
||||
"Current Model": "Modelo Atual",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Personalizado",
|
||||
"Customize Ollama models for a specific purpose": "Personalize os modelos Ollama para um propósito específico",
|
||||
"Dark": "Escuro",
|
||||
"Dashboard": "",
|
||||
"Database": "Banco de dados",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Padrão",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Excluir bate-papo",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Excluir Bate-papos",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} excluído",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Editar Documento",
|
||||
"Edit User": "Editar Usuário",
|
||||
"Email": "E-mail",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Ativar Histórico de Bate-papo",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Digite a sequência de parada",
|
||||
"Enter Top K": "Digite o Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Digite seu E-mail",
|
||||
"Enter Your Full Name": "Digite seu Nome Completo",
|
||||
"Enter Your Password": "Digite sua Senha",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Gerenciar Modelos Ollama",
|
||||
"Max Tokens": "Máximo de Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Nomeie seu arquivo de modelo",
|
||||
"New Chat": "Novo Bate-papo",
|
||||
"New Password": "Nova Senha",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Não tem certeza do que adicionar?",
|
||||
"Not sure what to write? Switch to": "Não tem certeza do que escrever? Mude para",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "ou",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parâmetros",
|
||||
"Password": "Senha",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Conteúdo do Prompt",
|
||||
"Prompt suggestions": "Sugestões de Prompt",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Extrair um modelo do Ollama.com",
|
||||
"Pull Progress": "Progresso da Extração",
|
||||
"Query Params": "Parâmetros de Consulta",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Notas de Lançamento",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repetir Últimos N",
|
||||
"Repeat Penalty": "Penalidade de Repetição",
|
||||
"Request Mode": "Modo de Solicitação",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Redefinir Armazenamento de Vetor",
|
||||
"Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Função",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Conexão com o servidor verificada",
|
||||
"Set as default": "Definir como padrão",
|
||||
"Set Default Model": "Definir Modelo Padrão",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Definir Tamanho da Imagem",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Definir Etapas",
|
||||
"Set Title Auto-Generation Model": "Definir Modelo de Geração Automática de Título",
|
||||
"Set Voice": "Definir Voz",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Sair",
|
||||
"Sign up": "Inscrever-se",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
|
||||
"Speech-to-Text Engine": "Mecanismo de Fala para Texto",
|
||||
"SpeechRecognition API is not supported in this browser.": "A API SpeechRecognition não é suportada neste navegador.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Opa! Houve um problema ao conectar-se a {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de arquivo desconhecido '{{file_type}}', mas aceitando e tratando como texto simples",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Atualizar senha",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Carregar um modelo GGUF",
|
||||
"Upload files": "Carregar arquivos",
|
||||
"Upload Progress": "Progresso do Carregamento",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Versão",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Complementos WebUI",
|
||||
"WebUI Settings": "Configurações WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escreva uma sugestão de prompt (por exemplo, Quem é você?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
|
||||
"You": "Você",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Você é um assistente útil.",
|
||||
"You're now logged in.": "Você está conectado agora.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "у вас уже есть аккаунт?",
|
||||
"an assistant": "ассистент",
|
||||
"and": "и",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "Базовый адрес API",
|
||||
"API Key": "Ключ API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "доступный!",
|
||||
"Back": "Назад",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Режим конструктор",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Аннулировать",
|
||||
"Categories": "Категории",
|
||||
"Change Password": "Изменить пароль",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Перекрытие фрагментов",
|
||||
"Chunk Params": "Параметры фрагментов",
|
||||
"Chunk Size": "Размер фрагмента",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Нажмите здесь для помощь.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Нажмите тут чтобы проверить другие файлы моделей.",
|
||||
"Click here to select": "Нажмите тут чтобы выберите",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "",
|
||||
"Create a modelfile": "Создать модельный файл",
|
||||
"Create Account": "Создать аккаунт",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Создано в",
|
||||
"Created At": "",
|
||||
"Current Model": "Текущая модель",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Пользовательский",
|
||||
"Customize Ollama models for a specific purpose": "Настроить модели Ollama для конкретной цели",
|
||||
"Dark": "Тёмный",
|
||||
"Dashboard": "",
|
||||
"Database": "База данных",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "По умолчанию",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Удалить чат",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Удалить чаты",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Удалено {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Редактировать документ",
|
||||
"Edit User": "Редактировать пользователя",
|
||||
"Email": "Электронная почта",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Включить историю чата",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Введите последовательность остановки",
|
||||
"Enter Top K": "Введите Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Введите URL-адрес (например, http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Введите вашу электронную почту",
|
||||
"Enter Your Full Name": "Введите ваше полное имя",
|
||||
"Enter Your Password": "Введите ваш пароль",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Управление моделями Ollama",
|
||||
"Max Tokens": "Максимальное количество токенов",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимальное количество моделей для загрузки одновременно - 3. Пожалуйста, попробуйте позже.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Назовите свой файл модели",
|
||||
"New Chat": "Новый чат",
|
||||
"New Password": "Новый пароль",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Не уверены, что добавить?",
|
||||
"Not sure what to write? Switch to": "Не уверены, что написать? Переключитесь на",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "или",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Параметры",
|
||||
"Password": "Пароль",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Содержание промпта",
|
||||
"Prompt suggestions": "Предложения промптов",
|
||||
"Prompts": "Промпты",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Загрузить модель с Ollama.com",
|
||||
"Pull Progress": "Прогресс загрузки",
|
||||
"Query Params": "Параметры запроса",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Примечания к выпуску",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Повторить последние N",
|
||||
"Repeat Penalty": "Штраф за повтор",
|
||||
"Request Mode": "Режим запроса",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Сбросить векторное хранилище",
|
||||
"Response AutoCopy to Clipboard": "Автоматическое копирование ответа в буфер обмена",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Роль",
|
||||
"Rosé Pine": "Розовое сосновое дерево",
|
||||
"Rosé Pine Dawn": "Розовое сосновое дерево рассвет",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Соединение с сервером проверено",
|
||||
"Set as default": "Установить по умолчанию",
|
||||
"Set Default Model": "Установить модель по умолчанию",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Установить размер изображения",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Установить шаги",
|
||||
"Set Title Auto-Generation Model": "Установить модель автогенерации заголовков",
|
||||
"Set Voice": "Установить голос",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Выход",
|
||||
"Sign up": "зарегистрировать",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Ошибка распознавания речи: {{error}}",
|
||||
"Speech-to-Text Engine": "Система распознавания речи",
|
||||
"SpeechRecognition API is not supported in this browser.": "API распознавания речи не поддерживается в этом браузере.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Упс! Возникла проблема подключения к {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Неизвестный тип файла '{{file_type}}', но принимается и обрабатывается как обычный текст",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Обновить пароль",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Загрузить модель GGUF",
|
||||
"Upload files": "Загрузить файлы",
|
||||
"Upload Progress": "Прогресс загрузки",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Версия",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Веб",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Дополнения для WebUI",
|
||||
"WebUI Settings": "Настройки WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напишите предложение промпта (например, Кто вы?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].",
|
||||
"You": "Вы",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Вы полезный ассистент.",
|
||||
"You're now logged in.": "Вы вошли в систему.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Har du redan ett konto?",
|
||||
"an assistant": "en assistent",
|
||||
"and": "och",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API-bas-URL",
|
||||
"API Key": "API-nyckel",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "tillgänglig!",
|
||||
"Back": "Tillbaka",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Byggarläge",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Avbryt",
|
||||
"Categories": "Kategorier",
|
||||
"Change Password": "Ändra lösenord",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Överlappning",
|
||||
"Chunk Params": "Chunk-parametrar",
|
||||
"Chunk Size": "Chunk-storlek",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Klicka här för hjälp.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.",
|
||||
"Click here to select": "Klicka här för att välja",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':",
|
||||
"Create a modelfile": "Skapa en modelfil",
|
||||
"Create Account": "Skapa konto",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Skapad",
|
||||
"Created At": "",
|
||||
"Current Model": "Aktuell modell",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Anpassad",
|
||||
"Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål",
|
||||
"Dark": "Mörk",
|
||||
"Dashboard": "",
|
||||
"Database": "Databas",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm",
|
||||
"Default": "Standard",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Radera chatt",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Radera chattar",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Redigera dokument",
|
||||
"Edit User": "Redigera användare",
|
||||
"Email": "E-post",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Aktivera chatthistorik",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Ange stoppsekvens",
|
||||
"Enter Top K": "Ange Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Ange din e-post",
|
||||
"Enter Your Full Name": "Ange ditt fullständiga namn",
|
||||
"Enter Your Password": "Ange ditt lösenord",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Hantera Ollama-modeller",
|
||||
"Max Tokens": "Max antal tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Högst 3 modeller kan laddas ner samtidigt. Vänligen försök igen senare.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Namnge din modelfil",
|
||||
"New Chat": "Ny chatt",
|
||||
"New Password": "Nytt lösenord",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Inte säker på vad du ska lägga till?",
|
||||
"Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "eller",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Parametrar",
|
||||
"Password": "Lösenord",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Promptinnehåll",
|
||||
"Prompt suggestions": "Förslag",
|
||||
"Prompts": "Prompts",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Dra en modell från Ollama.com",
|
||||
"Pull Progress": "Dra framsteg",
|
||||
"Query Params": "Frågeparametrar",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Versionsinformation",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Upprepa senaste N",
|
||||
"Repeat Penalty": "Upprepa straff",
|
||||
"Request Mode": "Begär läge",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Återställ vektorlager",
|
||||
"Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Roll",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Serveranslutning verifierad",
|
||||
"Set as default": "Ange som standard",
|
||||
"Set Default Model": "Ange standardmodell",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Ange bildstorlek",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Ange steg",
|
||||
"Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel",
|
||||
"Set Voice": "Ange röst",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Logga ut",
|
||||
"Sign up": "Registrera dig",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}",
|
||||
"Speech-to-Text Engine": "Tal-till-text-motor",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Uppdatera lösenord",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Ladda upp en GGUF-modell",
|
||||
"Upload files": "Ladda upp filer",
|
||||
"Upload Progress": "Uppladdningsförlopp",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Version",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Webb",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI-tillägg",
|
||||
"WebUI Settings": "WebUI-inställningar",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].",
|
||||
"You": "Du",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Du är en hjälpsam assistent.",
|
||||
"You're now logged in.": "Du är nu inloggad.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Zaten bir hesabınız mı var?",
|
||||
"an assistant": "bir asistan",
|
||||
"and": "ve",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API Temel URL",
|
||||
"API Key": "API Anahtarı",
|
||||
"API Key created.": "API Anahtarı oluşturuldu.",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "mevcut!",
|
||||
"Back": "Geri",
|
||||
"Bad Response": "Kötü Yanıt",
|
||||
"before": "",
|
||||
"Being lazy": "Tembelleşiyor",
|
||||
"Builder Mode": "Oluşturucu Modu",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "İptal",
|
||||
"Categories": "Kategoriler",
|
||||
"Change Password": "Parola Değiştir",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Çakışması",
|
||||
"Chunk Params": "Chunk Parametreleri",
|
||||
"Chunk Size": "Chunk Boyutu",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Yardım için buraya tıklayın.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Diğer model dosyalarını kontrol etmek için buraya tıklayın.",
|
||||
"Click here to select": "Seçmek için buraya tıklayın",
|
||||
"Click here to select a csv file.": "Bir CSV dosyası seçmek için buraya tıklayın.",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Aşağıdaki sorgu için başlık olarak 3-5 kelimelik kısa ve öz bir ifade oluşturun, 3-5 kelime sınırına kesinlikle uyun ve 'başlık' kelimesini kullanmaktan kaçının:",
|
||||
"Create a modelfile": "Bir model dosyası oluştur",
|
||||
"Create Account": "Hesap Oluştur",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Oluşturulma tarihi",
|
||||
"Created At": "Şu Tarihte Oluşturuldu:",
|
||||
"Current Model": "Mevcut Model",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Özel",
|
||||
"Customize Ollama models for a specific purpose": "Ollama modellerini belirli bir amaç için özelleştirin",
|
||||
"Dark": "Koyu",
|
||||
"Dashboard": "",
|
||||
"Database": "Veritabanı",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Varsayılan",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Sohbeti sil",
|
||||
"Delete Chat": "Sohbeti Sil",
|
||||
"Delete Chats": "Sohbetleri Sil",
|
||||
"delete this link": "",
|
||||
"Delete User": "Kullanıcıyı Sil",
|
||||
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} silindi",
|
||||
"Deleted {{tagName}}": "{{tagName}} silindi",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Belgeyi Düzenle",
|
||||
"Edit User": "Kullanıcıyı Düzenle",
|
||||
"Email": "E-posta",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "Gömme Modeli Motoru",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "Gömme modeli \"{{embedding_model}}\" olarak ayarlandı",
|
||||
"Enable Chat History": "Sohbet Geçmişini Etkinleştir",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Durdurma dizisini girin",
|
||||
"Enter Top K": "Top K'yı girin",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL'yi Girin (örn. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "E-postanızı Girin",
|
||||
"Enter Your Full Name": "Tam Adınızı Girin",
|
||||
"Enter Your Password": "Parolanızı Girin",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Ollama Modellerini Yönet",
|
||||
"Max Tokens": "Maksimum Token",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Aynı anda en fazla 3 model indirilebilir. Lütfen daha sonra tekrar deneyin.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "Minimum Skor",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Model dosyanıza ad verin",
|
||||
"New Chat": "Yeni Sohbet",
|
||||
"New Password": "Yeni Parola",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "Gerçeklere göre doğru değil",
|
||||
"Not sure what to add?": "Ne ekleyeceğinizden emin değil misiniz?",
|
||||
"Not sure what to write? Switch to": "Ne yazacağınızdan emin değil misiniz? Şuraya geçin",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "OpenAI URL/Anahtar gereklidir.",
|
||||
"or": "veya",
|
||||
"Other": "Diğer",
|
||||
"Overview": "",
|
||||
"Parameters": "Parametreler",
|
||||
"Password": "Parola",
|
||||
"PDF document (.pdf)": "PDF belgesi (.pdf)",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Prompt İçeriği",
|
||||
"Prompt suggestions": "Prompt önerileri",
|
||||
"Prompts": "Promptlar",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Ollama.com'dan bir model çekin",
|
||||
"Pull Progress": "Çekme İlerlemesi",
|
||||
"Query Params": "Sorgu Parametreleri",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "Tekrar Oluştur",
|
||||
"Release Notes": "Sürüm Notları",
|
||||
"Remove": "Kaldır",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Son N'yi Tekrar Et",
|
||||
"Repeat Penalty": "Tekrar Cezası",
|
||||
"Request Mode": "İstek Modu",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "Yeniden sıralama modeli devre dışı bırakıldı",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Yeniden sıralama modeli \"{{reranking_model}}\" olarak ayarlandı",
|
||||
"Reset Vector Storage": "Vektör Depolamayı Sıfırla",
|
||||
"Response AutoCopy to Clipboard": "Yanıtı Panoya Otomatik Kopyala",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Rol",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Sunucu bağlantısı doğrulandı",
|
||||
"Set as default": "Varsayılan olarak ayarla",
|
||||
"Set Default Model": "Varsayılan Modeli Ayarla",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Görüntü Boyutunu Ayarla",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Adımları Ayarla",
|
||||
"Set Title Auto-Generation Model": "Otomatik Başlık Oluşturma Modelini Ayarla",
|
||||
"Set Voice": "Ses Ayarla",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Çıkış Yap",
|
||||
"Sign up": "Kaydol",
|
||||
"Signing in": "Oturum açma",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Konuşma tanıma hatası: {{error}}",
|
||||
"Speech-to-Text Engine": "Konuşmadan Metne Motoru",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API bu tarayıcıda desteklenmiyor.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Ah! {{provider}}'a bağlanırken bir sorun oluştu.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Bilinmeyen Dosya Türü '{{file_type}}', ancak düz metin olarak kabul ediliyor ve işleniyor",
|
||||
"Update and Copy Link": "Güncelle ve Bağlantıyı Kopyala",
|
||||
"Update Embedding Model": "Gömme Modelini Güncelle",
|
||||
"Update embedding model (e.g. {{model}})": "Gömme modelini güncelle (örn. {{model}})",
|
||||
"Update password": "Parolayı Güncelle",
|
||||
"Update Reranking Model": "Yeniden Sıralama Modelini Güncelle",
|
||||
"Update reranking model (e.g. {{model}})": "Yeniden sıralama modelini güncelleyin (örn. {{model}})",
|
||||
"Upload a GGUF model": "Bir GGUF modeli yükle",
|
||||
"Upload files": "Dosyaları Yükle",
|
||||
"Upload Progress": "Yükleme İlerlemesi",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Sürüm",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Uyarı: Gömme modelinizi günceller veya değiştirirseniz, tüm belgeleri yeniden içe aktarmanız gerekecektir.",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "Webhook URL",
|
||||
"WebUI Add-ons": "WebUI Eklentileri",
|
||||
"WebUI Settings": "WebUI Ayarları",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Bir prompt önerisi yazın (örn. Sen kimsin?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.",
|
||||
"You": "Siz",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Sen yardımcı bir asistansın.",
|
||||
"You're now logged in.": "Şimdi oturum açtınız.",
|
||||
"Youtube": "Youtube"
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Вже є обліковий запис?",
|
||||
"an assistant": "асистента",
|
||||
"and": "та",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "Базова адреса URL API",
|
||||
"API Key": "Ключ API",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "доступно!",
|
||||
"Back": "Назад",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "Режим конструктора",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Скасувати",
|
||||
"Categories": "Категорії",
|
||||
"Change Password": "Змінити пароль",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Перекриття фрагментів",
|
||||
"Chunk Params": "Параметри фрагментів",
|
||||
"Chunk Size": "Розмір фрагменту",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Клацніть тут, щоб отримати допомогу.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Клацніть тут, щоб перевірити інші файли моделей.",
|
||||
"Click here to select": "Натисніть тут, щоб вибрати",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "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':",
|
||||
"Create a modelfile": "Створити файл моделі",
|
||||
"Create Account": "Створити обліковий запис",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Створено",
|
||||
"Created At": "",
|
||||
"Current Model": "Поточна модель",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Налаштувати",
|
||||
"Customize Ollama models for a specific purpose": "Налаштувати моделі Ollama для конкретної мети",
|
||||
"Dark": "Темна",
|
||||
"Dashboard": "",
|
||||
"Database": "База даних",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "За замовчуванням",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Видалити чат",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Видалити чати",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Видалено {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Редагувати документ",
|
||||
"Edit User": "Редагувати користувача",
|
||||
"Email": "Електронна пошта",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Увімкнути історію чату",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Введіть символ зупинки",
|
||||
"Enter Top K": "Введіть Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Введіть URL-адресу (напр. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Введіть вашу електронну пошту",
|
||||
"Enter Your Full Name": "Введіть ваше ім'я",
|
||||
"Enter Your Password": "Введіть ваш пароль",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Керування моделями Ollama",
|
||||
"Max Tokens": "Максимальна кількість токенів",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 моделі можна завантажити одночасно. Будь ласка, спробуйте пізніше.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Назвіть свій файл моделі",
|
||||
"New Chat": "Новий чат",
|
||||
"New Password": "Новий пароль",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "Не впевнений, що додати?",
|
||||
"Not sure what to write? Switch to": "Не впевнений, що писати? Переключитися на",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "або",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "Параметри",
|
||||
"Password": "Пароль",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Зміст промту",
|
||||
"Prompt suggestions": "Швидкі промти",
|
||||
"Prompts": "Промти",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Завантажити модель з Ollama.com",
|
||||
"Pull Progress": "Прогрес завантаження",
|
||||
"Query Params": "Параметри запиту",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Нотатки до випуску",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Повторити останні N",
|
||||
"Repeat Penalty": "Штраф за повторення",
|
||||
"Request Mode": "Режим запиту",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Скинути векторне сховище",
|
||||
"Response AutoCopy to Clipboard": "Автокопіювання відповіді в буфер обміну",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Роль",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "З'єднання з сервером підтверджено",
|
||||
"Set as default": "Встановити за замовчуванням",
|
||||
"Set Default Model": "Встановити модель за замовчуванням",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Встановити розмір зображення",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Встановити кроки",
|
||||
"Set Title Auto-Generation Model": "Встановити модель автогенерації заголовків",
|
||||
"Set Voice": "Встановити голос",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Вийти",
|
||||
"Sign up": "Зареєструватися",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Помилка розпізнавання мови: {{error}}",
|
||||
"Speech-to-Text Engine": "Система розпізнавання мови",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API не підтримується в цьому браузері.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Ой! Виникла проблема при підключенні до {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Невідомий тип файлу '{{file_type}}', але приймається та обробляється як звичайний текст",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Оновити пароль",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Завантажити GGUF модель",
|
||||
"Upload files": "Завантажити файли",
|
||||
"Upload Progress": "Прогрес завантаження",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Версія",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Веб",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Додатки WebUI",
|
||||
"WebUI Settings": "Налаштування WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напишіть промт (напр. Хто ти?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].",
|
||||
"You": "Ви",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Ви корисний асистент.",
|
||||
"You're now logged in.": "Ви увійшли в систему.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "Bạn đã có tài khoản?",
|
||||
"an assistant": "trợ lý",
|
||||
"and": "và",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "Đường dẫn tới API (API Base URL)",
|
||||
"API Key": "API Key",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "có sẵn!",
|
||||
"Back": "Quay lại",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "Lười biếng",
|
||||
"Builder Mode": "Chế độ Builder",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "Hủy bỏ",
|
||||
"Categories": "Danh mục",
|
||||
"Change Password": "Đổi Mật khẩu",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chồng lấn (overlap)",
|
||||
"Chunk Params": "Cài đặt số lượng ký tự cho khối ký tự (chunk)",
|
||||
"Chunk Size": "Kích thước khối (size)",
|
||||
"Citation": "",
|
||||
"Click here for help.": "Bấm vào đây để được trợ giúp.",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "Bấm vào đây để kiểm tra các tệp mô tả mô hình (modelfiles) khác.",
|
||||
"Click here to select": "Bấm vào đây để chọn",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "Tạo một cụm từ súc tích, 3-5 từ làm tiêu đề cho truy vấn sau, tuân thủ nghiêm ngặt giới hạn 3-5 từ và tránh sử dụng từ 'tiêu đề':",
|
||||
"Create a modelfile": "Tạo tệp mô tả cho mô hình",
|
||||
"Create Account": "Tạo Tài khoản",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "Được tạo vào lúc",
|
||||
"Created At": "",
|
||||
"Current Model": "Mô hình hiện tại",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "Tùy chỉnh",
|
||||
"Customize Ollama models for a specific purpose": "Tùy chỉnh các mô hình dựa trên Ollama cho một mục đích cụ thể",
|
||||
"Dark": "Tối",
|
||||
"Dashboard": "",
|
||||
"Database": "Cơ sở dữ liệu",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "Mặc định",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "Xóa nội dung chat",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "Xóa nội dung chat",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "Đã xóa {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "Thay đổi tài liệu",
|
||||
"Edit User": "Thay đổi thông tin người sử dụng",
|
||||
"Email": "Email",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "Bật Lịch sử chat",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "Nhập stop sequence",
|
||||
"Enter Top K": "Nhập Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "Nhập Email của bạn",
|
||||
"Enter Your Full Name": "Nhập Họ và Tên của bạn",
|
||||
"Enter Your Password": "Nhập Mật khẩu của bạn",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "Quản lý mô hình với Ollama",
|
||||
"Max Tokens": "Max Tokens",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Tối đa 3 mô hình có thể được tải xuống cùng lúc. Vui lòng thử lại sau.",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "Đặt tên cho tệp mô hình của bạn",
|
||||
"New Chat": "Tạo cuộc trò chuyện mới",
|
||||
"New Password": "Mật khẩu mới",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "Không chính xác so với thực tế",
|
||||
"Not sure what to add?": "Không chắc phải thêm gì?",
|
||||
"Not sure what to write? Switch to": "Không chắc phải viết gì? Chuyển sang",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "hoặc",
|
||||
"Other": "Khác",
|
||||
"Overview": "",
|
||||
"Parameters": "Tham số",
|
||||
"Password": "Mật khẩu",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "Nội dung prompt",
|
||||
"Prompt suggestions": "Gợi ý prompt",
|
||||
"Prompts": "Prompt",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "Tải mô hình từ Ollama.com",
|
||||
"Pull Progress": "Tiến trình Tải xuống",
|
||||
"Query Params": "Tham số Truy vấn",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "Mô tả những cập nhật mới",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "Repeat Last N",
|
||||
"Repeat Penalty": "Repeat Penalty",
|
||||
"Request Mode": "Request Mode",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "Cài đặt lại Vector Storage",
|
||||
"Response AutoCopy to Clipboard": "Tự động Sao chép Phản hồi vào clipboard",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Vai trò",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "Kết nối máy chủ đã được xác minh",
|
||||
"Set as default": "Đặt làm mặc định",
|
||||
"Set Default Model": "Đặt Mô hình Mặc định",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "Đặt Kích thước ảnh",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "Đặt Số Bước",
|
||||
"Set Title Auto-Generation Model": "Đặt tiêu đề tự động",
|
||||
"Set Voice": "Đặt Giọng nói",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "Đăng xuất",
|
||||
"Sign up": "Đăng ký",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "Lỗi nhận dạng giọng nói: {{error}}",
|
||||
"Speech-to-Text Engine": "Công cụ Nhận dạng Giọng nói",
|
||||
"SpeechRecognition API is not supported in this browser.": "Trình duyệt này không hỗ trợ API Nhận dạng Giọng nói.",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Ồ! Đã xảy ra sự cố khi kết nối với {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Loại Tệp Không xác định '{{file_type}}', nhưng đang chấp nhận và xử lý như văn bản thô",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "Cập nhật mật khẩu",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "Tải lên mô hình GGUF",
|
||||
"Upload files": "Tải tệp lên hệ thống",
|
||||
"Upload Progress": "Tiến trình tải tệp lên hệ thống",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "Version",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "Web",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "Tiện ích WebUI",
|
||||
"WebUI Settings": "Cài đặt WebUI",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Hãy viết một prompt (vd: Bạn là ai?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Viết một tóm tắt trong vòng 50 từ cho [chủ đề hoặc từ khóa].",
|
||||
"You": "Bạn",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "Bạn là một trợ lý hữu ích.",
|
||||
"You're now logged in.": "Bạn đã đăng nhập.",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "已经有账户了吗?",
|
||||
"an assistant": "助手",
|
||||
"and": "和",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API 基础 URL",
|
||||
"API Key": "API 密钥",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "可用!",
|
||||
"Back": "返回",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "构建模式",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "取消",
|
||||
"Categories": "分类",
|
||||
"Change Password": "更改密码",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "块重叠(Chunk Overlap)",
|
||||
"Chunk Params": "块参数(Chunk Params)",
|
||||
"Chunk Size": "块大小(Chunk Size)",
|
||||
"Citation": "",
|
||||
"Click here for help.": "点击这里获取帮助。",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "点击这里检查其他模型文件。",
|
||||
"Click here to select": "点击这里选择",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "为以下查询创建一个简洁的、3-5个词的短语作为标题,严格遵守3-5个词的限制并避免使用“标题”一词:",
|
||||
"Create a modelfile": "创建模型文件",
|
||||
"Create Account": "创建账户",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "创建于",
|
||||
"Created At": "",
|
||||
"Current Model": "当前模型",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "自定义",
|
||||
"Customize Ollama models for a specific purpose": "定制特定用途的Ollama模型",
|
||||
"Dark": "暗色",
|
||||
"Dashboard": "",
|
||||
"Database": "数据库",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "默认",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "删除聊天",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "删除聊天记录",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "已删除{{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "编辑文档",
|
||||
"Edit User": "编辑用户",
|
||||
"Email": "电子邮件",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "启用聊天历史",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "输入停止序列",
|
||||
"Enter Top K": "输入 Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "输入 URL (例如 http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "输入您的电子邮件",
|
||||
"Enter Your Full Name": "输入您的全名",
|
||||
"Enter Your Password": "输入您的密码",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "管理Ollama模型",
|
||||
"Max Tokens": "最大令牌数",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同时下载3个模型,请稍后重试。",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "命名你的模型文件",
|
||||
"New Chat": "新聊天",
|
||||
"New Password": "新密码",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "不确定要添加什么?",
|
||||
"Not sure what to write? Switch to": "不确定写什么?切换到",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "或",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "参数",
|
||||
"Password": "密码",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "提示词内容",
|
||||
"Prompt suggestions": "提示词建议",
|
||||
"Prompts": "提示词",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "从 Ollama.com 拉取一个模型",
|
||||
"Pull Progress": "拉取进度",
|
||||
"Query Params": "查询参数",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "发布说明",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "重复最后 N 次",
|
||||
"Repeat Penalty": "重复惩罚",
|
||||
"Request Mode": "请求模式",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "重置向量存储",
|
||||
"Response AutoCopy to Clipboard": "自动复制回答到剪贴板",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "角色",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "已验证服务器连接",
|
||||
"Set as default": "设为默认",
|
||||
"Set Default Model": "设置默认模型",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "设置图片大小",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "设置步骤",
|
||||
"Set Title Auto-Generation Model": "设置标题自动生成模型",
|
||||
"Set Voice": "设置声音",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "登出",
|
||||
"Sign up": "注册",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "语音识别错误:{{error}}",
|
||||
"Speech-to-Text Engine": "语音转文字引擎",
|
||||
"SpeechRecognition API is not supported in this browser.": "此浏览器不支持SpeechRecognition API。",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "哎呀!连接到{{provider}}时出现问题。",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "未知文件类型'{{file_type}}',将视为纯文本进行处理",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "更新密码",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "上传一个GGUF模型",
|
||||
"Upload files": "上传文件",
|
||||
"Upload Progress": "上传进度",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "版本",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "网页",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI 插件",
|
||||
"WebUI Settings": "WebUI 设置",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "写一个提示建议(例如:你是谁?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "用50个字写一个总结[主题或关键词]。",
|
||||
"You": "你",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "你是一个有帮助的助手。",
|
||||
"You're now logged in.": "已登录。",
|
||||
"Youtube": ""
|
||||
|
@ -35,6 +35,7 @@
|
||||
"Already have an account?": "已經有帳號了嗎?",
|
||||
"an assistant": "助手",
|
||||
"and": "和",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "API 基本 URL",
|
||||
"API Key": "API 金鑰",
|
||||
"API Key created.": "",
|
||||
@ -54,8 +55,10 @@
|
||||
"available!": "可以使用!",
|
||||
"Back": "返回",
|
||||
"Bad Response": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Builder Mode": "建構模式",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "取消",
|
||||
"Categories": "分類",
|
||||
"Change Password": "修改密碼",
|
||||
@ -70,7 +73,9 @@
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk 參數",
|
||||
"Chunk Size": "Chunk 大小",
|
||||
"Citation": "",
|
||||
"Click here for help.": "點擊這裡尋找幫助。",
|
||||
"Click here to": "",
|
||||
"Click here to check other modelfiles.": "點擊這裡檢查其他 Modelfiles。",
|
||||
"Click here to select": "點擊這裡選擇",
|
||||
"Click here to select a csv file.": "",
|
||||
@ -98,6 +103,8 @@
|
||||
"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':": "為以下的查詢建立一個簡潔、3-5 個詞的短語作為標題,嚴格遵守 3-5 個詞的限制,避免使用「標題」這個詞:",
|
||||
"Create a modelfile": "建立 Modelfile",
|
||||
"Create Account": "建立帳號",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "建立於",
|
||||
"Created At": "",
|
||||
"Current Model": "目前模型",
|
||||
@ -105,6 +112,7 @@
|
||||
"Custom": "自訂",
|
||||
"Customize Ollama models for a specific purpose": "定制特定用途的 Ollama 模型",
|
||||
"Dark": "暗色",
|
||||
"Dashboard": "",
|
||||
"Database": "資料庫",
|
||||
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||
"Default": "預設",
|
||||
@ -120,6 +128,7 @@
|
||||
"Delete chat": "刪除聊天紀錄",
|
||||
"Delete Chat": "",
|
||||
"Delete Chats": "刪除聊天紀錄",
|
||||
"delete this link": "",
|
||||
"Delete User": "",
|
||||
"Deleted {{deleteModelTag}}": "已刪除 {{deleteModelTag}}",
|
||||
"Deleted {{tagName}}": "",
|
||||
@ -146,6 +155,7 @@
|
||||
"Edit Doc": "編輯文件",
|
||||
"Edit User": "編輯使用者",
|
||||
"Email": "電子郵件",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "啟用聊天歷史",
|
||||
@ -167,6 +177,7 @@
|
||||
"Enter stop sequence": "輸入停止序列",
|
||||
"Enter Top K": "輸入 Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "輸入 URL(例如 http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "輸入你的電子郵件",
|
||||
"Enter Your Full Name": "輸入你的全名",
|
||||
"Enter Your Password": "輸入你的密碼",
|
||||
@ -228,6 +239,7 @@
|
||||
"Manage Ollama Models": "管理 Ollama 模型",
|
||||
"Max Tokens": "最大 Token 數",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同時下載 3 個模型。請稍後再試。",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will beable to view the shared chat.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
@ -258,6 +270,8 @@
|
||||
"Name your modelfile": "命名你的 Modelfile",
|
||||
"New Chat": "新增聊天",
|
||||
"New Password": "新密碼",
|
||||
"No results found": "",
|
||||
"No source available": "",
|
||||
"Not factually correct": "",
|
||||
"Not sure what to add?": "不確定要新增什麼嗎?",
|
||||
"Not sure what to write? Switch to": "不確定要寫什麼?切換到",
|
||||
@ -286,6 +300,7 @@
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "或",
|
||||
"Other": "",
|
||||
"Overview": "",
|
||||
"Parameters": "參數",
|
||||
"Password": "密碼",
|
||||
"PDF document (.pdf)": "",
|
||||
@ -300,6 +315,7 @@
|
||||
"Prompt Content": "提示詞內容",
|
||||
"Prompt suggestions": "提示詞建議",
|
||||
"Prompts": "提示詞",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "從 Ollama.com 下載模型",
|
||||
"Pull Progress": "下載進度",
|
||||
"Query Params": "查詢參數",
|
||||
@ -312,13 +328,17 @@
|
||||
"Regenerate": "",
|
||||
"Release Notes": "發布說明",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "重複最後 N 次",
|
||||
"Repeat Penalty": "重複懲罰",
|
||||
"Request Mode": "請求模式",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Vector Storage": "重置向量儲存空間",
|
||||
"Response AutoCopy to Clipboard": "自動複製回答到剪貼簿",
|
||||
"Retrieval Augmented Generation Settings": "",
|
||||
"Role": "Role",
|
||||
"Rosé Pine": "玫瑰松",
|
||||
"Rosé Pine Dawn": "黎明玫瑰松",
|
||||
@ -346,7 +366,9 @@
|
||||
"Server connection verified": "已驗證伺服器連線",
|
||||
"Set as default": "設為預設",
|
||||
"Set Default Model": "設定預設模型",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "設定圖片大小",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "設定步數",
|
||||
"Set Title Auto-Generation Model": "設定自動生成標題用模型",
|
||||
"Set Voice": "設定語音",
|
||||
@ -365,6 +387,7 @@
|
||||
"Sign Out": "登出",
|
||||
"Sign up": "註冊",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "語音識別錯誤: {{error}}",
|
||||
"Speech-to-Text Engine": "語音轉文字引擎",
|
||||
"SpeechRecognition API is not supported in this browser.": "此瀏覽器不支持 SpeechRecognition API。",
|
||||
@ -409,11 +432,7 @@
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "哎呀!連線到 {{provider}} 時出現問題。",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "未知的文件類型 '{{file_type}}',但接受並視為純文字",
|
||||
"Update and Copy Link": "",
|
||||
"Update Embedding Model": "",
|
||||
"Update embedding model (e.g. {{model}})": "",
|
||||
"Update password": "更新密碼",
|
||||
"Update Reranking Model": "",
|
||||
"Update reranking model (e.g. {{model}})": "",
|
||||
"Upload a GGUF model": "上傳一個 GGUF 模型",
|
||||
"Upload files": "上傳文件",
|
||||
"Upload Progress": "上傳進度",
|
||||
@ -431,6 +450,7 @@
|
||||
"Version": "版本",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
|
||||
"Web": "網頁",
|
||||
"Web Params": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "WebUI 擴充套件",
|
||||
"WebUI Settings": "WebUI 設定",
|
||||
@ -441,6 +461,8 @@
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "寫一個提示詞建議(例如:你是誰?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "寫一個50字的摘要來概括[主題或關鍵詞]。",
|
||||
"You": "你",
|
||||
"You have no archived conversations.": "",
|
||||
"You have shared this chat": "",
|
||||
"You're a helpful assistant.": "你是一位善於協助他人的助手。",
|
||||
"You're now logged in.": "已登入。",
|
||||
"Youtube": ""
|
||||
|
@ -366,7 +366,8 @@
|
||||
},
|
||||
format: $settings.requestFormat ?? undefined,
|
||||
keep_alive: $settings.keepAlive ?? undefined,
|
||||
docs: docs.length > 0 ? docs : undefined
|
||||
docs: docs.length > 0 ? docs : undefined,
|
||||
citations: docs.length > 0
|
||||
});
|
||||
|
||||
if (res && res.ok) {
|
||||
@ -401,6 +402,11 @@
|
||||
console.log(line);
|
||||
let data = JSON.parse(line);
|
||||
|
||||
if ('citations' in data) {
|
||||
responseMessage.citations = data.citations;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ('detail' in data) {
|
||||
throw data;
|
||||
}
|
||||
@ -598,7 +604,8 @@
|
||||
num_ctx: $settings?.options?.num_ctx ?? undefined,
|
||||
frequency_penalty: $settings?.options?.repeat_penalty ?? undefined,
|
||||
max_tokens: $settings?.options?.num_predict ?? undefined,
|
||||
docs: docs.length > 0 ? docs : undefined
|
||||
docs: docs.length > 0 ? docs : undefined,
|
||||
citations: docs.length > 0
|
||||
},
|
||||
model?.source?.toLowerCase() === 'litellm'
|
||||
? `${LITELLM_API_BASE_URL}/v1`
|
||||
@ -614,7 +621,7 @@
|
||||
const textStream = await createOpenAITextStream(res.body, $settings.splitLargeChunks);
|
||||
|
||||
for await (const update of textStream) {
|
||||
const { value, done } = update;
|
||||
const { value, done, citations } = update;
|
||||
if (done || stopResponseFlag || _chatId !== $chatId) {
|
||||
responseMessage.done = true;
|
||||
messages = messages;
|
||||
@ -626,6 +633,11 @@
|
||||
break;
|
||||
}
|
||||
|
||||
if (citations) {
|
||||
responseMessage.citations = citations;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (responseMessage.content == '' && value == '\n') {
|
||||
continue;
|
||||
} else {
|
||||
|
@ -110,7 +110,7 @@
|
||||
<div class=" flex flex-col justify-center">
|
||||
<div class=" px-6 pt-4">
|
||||
<div class=" flex justify-between items-center">
|
||||
<div class="flex items-center text-2xl font-semibold">Dashboard</div>
|
||||
<div class="flex items-center text-2xl font-semibold">{$i18n.t('Dashboard')}</div>
|
||||
<div>
|
||||
<Tooltip content={$i18n.t('Admin Settings')}>
|
||||
<button
|
||||
@ -140,8 +140,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="px-6 flex text-sm gap-2.5">
|
||||
<div class="py-3 border-b font-medium text-gray-100 cursor-pointer">Overview</div>
|
||||
<div class="px-5 flex text-sm gap-2.5">
|
||||
<div class="py-3 border-b font-medium text-gray-100 cursor-pointer">
|
||||
{$i18n.t('Overview')}
|
||||
</div>
|
||||
<!-- <div class="py-3 text-gray-300 cursor-pointer">Users</div> -->
|
||||
</div>
|
||||
|
||||
@ -268,7 +270,7 @@
|
||||
<td class="px-3 py-2 text-right">
|
||||
<div class="flex justify-end w-full">
|
||||
{#if user.role !== 'admin'}
|
||||
<Tooltip content="Chats">
|
||||
<Tooltip content={$i18n.t('Chats')}>
|
||||
<button
|
||||
class="self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
|
||||
on:click={async () => {
|
||||
|
@ -378,7 +378,8 @@
|
||||
},
|
||||
format: $settings.requestFormat ?? undefined,
|
||||
keep_alive: $settings.keepAlive ?? undefined,
|
||||
docs: docs.length > 0 ? docs : undefined
|
||||
docs: docs.length > 0 ? docs : undefined,
|
||||
citations: docs.length > 0
|
||||
});
|
||||
|
||||
if (res && res.ok) {
|
||||
@ -413,6 +414,11 @@
|
||||
console.log(line);
|
||||
let data = JSON.parse(line);
|
||||
|
||||
if ('citations' in data) {
|
||||
responseMessage.citations = data.citations;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ('detail' in data) {
|
||||
throw data;
|
||||
}
|
||||
@ -610,7 +616,8 @@
|
||||
num_ctx: $settings?.options?.num_ctx ?? undefined,
|
||||
frequency_penalty: $settings?.options?.repeat_penalty ?? undefined,
|
||||
max_tokens: $settings?.options?.num_predict ?? undefined,
|
||||
docs: docs.length > 0 ? docs : undefined
|
||||
docs: docs.length > 0 ? docs : undefined,
|
||||
citations: docs.length > 0
|
||||
},
|
||||
model?.source?.toLowerCase() === 'litellm'
|
||||
? `${LITELLM_API_BASE_URL}/v1`
|
||||
@ -626,7 +633,7 @@
|
||||
const textStream = await createOpenAITextStream(res.body, $settings.splitLargeChunks);
|
||||
|
||||
for await (const update of textStream) {
|
||||
const { value, done } = update;
|
||||
const { value, done, citations } = update;
|
||||
if (done || stopResponseFlag || _chatId !== $chatId) {
|
||||
responseMessage.done = true;
|
||||
messages = messages;
|
||||
@ -638,6 +645,11 @@
|
||||
break;
|
||||
}
|
||||
|
||||
if (citations) {
|
||||
responseMessage.citations = citations;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (responseMessage.content == '' && value == '\n') {
|
||||
continue;
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user