mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-11-19 12:40:09 +01:00
Merge branch 'master' of github.com:Mintplex-Labs/anything-llm into render
This commit is contained in:
commit
0938850435
@ -76,7 +76,7 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"updateContentCommand": "yarn setup",
|
||||
"updateContentCommand": "cd server && yarn && cd ../collector && PUPPETEER_DOWNLOAD_BASE_URL=https://storage.googleapis.com/chrome-for-testing-public yarn && cd ../frontend && yarn && cd .. && yarn setup:envs && yarn prisma:setup && echo \"Please run yarn dev:server, yarn dev:collector, and yarn dev:frontend in separate terminal tabs.\"",
|
||||
// Use 'postCreateCommand' to run commands after the container is created.
|
||||
// This configures VITE for github codespaces
|
||||
"postCreateCommand": "if [ \"${CODESPACES}\" = \"true\" ]; then echo 'VITE_API_BASE=\"https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api\"' > ./frontend/.env; fi",
|
||||
|
1
.github/workflows/build-and-push-image.yaml
vendored
1
.github/workflows/build-and-push-image.yaml
vendored
@ -20,6 +20,7 @@ on:
|
||||
- '.vscode/**/*'
|
||||
- '**/.env.example'
|
||||
- '.github/ISSUE_TEMPLATE/**/*'
|
||||
- '.devcontainer/**/*'
|
||||
- 'embed/**/*' # Embed should be published to frontend (yarn build:publish) if any changes are introduced
|
||||
- 'server/utils/agents/aibitat/example/**/*' # Do not push new image for local dev testing of new aibitat images.
|
||||
|
||||
|
@ -35,6 +35,7 @@ export default function GeminiLLMOptions({ settings }) {
|
||||
"gemini-1.0-pro",
|
||||
"gemini-1.5-pro-latest",
|
||||
"gemini-1.5-flash-latest",
|
||||
"gemini-1.5-pro-exp-0801",
|
||||
].map((model) => {
|
||||
return (
|
||||
<option key={model} value={model}>
|
||||
|
@ -2,8 +2,9 @@ import React, { useEffect, useState } from "react";
|
||||
import System from "@/models/system";
|
||||
import PreLoader from "@/components/Preloader";
|
||||
import { OLLAMA_COMMON_URLS } from "@/utils/constants";
|
||||
import { CaretDown, CaretUp } from "@phosphor-icons/react";
|
||||
import { CaretDown, CaretUp, Info } from "@phosphor-icons/react";
|
||||
import useProviderEndpointAutoDiscovery from "@/hooks/useProviderEndpointAutoDiscovery";
|
||||
import { Tooltip } from "react-tooltip";
|
||||
|
||||
export default function OllamaLLMOptions({ settings }) {
|
||||
const {
|
||||
@ -18,15 +19,13 @@ export default function OllamaLLMOptions({ settings }) {
|
||||
initialBasePath: settings?.OllamaLLMBasePath,
|
||||
ENDPOINTS: OLLAMA_COMMON_URLS,
|
||||
});
|
||||
|
||||
const [performanceMode, setPerformanceMode] = useState(
|
||||
settings?.OllamaLLMPerformanceMode || "base"
|
||||
);
|
||||
const [maxTokens, setMaxTokens] = useState(
|
||||
settings?.OllamaLLMTokenLimit || 4096
|
||||
);
|
||||
|
||||
const handleMaxTokensChange = (e) => {
|
||||
setMaxTokens(Number(e.target.value));
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="w-full flex flex-col gap-y-7">
|
||||
<div className="w-full flex items-start gap-[36px] mt-1.5">
|
||||
@ -46,7 +45,7 @@ export default function OllamaLLMOptions({ settings }) {
|
||||
defaultChecked="4096"
|
||||
min={1}
|
||||
value={maxTokens}
|
||||
onChange={handleMaxTokensChange}
|
||||
onChange={(e) => setMaxTokens(Number(e.target.value))}
|
||||
onScroll={(e) => e.target.blur()}
|
||||
required={true}
|
||||
autoComplete="off"
|
||||
@ -64,7 +63,7 @@ export default function OllamaLLMOptions({ settings }) {
|
||||
}}
|
||||
className="text-white hover:text-white/70 flex items-center text-sm"
|
||||
>
|
||||
{showAdvancedControls ? "Hide" : "Show"} Manual Endpoint Input
|
||||
{showAdvancedControls ? "Hide" : "Show"} advanced settings
|
||||
{showAdvancedControls ? (
|
||||
<CaretUp size={14} className="ml-1" />
|
||||
) : (
|
||||
@ -134,12 +133,57 @@ export default function OllamaLLMOptions({ settings }) {
|
||||
className="underline text-blue-300"
|
||||
href="https://github.com/ollama/ollama/blob/main/docs/faq.md#how-do-i-keep-a-model-loaded-in-memory-or-make-it-unload-immediately"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{" "}
|
||||
Learn more →
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col w-60">
|
||||
<label className="text-white text-sm font-semibold mb-2 flex items-center">
|
||||
Performance Mode
|
||||
<Info
|
||||
size={16}
|
||||
className="ml-2 text-white"
|
||||
data-tooltip-id="performance-mode-tooltip"
|
||||
/>
|
||||
</label>
|
||||
<select
|
||||
name="OllamaLLMPerformanceMode"
|
||||
required={true}
|
||||
className="bg-zinc-900 border-gray-500 text-white text-sm rounded-lg block w-full p-2.5"
|
||||
value={performanceMode}
|
||||
onChange={(e) => setPerformanceMode(e.target.value)}
|
||||
>
|
||||
<option value="base">Base (Default)</option>
|
||||
<option value="maximum">Maximum</option>
|
||||
</select>
|
||||
<p className="text-xs leading-[18px] font-base text-white text-opacity-60 mt-2">
|
||||
Choose the performance mode for the Ollama model.
|
||||
</p>
|
||||
<Tooltip
|
||||
id="performance-mode-tooltip"
|
||||
place="bottom"
|
||||
className="tooltip !text-xs max-w-xs"
|
||||
>
|
||||
<p className="text-red-500">
|
||||
<strong>Note:</strong> Only change this setting if you
|
||||
understand its implications on performance and resource usage.
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
<strong>Base:</strong> Ollama automatically limits the context
|
||||
to 2048 tokens, reducing VRAM usage. Suitable for most users.
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
<strong>Maximum:</strong> Uses the full context window (up to
|
||||
Max Tokens). May increase VRAM usage significantly.
|
||||
</p>
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -16,6 +16,7 @@ const PROVIDER_DEFAULT_MODELS = {
|
||||
"gemini-1.0-pro",
|
||||
"gemini-1.5-pro-latest",
|
||||
"gemini-1.5-flash-latest",
|
||||
"gemini-1.5-pro-exp-0801",
|
||||
],
|
||||
anthropic: [
|
||||
"claude-instant-1.2",
|
||||
|
498
frontend/src/locales/it/common.js
Normal file
498
frontend/src/locales/it/common.js
Normal file
@ -0,0 +1,498 @@
|
||||
const TRANSLATIONS = {
|
||||
common: {
|
||||
"workspaces-name": "Nome delle aree di lavoro",
|
||||
error: "errore",
|
||||
success: "successo",
|
||||
user: "Utente",
|
||||
selection: "Selezione del modello",
|
||||
saving: "Salvo...",
|
||||
save: "Salva modifiche",
|
||||
previous: "Pagina precedente",
|
||||
next: "Pagina successiva",
|
||||
},
|
||||
|
||||
// Setting Sidebar menu items.
|
||||
settings: {
|
||||
title: "Impostazioni istanza",
|
||||
system: "Impostazioni generali",
|
||||
invites: "Inviti",
|
||||
users: "Utenti",
|
||||
workspaces: "Aree di lavoro",
|
||||
"workspace-chats": "Chat dell'area di lavoro",
|
||||
customization: "Personalizzazione",
|
||||
"api-keys": "API Sviluppatore",
|
||||
llm: "LLM",
|
||||
transcription: "Trascrizione",
|
||||
embedder: "Embedder",
|
||||
"text-splitting": "Suddivisione di testo & Chunking",
|
||||
"voice-speech": "Voce & discorso",
|
||||
"vector-database": "Database Vettoriale",
|
||||
embeds: "Chat incorporata",
|
||||
"embed-chats": "Storico chat incorporata",
|
||||
security: "Sicurezza",
|
||||
"event-logs": "Log degli eventi",
|
||||
privacy: "Privacy & Dati",
|
||||
"ai-providers": "AI Providers",
|
||||
"agent-skills": "Abilità dell'agente",
|
||||
admin: "Admin",
|
||||
tools: "Strumenti",
|
||||
"experimental-features": "Caratteristiche sperimentali",
|
||||
contact: "Contatta il Supporto",
|
||||
},
|
||||
|
||||
// Page Definitions
|
||||
login: {
|
||||
"multi-user": {
|
||||
welcome: "Benvenuto in",
|
||||
"placeholder-username": "Username",
|
||||
"placeholder-password": "Password",
|
||||
login: "Login",
|
||||
validating: "Verifica in corso...",
|
||||
"forgot-pass": "Password dimenticata",
|
||||
reset: "Reset",
|
||||
},
|
||||
"sign-in": {
|
||||
start: "Accedi al tuo",
|
||||
end: "account.",
|
||||
},
|
||||
"password-reset": {
|
||||
title: "Password Reset",
|
||||
description:
|
||||
"Fornisci le informazioni necessarie qui sotto per reimpostare la tua password.",
|
||||
"recovery-codes": "Codici di recupero",
|
||||
"recovery-code": "Codice di recupero {{index}}",
|
||||
"back-to-login": "Torna al Login",
|
||||
},
|
||||
},
|
||||
|
||||
welcomeMessage: {
|
||||
part1:
|
||||
"Benvenuti in AnythingLLM, AnythingLLM è uno strumento di intelligenza artificiale open source di Mintplex Labs che trasforma qualsiasi cosa in un chatbot addestrato con cui puoi effettuare query e chattare. AnythingLLM è un software BYOK (bring-your-own-keys), quindi non ci sono abbonamenti, commissioni o costi per questo software al di fuori dei servizi che vuoi utilizzare.",
|
||||
part2:
|
||||
"AnythingLLM è il modo più semplice per mettere insieme potenti prodotti di intelligenza artificiale come OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB e altri servizi in un pacchetto ordinato e senza problemi per aumentare la tua produttività di 100 volte.",
|
||||
part3:
|
||||
"AnythingLLM può essere eseguito completamente in locale sulla tua macchina con un overhead minimo, non ti accorgerai nemmeno che c'è! Non serve GPU. Sono disponibili anche installazioni cloud e on-premise.\nL'ecosistema degli strumenti di intelligenza artificiale diventa ogni giorno più potente. AnythingLLM lo rende facile da usare.",
|
||||
githubIssue: "Apri una issue su Github",
|
||||
user1: "Come posso iniziare?!",
|
||||
part4:
|
||||
'È semplice. Tutte le raccolte sono organizzate in contenitori che chiamiamo "Aree di lavoro". Le aree di lavoro sono contenitori di file, documenti, immagini, PDF e altri file che verranno trasformati in qualcosa che gli LLM possono comprendere e utilizzare nella conversazione.\n\nPuoi aggiungere e rimuovere file in qualsiasi momento.',
|
||||
createWorkspace: "Crea la tua prima area di lavoro",
|
||||
user2:
|
||||
"È come Dropbox AI o qualcosa del genere? E le chat? È un chatbot, non è vero?",
|
||||
part5:
|
||||
"AnythingLLM è migliore di un Dropbox più smart.\n\nAnythingLLM offre due modi di comunicare con i tuoi dati:\n\n<i>Query:</i> Le tue chat restituiranno dati o inferenze trovate con i documenti nella tua area di lavoro a cui ha accesso. Aggiungere più documenti all'area di lavoro lo rende più intelligente! \n\n<i>Conversazionale:</i> i tuoi documenti + la cronologia delle chat in corso contribuiscono entrambi alla conoscenza dell'LLM allo stesso tempo. Ottimo per aggiungere informazioni basate su testo in tempo reale o correzioni e incomprensioni che l'LLM potrebbe avere. \n\nPuoi passare da una modalità all'altra \n<i>nel mezzo della chat!</i>",
|
||||
user3: "Wow, sembra fantastico, fammi provare!",
|
||||
part6: "Divertiti!",
|
||||
starOnGithub: "Metti una stella su GitHub",
|
||||
contact: "Contatta Mintplex Labs",
|
||||
},
|
||||
|
||||
"new-workspace": {
|
||||
title: "Nuova area di lavoro",
|
||||
placeholder: "La mia area di lavoro",
|
||||
},
|
||||
|
||||
// Workspace Settings menu items
|
||||
"workspaces—settings": {
|
||||
general: "Impostazioni generali",
|
||||
chat: "Impostazioni Chat",
|
||||
vector: "Database vettoriale",
|
||||
members: "Membri",
|
||||
agent: "Configurazione dell'agente",
|
||||
},
|
||||
|
||||
// General Appearance
|
||||
general: {
|
||||
vector: {
|
||||
title: "Contatore dei vettori",
|
||||
description: "Numero totale di vettori nel tuo database vettoriale.",
|
||||
},
|
||||
names: {
|
||||
description:
|
||||
"Questo cambierà solo il nome visualizzato della tua area di lavoro.",
|
||||
},
|
||||
message: {
|
||||
title: "Messaggi Chat suggeriti",
|
||||
description:
|
||||
"Personalizza i messaggi che verranno suggeriti agli utenti della tua area di lavoro.",
|
||||
add: "Aggiungi un nuovo messaggio",
|
||||
save: "Salva messaggi",
|
||||
heading: "Spiegami",
|
||||
body: "i vantaggi di AnythingLLM",
|
||||
},
|
||||
pfp: {
|
||||
title: "Immagine del profilo dell'assistente",
|
||||
description:
|
||||
"Personalizza l'immagine del profilo dell'assistente per quest'area di lavoro.",
|
||||
image: "Immagine dell'area di lavoro",
|
||||
remove: "Rimuovi immagine dell'area di lavoro",
|
||||
},
|
||||
delete: {
|
||||
title: "Elimina area di lavoro",
|
||||
description:
|
||||
"Elimina quest'area di lavoro e tutti i suoi dati. Ciò eliminerà l'area di lavoro per tutti gli utenti.",
|
||||
delete: "Elimina area di lavoro",
|
||||
deleting: "Eliminazione dell'area di lavoro...",
|
||||
"confirm-start": "Stai per eliminare l'intera",
|
||||
"confirm-end":
|
||||
"area di lavoro. Verranno rimossi tutti gli embeddings vettoriali nel tuo database vettoriale.\n\nI file sorgente originali rimarranno intatti. Questa azione è irreversibile.",
|
||||
},
|
||||
},
|
||||
|
||||
// Chat Settings
|
||||
chat: {
|
||||
llm: {
|
||||
title: "LLM Provider dell'area di lavoro",
|
||||
description:
|
||||
"Il provider LLM e il modello specifici che verranno utilizzati per quest'area di lavoro. Per impostazione predefinita, utilizza il provider LLM e le impostazioni di sistema.",
|
||||
search: "Cerca tutti i provider LLM",
|
||||
},
|
||||
model: {
|
||||
title: "Modello di chat dell'area di lavoro",
|
||||
description:
|
||||
"Il modello di chat specifico che verrà utilizzato per quest'area di lavoro. Se vuoto, utilizzerà l'LLM di sistema.",
|
||||
wait: "-- in attesa dei modelli --",
|
||||
},
|
||||
mode: {
|
||||
title: "Modalità chat",
|
||||
chat: {
|
||||
title: "Chat",
|
||||
"desc-start": "fornirà risposte con la conoscenza generale dell'LLM",
|
||||
and: "e",
|
||||
"desc-end": "contesto documentale associato.",
|
||||
},
|
||||
query: {
|
||||
title: "Query",
|
||||
"desc-start": "fornirà risposte",
|
||||
only: "solo",
|
||||
"desc-end": "se sarà presente un contesto documentale",
|
||||
},
|
||||
},
|
||||
history: {
|
||||
title: "Chat History",
|
||||
"desc-start":
|
||||
"Numero di chat precedenti che verranno incluse nella memoria a breve termine della risposta.",
|
||||
recommend: "Recommend 20. ",
|
||||
"desc-end":
|
||||
"Un numero superiore a 45 potrebbe causare continui errori nella chat, a seconda delle dimensioni del messaggio.",
|
||||
},
|
||||
prompt: {
|
||||
title: "Prompt",
|
||||
description:
|
||||
"Il prompt che verrà utilizzato in quest'area di lavoro. Definisci il contesto e le istruzioni affinché l'IA generi una risposta. Dovresti fornire un prompt elaborato con cura in modo che l'IA possa generare una risposta pertinente e accurata.",
|
||||
},
|
||||
refusal: {
|
||||
title: "Risposta al rifiuto nella modalità di query",
|
||||
"desc-start": "Quando la modalità",
|
||||
query: "query",
|
||||
"desc-end":
|
||||
"è attiva, potresti voler restituire una risposta di rifiuto personalizzata quando non viene trovato alcun contesto.",
|
||||
},
|
||||
temperature: {
|
||||
title: "Temperatura LLM",
|
||||
"desc-start":
|
||||
'Questa impostazione controlla il livello di "creatività" delle risposte dell\'LLM.',
|
||||
"desc-end":
|
||||
"Più alto è il numero, più è creativo. Per alcuni modelli questo può portare a risposte incoerenti se troppo elevato.",
|
||||
hint: "La maggior parte degli LLM ha vari intervalli accettabili di valori validi. Consulta il tuo fornitore LLM per queste informazioni.",
|
||||
},
|
||||
},
|
||||
|
||||
// Vector Database
|
||||
"vector-workspace": {
|
||||
identifier: "Identificatore del database vettoriale",
|
||||
snippets: {
|
||||
title: "Numero massimo di frammenti di contesto",
|
||||
description:
|
||||
"Questa impostazione controlla la quantità massima di frammenti di contesto che verranno inviati all'LLM per ogni chat o query.",
|
||||
recommend: "Raccomandato: 4",
|
||||
},
|
||||
doc: {
|
||||
title: "Soglia di similarità del documento",
|
||||
description:
|
||||
"Punteggio di similarità minimo richiesto affinché una fonte sia considerata correlata alla chat. Più alto è il numero, più la fonte deve essere simile alla chat.",
|
||||
zero: "Nessuna restrizione",
|
||||
low: "Basso (punteggio di similarità ≥ .25)",
|
||||
medium: "Medio (punteggio di similarità ≥ .50)",
|
||||
high: "Alto (punteggio di similarità ≥ .75)",
|
||||
},
|
||||
reset: {
|
||||
reset: "Reimposta database vettoriale",
|
||||
resetting: "Cancellazione vettori...",
|
||||
confirm:
|
||||
"Stai per reimpostare il database vettoriale di quest'area di lavoro. Questa operazione rimuoverà tutti gli embedding vettoriali attualmente incorporati.\n\nI file sorgente originali rimarranno intatti. Questa azione è irreversibile.",
|
||||
error:
|
||||
"Impossibile reimpostare il database vettoriale dell'area di lavoro!",
|
||||
success:
|
||||
"Il database vettoriale dell'area di lavoro è stato reimpostato!",
|
||||
},
|
||||
},
|
||||
|
||||
// Agent Configuration
|
||||
agent: {
|
||||
"performance-warning":
|
||||
"Le prestazioni degli LLM che non supportano esplicitamente la chiamata degli strumenti dipendono in larga misura dalle capacità e dalla precisione del modello. Alcune capacità potrebbero essere limitate o non funzionali.",
|
||||
provider: {
|
||||
title: "Provider LLM dell'agente dell'area di lavoro",
|
||||
description:
|
||||
"Il provider e il modello LLM specifici che verranno utilizzati per l'agente @agent di quest'area di lavoro.",
|
||||
},
|
||||
mode: {
|
||||
chat: {
|
||||
title: "Modello di chat dell'agente dell'area di lavoro",
|
||||
description:
|
||||
"Il modello di chat specifico che verrà utilizzato per l'agente @agent di quest'area di lavoro.",
|
||||
},
|
||||
title: "Modello dell'agente dell'area di lavoro",
|
||||
description:
|
||||
"Il modello LLM specifico che verrà utilizzato per l'agente @agent di quest'area di lavoro.",
|
||||
wait: "-- in attesa dei modelli --",
|
||||
},
|
||||
|
||||
skill: {
|
||||
title: "Abilità predefinite dell'agente",
|
||||
description:
|
||||
"Migliora le capacità naturali dell'agente predefinito con queste abilità predefinite. Questa configurazione si applica a tutte le aree di lavoro.",
|
||||
rag: {
|
||||
title: "RAG e memoria a lungo termine",
|
||||
description:
|
||||
"Consenti all'agente di sfruttare i tuoi documenti locali per rispondere a una query o chiedi all'agente di \"ricordare\" parti di contenuto per il recupero della memoria a lungo termine.",
|
||||
},
|
||||
view: {
|
||||
title: "Visualizza e riepiloga i documenti",
|
||||
description:
|
||||
"Consenti all'agente di elencare e riepilogare il contenuto dei file dell'area di lavoro attualmente incorporati.",
|
||||
},
|
||||
scrape: {
|
||||
title: "Esplora siti Web",
|
||||
description:
|
||||
"Consenti all'agente di visitare ed eseguire lo scraping del contenuto dei siti Web.",
|
||||
},
|
||||
generate: {
|
||||
title: "Genera grafici",
|
||||
description:
|
||||
"Consenti all'agente predefinito di generare vari tipi di grafici dai dati forniti o forniti nella chat.",
|
||||
},
|
||||
save: {
|
||||
title: "Genera e salva file nel browser",
|
||||
description:
|
||||
"Abilita l'agente predefinito per generare e scrivere su file che possono essere salvati e scaricati nel tuo browser.",
|
||||
},
|
||||
web: {
|
||||
title: "Ricerca e navigazione web in tempo reale",
|
||||
"desc-start":
|
||||
"Abilita il tuo agente a cercare sul web per rispondere alle tue domande connettendosi a un provider di ricerca web (SERP).",
|
||||
"desc-end":
|
||||
"La ricerca web durante le sessioni dell'agente non funzionerà finché non verrà impostata.",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// Workspace Chats
|
||||
recorded: {
|
||||
title: "Chat dell'area di lavoro",
|
||||
description:
|
||||
"Queste sono tutte le chat e i messaggi registrati che sono stati inviati dagli utenti ordinati in base alla data di creazione.",
|
||||
export: "Esporta",
|
||||
table: {
|
||||
id: "Id",
|
||||
by: "Inviato da",
|
||||
workspace: "Area di lavoro",
|
||||
prompt: "Prompt",
|
||||
response: "Risposta",
|
||||
at: "Inviato a",
|
||||
},
|
||||
},
|
||||
|
||||
// Appearance
|
||||
appearance: {
|
||||
title: "Aspetto",
|
||||
description:
|
||||
"Personalizza le impostazioni di aspetto della tua piattaforma.",
|
||||
logo: {
|
||||
title: "Personalizza logo",
|
||||
description:
|
||||
"Carica il tuo logo personalizzato per rendere tuo il chatbot.",
|
||||
add: "Aggiungi un logo personalizzato",
|
||||
recommended: "Dimensioni consigliate: 800 x 200",
|
||||
remove: "Rimuovi",
|
||||
replace: "Sostituisci",
|
||||
},
|
||||
message: {
|
||||
title: "Personalizza messaggi",
|
||||
description:
|
||||
"Personalizza i messaggi automatici visualizzati dai tuoi utenti.",
|
||||
new: "Nuovo",
|
||||
system: "sistema",
|
||||
user: "utente",
|
||||
message: "messaggio",
|
||||
assistant: "Assistente chat AnythingLLM",
|
||||
"double-click": "Fai doppio clic per modificare...",
|
||||
save: "Salva messaggi",
|
||||
},
|
||||
icons: {
|
||||
title: "Icone a piè di pagina personalizzate",
|
||||
description:
|
||||
"Personalizza le icone a piè di pagina visualizzate nella parte inferiore della barra laterale.",
|
||||
icon: "Icona",
|
||||
link: "Collegamento",
|
||||
},
|
||||
},
|
||||
|
||||
// API Keys
|
||||
api: {
|
||||
title: "Chiavi API",
|
||||
description:
|
||||
"Le chiavi API consentono al titolare di accedere e gestire in modo programmatico questa istanza AnythingLLM.",
|
||||
link: "Leggi la documentazione API",
|
||||
generate: "Genera nuova chiave API",
|
||||
table: {
|
||||
key: "Chiave API",
|
||||
by: "Creato da",
|
||||
created: "Creato",
|
||||
},
|
||||
},
|
||||
|
||||
llm: {
|
||||
title: "Preferenza LLM",
|
||||
description:
|
||||
"Queste sono le credenziali e le impostazioni per il tuo provider di chat e embedding LLM preferito. È importante che queste chiavi siano aggiornate e corrette, altrimenti AnythingLLM non funzionerà correttamente.",
|
||||
provider: "Provider LLM",
|
||||
},
|
||||
|
||||
transcription: {
|
||||
title: "Preferenza del modello di trascrizione",
|
||||
description:
|
||||
"Queste sono le credenziali e le impostazioni per il tuo fornitore di modelli di trascrizione preferito. È importante che queste chiavi siano aggiornate e corrette, altrimenti i file multimediali e l'audio non verranno trascritti.",
|
||||
provider: "Provider di trascrizione",
|
||||
"warn-start":
|
||||
"L'utilizzo del modello whisper locale su macchine con RAM o CPU limitate può bloccare AnythingLLM durante l'elaborazione di file multimediali.",
|
||||
"warn-recommend":
|
||||
"Si consigliano almeno 2 GB di RAM e caricare file <10 Mb.",
|
||||
"warn-end":
|
||||
"Il modello integrato verrà scaricato automaticamente al primo utilizzo.",
|
||||
},
|
||||
|
||||
embedding: {
|
||||
title: "Preferenza di embedding",
|
||||
"desc-start":
|
||||
"Quando si utilizza un LLM che non supporta nativamente un motore di embedding, potrebbe essere necessario specificare credenziali aggiuntive per l'embedding del testo.",
|
||||
"desc-end":
|
||||
"L'embedding è il processo di trasformazione del testo in vettori. Queste credenziali sono necessarie per trasformare i file e i prompt in un formato che AnythingLLM può utilizzare per l'elaborazione.",
|
||||
provider: {
|
||||
title: "Provider di embedding",
|
||||
description:
|
||||
"Non è richiesta alcuna configurazione quando si utilizza il motore di embedding nativo di AnythingLLM.",
|
||||
},
|
||||
},
|
||||
|
||||
text: {
|
||||
title: "Preferenze di suddivisione e suddivisione in blocchi del testo",
|
||||
"desc-start":
|
||||
"A volte, potresti voler cambiare il modo predefinito in cui i nuovi documenti vengono suddivisi e spezzettati in blocchi prima di essere inseriti nel tuo database vettoriale.",
|
||||
"desc-end":
|
||||
"Dovresti modificare questa impostazione solo se capisci come funziona la suddivisione del testo e i suoi effetti collaterali.",
|
||||
"warn-start": "Le modifiche qui si applicheranno solo a",
|
||||
"warn-center": "nuovi documenti incorporati",
|
||||
"warn-end": ", non documenti esistenti.",
|
||||
size: {
|
||||
title: "Dimensioni blocco di testo",
|
||||
description:
|
||||
"Questa è la lunghezza massima di caratteri che possono essere presenti in un singolo vettore.",
|
||||
recommend: "La lunghezza massima del modello di embedding è",
|
||||
},
|
||||
overlap: {
|
||||
title: "Sovrapposizione blocco di testo",
|
||||
description:
|
||||
"Questa è la sovrapposizione massima di caratteri che si verifica durante la suddivisione in blocchi tra due porzioni di testo adiacenti.",
|
||||
},
|
||||
},
|
||||
|
||||
// Vector Database
|
||||
vector: {
|
||||
title: "Database vettoriale",
|
||||
description:
|
||||
"Queste sono le credenziali e le impostazioni per il funzionamento della tua istanza AnythingLLM. È importante che queste chiavi siano aggiornate e corrette.",
|
||||
provider: {
|
||||
title: "Provider del database vettoriale",
|
||||
description: "Non è richiesta alcuna configurazione per LanceDB.",
|
||||
},
|
||||
},
|
||||
|
||||
// Embeddable Chat Widgets
|
||||
embeddable: {
|
||||
title: "Widget di chat incorporabili",
|
||||
description:
|
||||
"I widget di chat incorporabili sono interfacce di chat pubbliche che sono collegate a una singola area di lavoro. Queste ti consentono di creare aree di lavoro che puoi poi pubblicare ovunque.",
|
||||
create: "Crea embedding",
|
||||
table: {
|
||||
workspace: "Area di lavoro",
|
||||
chats: "Chat inviate",
|
||||
Active: "Domini attivi",
|
||||
},
|
||||
},
|
||||
|
||||
"embed-chats": {
|
||||
title: "Chat incorporate",
|
||||
description:
|
||||
"Queste sono tutte le chat e i messaggi registrati da qualsiasi embedding che hai pubblicato.",
|
||||
table: {
|
||||
embed: "Incorpora",
|
||||
sender: "Mittente",
|
||||
message: "Messaggio",
|
||||
response: "Risposta",
|
||||
at: "Inviato a",
|
||||
},
|
||||
},
|
||||
|
||||
multi: {
|
||||
title: "Modalità multi-utente",
|
||||
description:
|
||||
"Imposta la tua istanza per supportare il tuo team attivando la modalità multi-utente.",
|
||||
enable: {
|
||||
"is-enable": "La modalità multi-utente è abilitata",
|
||||
enable: "Abilita la modalità multi-utente",
|
||||
description:
|
||||
"Per impostazione predefinita, sarai l'unico amministratore. Come amministratore dovrai creare account per tutti i nuovi utenti o amministratori. Non perdere la tua password poiché solo un utente amministratore può reimpostare le password.",
|
||||
username: "Nome utente account amministratore",
|
||||
password: "Password account amministratore",
|
||||
},
|
||||
password: {
|
||||
title: "Protezione password",
|
||||
description:
|
||||
"Proteggi la tua istanza AnythingLLM con una password. Se la dimentichi, non esiste un metodo di recupero, quindi assicurati di salvare questa password.",
|
||||
},
|
||||
instance: {
|
||||
title: "Protezione password istanza",
|
||||
description:
|
||||
"Per impostazione predefinita, sarai l'unico amministratore. Come amministratore dovrai creare account per tutti i nuovi utenti o amministratori. Non perdere la tua password poiché solo un utente amministratore può reimpostare le password.",
|
||||
password: "Password istanza",
|
||||
},
|
||||
},
|
||||
|
||||
// Event Logs
|
||||
event: {
|
||||
title: "Registro eventi",
|
||||
description:
|
||||
"Visualizza tutte le azioni e gli eventi che si verificano su questa istanza per il monitoraggio.",
|
||||
clear: "Cancella registri eventi",
|
||||
table: {
|
||||
type: "Tipo di evento",
|
||||
user: "Utente",
|
||||
occurred: "Si è verificato alle",
|
||||
},
|
||||
},
|
||||
|
||||
// Privacy & Data-Handling
|
||||
privacy: {
|
||||
title: "Privacy e gestione dei dati",
|
||||
description:
|
||||
"Questa è la tua configurazione per il modo in cui i provider terzi connessi e AnythingLLM gestiscono i tuoi dati.",
|
||||
llm: "Selezione LLM",
|
||||
embedding: "Preferenza di embedding",
|
||||
vector: "Database vettoriale",
|
||||
anonymous: "Telemetria anonima abilitata",
|
||||
},
|
||||
};
|
||||
|
||||
export default TRANSLATIONS;
|
@ -20,6 +20,7 @@ import Spanish from "./es/common.js";
|
||||
import French from "./fr/common.js";
|
||||
import Mandarin from "./zh/common.js";
|
||||
import Russian from "./ru/common.js";
|
||||
import Italian from "./it/common.js";
|
||||
|
||||
export const defaultNS = "common";
|
||||
export const resources = {
|
||||
@ -41,4 +42,7 @@ export const resources = {
|
||||
ru: {
|
||||
common: Russian,
|
||||
},
|
||||
it: {
|
||||
common: Italian,
|
||||
},
|
||||
};
|
||||
|
@ -417,6 +417,7 @@ const SystemSettings = {
|
||||
OllamaLLMModelPref: process.env.OLLAMA_MODEL_PREF,
|
||||
OllamaLLMTokenLimit: process.env.OLLAMA_MODEL_TOKEN_LIMIT,
|
||||
OllamaLLMKeepAliveSeconds: process.env.OLLAMA_KEEP_ALIVE_TIMEOUT ?? 300,
|
||||
OllamaLLMPerformanceMode: process.env.OLLAMA_PERFORMANCE_MODE ?? "base",
|
||||
|
||||
// TogetherAI Keys
|
||||
TogetherAiApiKey: !!process.env.TOGETHER_AI_API_KEY,
|
||||
|
@ -96,7 +96,9 @@ class GeminiLLM {
|
||||
case "gemini-1.5-flash-latest":
|
||||
return 1_048_576;
|
||||
case "gemini-1.5-pro-latest":
|
||||
return 1_048_576;
|
||||
return 2_097_152;
|
||||
case "gemini-1.5-pro-exp-0801":
|
||||
return 2_097_152;
|
||||
default:
|
||||
return 30_720; // assume a gemini-pro model
|
||||
}
|
||||
@ -108,6 +110,7 @@ class GeminiLLM {
|
||||
"gemini-1.0-pro",
|
||||
"gemini-1.5-pro-latest",
|
||||
"gemini-1.5-flash-latest",
|
||||
"gemini-1.5-pro-exp-0801",
|
||||
];
|
||||
return validModels.includes(modelName);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ class GroqLLM {
|
||||
return 8192;
|
||||
case "llama-3.1-70b-versatile":
|
||||
case "llama-3.1-8b-instant":
|
||||
return 131072;
|
||||
return 8000;
|
||||
case "mixtral-8x7b-32768":
|
||||
return 32768;
|
||||
default:
|
||||
|
@ -13,6 +13,7 @@ class OllamaAILLM {
|
||||
|
||||
this.basePath = process.env.OLLAMA_BASE_PATH;
|
||||
this.model = modelPreference || process.env.OLLAMA_MODEL_PREF;
|
||||
this.performanceMode = process.env.OLLAMA_PERFORMANCE_MODE || "base";
|
||||
this.keepAlive = process.env.OLLAMA_KEEP_ALIVE_TIMEOUT
|
||||
? Number(process.env.OLLAMA_KEEP_ALIVE_TIMEOUT)
|
||||
: 300; // Default 5-minute timeout for Ollama model loading.
|
||||
@ -33,6 +34,10 @@ class OllamaAILLM {
|
||||
model: this.model,
|
||||
keepAlive: this.keepAlive,
|
||||
useMLock: true,
|
||||
// There are currently only two performance settings so if its not "base" - its max context.
|
||||
...(this.performanceMode === "base"
|
||||
? {}
|
||||
: { numCtx: this.promptWindowLimit() }),
|
||||
temperature,
|
||||
});
|
||||
}
|
||||
|
@ -254,35 +254,48 @@ class OpenRouterLLM {
|
||||
}
|
||||
}, 500);
|
||||
|
||||
for await (const chunk of stream) {
|
||||
const message = chunk?.choices?.[0];
|
||||
const token = message?.delta?.content;
|
||||
lastChunkTime = Number(new Date());
|
||||
try {
|
||||
for await (const chunk of stream) {
|
||||
const message = chunk?.choices?.[0];
|
||||
const token = message?.delta?.content;
|
||||
lastChunkTime = Number(new Date());
|
||||
|
||||
if (token) {
|
||||
fullText += token;
|
||||
writeResponseChunk(response, {
|
||||
uuid,
|
||||
sources: [],
|
||||
type: "textResponseChunk",
|
||||
textResponse: token,
|
||||
close: false,
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
if (token) {
|
||||
fullText += token;
|
||||
writeResponseChunk(response, {
|
||||
uuid,
|
||||
sources: [],
|
||||
type: "textResponseChunk",
|
||||
textResponse: token,
|
||||
close: false,
|
||||
error: false,
|
||||
});
|
||||
}
|
||||
|
||||
if (message.finish_reason !== null) {
|
||||
writeResponseChunk(response, {
|
||||
uuid,
|
||||
sources,
|
||||
type: "textResponseChunk",
|
||||
textResponse: "",
|
||||
close: true,
|
||||
error: false,
|
||||
});
|
||||
response.removeListener("close", handleAbort);
|
||||
resolve(fullText);
|
||||
if (message.finish_reason !== null) {
|
||||
writeResponseChunk(response, {
|
||||
uuid,
|
||||
sources,
|
||||
type: "textResponseChunk",
|
||||
textResponse: "",
|
||||
close: true,
|
||||
error: false,
|
||||
});
|
||||
response.removeListener("close", handleAbort);
|
||||
resolve(fullText);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
writeResponseChunk(response, {
|
||||
uuid,
|
||||
sources,
|
||||
type: "abort",
|
||||
textResponse: null,
|
||||
close: true,
|
||||
error: e.message,
|
||||
});
|
||||
response.removeListener("close", handleAbort);
|
||||
resolve(fullText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -101,6 +101,10 @@ const KEY_MAPPING = {
|
||||
envKey: "OLLAMA_MODEL_TOKEN_LIMIT",
|
||||
checks: [nonZero],
|
||||
},
|
||||
OllamaLLMPerformanceMode: {
|
||||
envKey: "OLLAMA_PERFORMANCE_MODE",
|
||||
checks: [],
|
||||
},
|
||||
OllamaLLMKeepAliveSeconds: {
|
||||
envKey: "OLLAMA_KEEP_ALIVE_TIMEOUT",
|
||||
checks: [isInteger],
|
||||
@ -585,6 +589,7 @@ function validGeminiModel(input = "") {
|
||||
"gemini-1.0-pro",
|
||||
"gemini-1.5-pro-latest",
|
||||
"gemini-1.5-flash-latest",
|
||||
"gemini-1.5-pro-exp-0801",
|
||||
];
|
||||
return validModels.includes(input)
|
||||
? null
|
||||
|
Loading…
Reference in New Issue
Block a user