diff --git a/web/src/constants/common.ts b/web/src/constants/common.ts index b761da6e5..18d06ca39 100644 --- a/web/src/constants/common.ts +++ b/web/src/constants/common.ts @@ -51,6 +51,7 @@ export const LanguageList = [ 'Portuguese BR', 'German', 'French', + 'Italian', ]; export const LanguageMap = { English: 'English', @@ -64,6 +65,7 @@ export const LanguageMap = { 'Portuguese BR': 'Português BR', German: 'German', French: 'Français', + Italian: 'Italiano', }; export enum LanguageAbbreviation { @@ -78,6 +80,7 @@ export enum LanguageAbbreviation { PtBr = 'pt-BR', De = 'de', Fr = 'fr', + It = 'it', } export const LanguageAbbreviationMap = { @@ -92,6 +95,7 @@ export const LanguageAbbreviationMap = { [LanguageAbbreviation.PtBr]: 'Português BR', [LanguageAbbreviation.De]: 'Deutsch', [LanguageAbbreviation.Fr]: 'Français', + [LanguageAbbreviation.It]: 'Italiano', }; export const LanguageTranslationMap = { @@ -106,6 +110,7 @@ export const LanguageTranslationMap = { 'Portuguese BR': 'pt-br', German: 'de', French: 'fr', + Italian: 'it', }; export enum FileMimeType { diff --git a/web/src/locales/config.ts b/web/src/locales/config.ts index 460744e59..fadb4df59 100644 --- a/web/src/locales/config.ts +++ b/web/src/locales/config.ts @@ -8,6 +8,7 @@ import translation_en from './en'; import translation_es from './es'; import translation_fr from './fr'; import translation_id from './id'; +import translation_it from './it'; import translation_ja from './ja'; import translation_pt_br from './pt-br'; import translation_ru from './ru'; @@ -28,6 +29,7 @@ const resources = { [LanguageAbbreviation.PtBr]: translation_pt_br, [LanguageAbbreviation.De]: translation_de, [LanguageAbbreviation.Fr]: translation_fr, + [LanguageAbbreviation.It]: translation_it, }; const enFlattened = flattenObject(translation_en); const viFlattened = flattenObject(translation_vi); @@ -39,6 +41,7 @@ const pt_brFlattened = flattenObject(translation_pt_br); const zh_traditionalFlattened = flattenObject(translation_zh_traditional); const deFlattened = flattenObject(translation_de); const frFlattened = flattenObject(translation_fr); +const itFlattened = flattenObject(translation_it); export const translationTable = createTranslationTable( [ enFlattened, @@ -51,6 +54,7 @@ export const translationTable = createTranslationTable( pt_brFlattened, deFlattened, frFlattened, + itFlattened, ], [ 'English', @@ -63,6 +67,7 @@ export const translationTable = createTranslationTable( 'pt-BR', 'Deutsch', 'French', + 'Italian', ], ); i18n diff --git a/web/src/locales/it.ts b/web/src/locales/it.ts new file mode 100644 index 000000000..505d188f9 --- /dev/null +++ b/web/src/locales/it.ts @@ -0,0 +1,1229 @@ +export default { + translation: { + common: { + confirm: 'Conferma', + back: 'Indietro', + noResults: 'Nessun risultato trovato', + selectPlaceholder: 'seleziona valore', + selectAll: 'Seleziona tutto', + delete: 'Elimina', + deleteModalTitle: 'Sei sicuro di voler eliminare?', + deleteThem: 'Sei sicuro di voler eliminarli?', + ok: 'Ok', + cancel: 'Annulla', + yes: 'Sì', + no: 'No', + total: 'Totale', + rename: 'Rinomina', + name: 'Nome', + save: 'Salva', + namePlaceholder: 'Inserisci il nome', + next: 'Avanti', + create: 'Crea', + edit: 'Modifica', + upload: 'Carica', + english: 'Inglese', + portugueseBr: 'Portoghese (Brasile)', + chinese: 'Cinese semplificato', + traditionalChinese: 'Cinese tradizionale', + russian: 'Russo', + italian: 'Italiano', + german: 'Tedesco', + french: 'Francese', + spanish: 'Spagnolo', + japanese: 'Giapponese', + vietnamese: 'Vietnamita', + indonesian: 'Indonesiano', + language: 'Lingua', + languageMessage: 'Inserisci la tua lingua!', + languagePlaceholder: 'Seleziona la tua lingua', + copy: 'Copia', + copied: 'Copiato', + comingSoon: 'Prossimamente', + download: 'Scarica', + close: 'Chiudi', + preview: 'Anteprima', + move: 'Sposta', + warn: 'Avviso', + action: 'Azione', + s: 'S', + pleaseSelect: 'Seleziona', + pleaseInput: 'Inserisci', + submit: 'Invia', + clear: 'Cancella', + embedIntoSite: 'Incorpora nella pagina web', + previousPage: 'Precedente', + nextPage: 'Successivo', + add: 'Aggiungi', + remove: 'Rimuovi', + search: 'Cerca', + noDataFound: 'Nessun dato trovato.', + noData: 'Nessun dato disponibile', + promptPlaceholder: `Inserisci o usa / per inserire rapidamente variabili.`, + mcp: { + namePlaceholder: 'Il mio server MCP', + nameRequired: + 'Deve essere lungo 1-64 caratteri e può contenere solo lettere, numeri, trattini e underscore.', + urlPlaceholder: 'https://api.example.com/v1/mcp', + tokenPlaceholder: 'es. eyJhbGciOiJIUzI1Ni...', + }, + selected: 'Selezionato', + }, + login: { + loginTitle: 'Accedi al tuo account', + signUpTitle: 'Crea un account', + login: 'Accedi', + signUp: 'Registrati', + loginDescription: 'Siamo entusiasti di rivederti!', + registerDescription: 'Siamo felici di averti a bordo!', + emailLabel: 'Email', + emailPlaceholder: 'Inserisci email', + passwordLabel: 'Password', + passwordPlaceholder: 'Inserisci password', + rememberMe: 'Ricordami', + signInTip: 'Non hai un account?', + signUpTip: 'Hai già un account?', + nicknameLabel: 'Nickname', + nicknamePlaceholder: 'Inserisci nickname', + register: 'Crea un account', + continue: 'Continua', + title: 'Un motore RAG leader per il contesto LLM', + start: 'Iniziamo', + description: + 'Registrati gratuitamente per esplorare la migliore tecnologia RAG. Crea basi di conoscenza e IA per potenziare il tuo business.', + review: 'da oltre 500 recensioni', + }, + header: { + knowledgeBase: 'Dataset', + chat: 'Chat', + register: 'Registrati', + signin: 'Accedi', + home: 'Home', + setting: 'Impostazioni utente', + logout: 'Esci', + fileManager: 'File', + flow: 'Agente', + search: 'Cerca', + welcome: 'Benvenuto su', + dataset: 'Dataset', + Memories: 'Memoria', + }, + memory: { + memory: 'Memoria', + createMemory: 'Crea memoria', + name: 'Nome', + memoryNamePlaceholder: 'nome memoria', + memoryType: 'Tipo di memoria', + embeddingModel: 'Modello di embedding', + selectModel: 'Seleziona modello', + llm: 'LLM', + }, + memoryDetail: { + messages: { + sessionId: 'ID Sessione', + agent: 'Agente', + type: 'Tipo', + validDate: 'Data di validità', + forgetAt: 'Dimentica il', + source: 'Fonte', + enable: 'Abilita', + action: 'Azione', + }, + }, + knowledgeList: { + welcome: 'Bentornato', + description: 'Quali basi di conoscenza userai oggi?', + createKnowledgeBase: 'Crea Dataset', + name: 'Nome', + namePlaceholder: 'Inserisci il nome.', + doc: 'Documenti', + searchKnowledgePlaceholder: 'Cerca', + noMoreData: `È tutto. Niente altro.`, + }, + knowledgeDetails: { + localUpload: 'Caricamento locale', + fileSize: 'Dimensione file', + fileType: 'Tipo file', + uploadedBy: 'Caricato da', + notGenerated: 'Non generato', + generatedOn: 'Generato il ', + subbarFiles: 'File', + generateKnowledgeGraph: + 'Questo estrarrà entità e relazioni da tutti i tuoi documenti in questo dataset. Il processo potrebbe richiedere del tempo.', + generateRaptor: + 'Esegue clustering ricorsivo e riassunto dei chunk di documenti per costruire una struttura ad albero gerarchica, consentendo un recupero più consapevole del contesto su documenti lunghi.', + generate: 'Genera', + raptor: 'RAPTOR', + processingType: 'Tipo di elaborazione', + dataPipeline: 'Pipeline di ingestione', + operations: 'Operazioni', + taskId: 'ID Attività', + duration: 'Durata', + details: 'Dettagli', + status: 'Stato', + task: 'Attività', + startDate: 'Data inizio', + source: 'Fonte', + fileName: 'Nome file', + datasetLogs: 'Dataset', + fileLogs: 'File', + overview: 'Log', + success: 'Successo', + failed: 'Fallito', + completed: 'Completato', + datasetLog: 'Log dataset', + created: 'Creato', + learnMore: 'Introduzione alla pipeline integrata', + general: 'Generale', + chunkMethodTab: 'Metodo chunk', + testResults: 'Risultati test', + testSetting: 'Impostazioni test', + retrievalTesting: 'Test di recupero', + retrievalTestingDescription: + 'Esegui un test di recupero per verificare se RAGFlow riesce a recuperare il contenuto previsto per il LLM.', + Parse: 'Analizza', + dataset: 'Dataset', + testing: 'Test di recupero', + files: 'file', + configuration: 'Configurazione', + knowledgeGraph: 'Grafo della conoscenza', + name: 'Nome', + namePlaceholder: 'Inserisci il nome!', + doc: 'Documenti', + datasetDescription: + "Attendi che i tuoi file finiscano l'analisi prima di iniziare una chat con IA.", + addFile: 'Aggiungi file', + searchFiles: 'Cerca i tuoi file', + localFiles: 'File locali', + emptyFiles: 'Crea file vuoto', + webCrawl: 'Web crawl', + chunkNumber: 'Numero chunk', + uploadDate: 'Data caricamento', + chunkMethod: 'Metodo di chunking', + enabled: 'Abilita', + disabled: 'Disabilita', + action: 'Azione', + parsingStatus: 'Stato analisi', + parsingStatusTip: + 'Il tempo di analisi del documento varia in base a diversi fattori. Abilitare funzionalità come Knowledge Graph, RAPTOR, Estrazione automatica domande o Estrazione automatica parole chiave aumenterà significativamente il tempo di elaborazione.', + processBeginAt: 'Inizia alle', + processDuration: 'Durata', + progressMsg: 'Progresso', + noTestResultsForRuned: + 'Nessun risultato rilevante trovato. Prova a modificare la query o i parametri.', + noTestResultsForNotRuned: + 'Nessun test eseguito. I risultati appariranno qui.', + testingDescription: + 'Esegui un test di recupero per verificare se RAGFlow riesce a recuperare il contenuto previsto per il LLM.', + similarityThreshold: 'Soglia di similarità', + similarityThresholdTip: + 'RAGFlow utilizza una combinazione di similarità delle parole chiave ponderata e similarità coseno vettoriale ponderata, o una combinazione di similarità delle parole chiave ponderata e punteggio di reranking ponderato durante il recupero.', + vectorSimilarityWeight: 'Peso similarità vettoriale', + vectorSimilarityWeightTip: + 'Imposta il peso della similarità delle parole chiave nel punteggio di similarità combinato. Il totale dei due pesi deve essere uguale a 1.0.', + keywordSimilarityWeight: 'Peso similarità parole chiave', + keywordSimilarityWeightTip: + 'Imposta il peso della similarità delle parole chiave nel punteggio di similarità combinato. Il totale dei due pesi deve essere uguale a 1.0.', + testText: 'Testo di test', + testTextPlaceholder: 'Inserisci la tua domanda qui!', + testingLabel: 'Esegui', + similarity: 'Similarità ibrida', + termSimilarity: 'Similarità termini', + vectorSimilarity: 'Similarità vettoriale', + hits: 'Risultati', + view: 'Visualizza', + filesSelected: 'File selezionati', + upload: 'Carica', + run: 'Analizza', + runningStatus0: 'IN ATTESA', + runningStatus1: 'IN ANALISI', + runningStatus2: 'ANNULLATO', + runningStatus3: 'SUCCESSO', + runningStatus4: 'FALLITO', + pageRanges: 'Intervallo pagine', + pageRangesTip: + 'Intervallo di pagine da analizzare; le pagine al di fuori di questo intervallo non saranno elaborate.', + fromPlaceholder: 'da', + fromMessage: 'Numero pagina iniziale mancante', + toPlaceholder: 'a', + toMessage: 'Numero pagina finale mancante (escluso)', + layoutRecognize: 'Parser PDF', + layoutRecognizeTip: + "Usa un modello visivo per l'analisi del layout PDF per individuare efficacemente titoli, blocchi di testo, immagini e tabelle.", + taskPageSize: 'Dimensione pagina attività', + taskPageSizeMessage: 'Inserisci la dimensione della pagina attività!', + taskPageSizeTip: `Durante il riconoscimento del layout, un file PDF viene suddiviso in blocchi ed elaborato in parallelo per aumentare la velocità di elaborazione.`, + addPage: 'Aggiungi pagina', + greaterThan: 'Il valore attuale deve essere maggiore di!', + greaterThanPrevious: + 'Il valore attuale deve essere maggiore del precedente!', + selectFiles: 'Seleziona file', + changeSpecificCategory: 'Cambia categoria specifica', + uploadTitle: 'Trascina e rilascia il tuo file qui per caricarlo', + uploadDescription: + 'Supporta caricamento singolo o multiplo. Limite dimensione file totale per caricamento: 1GB, con limite batch di 32 file.', + chunk: 'Chunk', + bulk: 'Multiplo', + cancel: 'Annulla', + close: 'Chiudi', + rerankModel: 'Modello rerank', + rerankPlaceholder: 'Seleziona', + rerankTip: `Opzionale. Se lasciato vuoto, RAGFlow userà una combinazione di similarità delle parole chiave ponderata e similarità coseno vettoriale ponderata.`, + topK: 'Top-K', + topKTip: `Usato insieme al modello Rerank, questa impostazione definisce il numero di chunk di testo da inviare al modello di reranking specificato.`, + delimiter: `Delimitatore per testo`, + delimiterTip: + 'Un delimitatore può consistere in uno o più caratteri speciali. Se sono più caratteri, assicurati che siano racchiusi tra backtick (``). ', + html4excel: 'Excel in HTML', + html4excelTip: `Usa con il metodo di chunking Generale. Quando disabilitato, i fogli di calcolo saranno analizzati in coppie chiave-valore. Quando abilitato, saranno analizzati in tabelle HTML.`, + autoKeywords: 'Parole chiave automatiche', + autoKeywordsTip: `Estrai automaticamente N parole chiave per ogni chunk per aumentare il loro ranking per le query contenenti quelle parole chiave.`, + autoQuestions: 'Domande automatiche', + autoQuestionsTip: `Estrai automaticamente N domande per ogni chunk per aumentare il loro ranking per le query contenenti quelle domande.`, + redo: 'Vuoi cancellare i {{chunkNum}} chunk esistenti?', + setMetaData: 'Imposta metadati', + pleaseInputJson: 'Inserisci JSON', + documentMetaTips: `
I metadati sono in formato JSON (non ricercabili). Saranno aggiunti al prompt per LLM se qualsiasi chunk di questo documento è incluso nel prompt.
`, + metaData: 'Metadati', + deleteDocumentConfirmContent: + "Il documento è associato al grafo della conoscenza. Dopo l'eliminazione, le informazioni sui nodi e le relazioni correlate saranno eliminate.", + plainText: 'Naive', + reRankModelWaring: 'Il modello re-rank richiede molto tempo.', + }, + knowledgeConfiguration: { + generationScopeTip: + "Determina se RAPTOR viene generato per l'intero dataset o per un singolo file.", + scopeDataset: 'Dataset', + generationScope: 'Ambito di generazione', + scopeSingleFile: 'File singolo', + autoParse: 'Analisi automatica', + rebuildTip: + 'Riscarica i file dalla fonte dati collegata e li analizza nuovamente.', + baseInfo: 'Informazioni base', + globalIndex: 'Indice globale', + dataSource: 'Fonte dati', + linkSourceSetTip: + 'Gestisci il collegamento della fonte dati con questo dataset', + linkDataSource: 'Collega fonte dati', + tocExtraction: 'Miglioramento TOC', + tocExtractionTip: + 'Per i chunk esistenti, genera un indice gerarchico (una directory per file).', + deleteGenerateModalContent: ` +Eliminando i risultati {{type}} generati + rimuoverai tutte le entità e relazioni derivate da questo dataset. + I tuoi file originali rimarranno intatti.
+
+ Vuoi continuare?
+ `,
+ extractRaptor: 'Estrai Raptor',
+ extractKnowledgeGraph: 'Estrai grafico della conoscenza',
+ filterPlaceholder: 'inserisci filtro',
+ fileFilterTip: '',
+ fileFilter: 'Filtro file',
+ setDefaultTip: '',
+ setDefault: 'Imposta come predefinito',
+ eidtLinkDataPipeline: 'Modifica pipeline di ingestione',
+ linkPipelineSetTip:
+ 'Gestisci il collegamento della pipeline di ingestione con questo dataset',
+ default: 'Predefinito',
+ dataPipeline: 'Pipeline di ingestione',
+ linkDataPipeline: 'Collega pipeline di ingestione',
+ enableAutoGenerate: 'Abilita generazione automatica',
+ teamPlaceholder: 'Seleziona un team.',
+ dataFlowPlaceholder: 'Seleziona una pipeline.',
+ buildItFromScratch: 'Costruiscilo da zero',
+ dataFlow: 'Pipeline',
+ parseType: 'Tipo di analisi',
+ manualSetup: 'Scegli pipeline',
+ builtIn: 'Integrato',
+ titleDescription:
+ 'Aggiorna la configurazione della tua base di conoscenza qui, in particolare il metodo di chunking.',
+ name: 'Nome base di conoscenza',
+ photo: 'Foto base di conoscenza',
+ photoTip: 'Puoi caricare un file di 4 MB',
+ description: 'Descrizione',
+ language: 'Lingua documento',
+ languageMessage: 'Inserisci la tua lingua!',
+ languagePlaceholder: 'Inserisci la tua lingua!',
+ permissions: 'Permessi',
+ embeddingModel: 'Modello di embedding',
+ chunkTokenNumber: 'Dimensione chunk raccomandata',
+ chunkTokenNumberMessage: 'Il numero di token per chunk è richiesto',
+ embeddingModelTip:
+ 'Il modello di embedding predefinito per la base di conoscenza. Non può essere cambiato una volta che la base di conoscenza ha chunk.',
+ permissionsTip:
+ "Se impostato su 'Team', tutti i membri del team potranno gestire la base di conoscenza.",
+ chunkTokenNumberTip:
+ 'Imposta la soglia di token per creare un chunk. Un segmento con meno token di questa soglia sarà combinato con i segmenti successivi.',
+ chunkMethod: 'Metodo di chunking',
+ chunkMethodTip: 'Visualizza i suggerimenti a destra.',
+ upload: 'Carica',
+ english: 'Inglese',
+ chinese: 'Cinese',
+ portugueseBr: 'Portoghese (Brasile)',
+ embeddingModelPlaceholder: 'Seleziona un modello di embedding.',
+ chunkMethodPlaceholder: 'Seleziona un metodo di chunking.',
+ save: 'Salva',
+ me: 'Solo io',
+ team: 'Team',
+ cancel: 'Annulla',
+ methodTitle: 'Descrizione metodo di chunking',
+ methodExamples: 'Esempi',
+ methodExamplesDescription:
+ 'I seguenti screenshot sono forniti per chiarezza.',
+ dialogueExamplesTitle: 'visualizza',
+ methodEmpty:
+ 'Questo mostrerà una spiegazione visiva delle categorie della base di conoscenza',
+ book: `
I formati file supportati sono DOCX, PDF, TXT.
+ Per ogni libro in PDF, imposta gli intervalli di pagine per rimuovere informazioni indesiderate e ridurre il tempo di analisi.
`, + laws: `I formati file supportati sono DOCX, PDF, TXT.
+ I documenti legali seguono tipicamente un formato di scrittura rigoroso. Usiamo le caratteristiche del testo per identificare i punti di divisione. +
`, + manual: `Solo PDF è supportato.
+ Assumiamo che il manuale abbia una struttura di sezione gerarchica, usando i titoli di sezione più bassi come unità base per il chunking dei documenti. +
`, + naive: `I formati file supportati sono MD, MDX, DOCX, XLSX, XLS (Excel 97-2003), PPTX, PDF, TXT, JPEG, JPG, PNG, TIF, GIF, CSV, JSON, EML, HTML.
+Questo metodo suddivide i file usando un metodo 'naive':
++
Solo file PDF è supportato.
+ I paper saranno divisi per sezione, come abstract, 1.1, 1.2.
`, + presentation: `I formati file supportati sono PDF, PPTX.
+ Ogni pagina nelle slide è trattata come un chunk, con la sua immagine in miniatura memorizzata.
`, + qa: ` ++ Questo metodo di chunking supporta i formati file XLSX e CSV/TXT. +
+I formati file supportati sono DOCX, PDF, TXT. +
+ I curriculum di varie forme vengono analizzati e organizzati in dati strutturati per facilitare la ricerca dei candidati per i reclutatori. +
+ `, + table: `I formati file supportati sono XLSX e CSV/TXT.
+ Ecco alcuni prerequisiti e suggerimenti: +
I file immagine sono supportati, con supporto video in arrivo.
+ Questo metodo impiega un modello OCR per estrarre testi dalle immagini. +
`, + one: ` +I formati file supportati sono DOCX, XLSX, XLS (Excel 97-2003), PDF, TXT. +
+ Questo metodo tratta ogni documento nella sua interezza come un chunk. +
`, + knowledgeGraph: `I formati file supportati sono DOCX, EXCEL, PPT, IMAGE, PDF, TXT, MD, JSON, EML + +
Questo approccio suddivide i file usando il metodo 'naive'/'Generale'. Divide un documento in segmenti e poi combina segmenti adiacenti finché il conteggio dei token supera la soglia specificata da 'Numero token chunk', a quel punto viene creato un chunk.
+I chunk vengono poi inviati al LLM per estrarre entità e relazioni per un grafo della conoscenza e una mappa mentale.
+Assicurati di impostare i Tipi di entità.
`, + tag: `Una base di conoscenza che usa il metodo di chunking 'Tag' funziona come un set di tag. Altre basi di conoscenza lo usano per taggare i loro chunk.
+Un set di tag NON sarà direttamente coinvolto in un processo di Retrieval-Augmented Generation (RAG).
`, + useRaptor: 'RAPTOR', + useRaptorTip: + 'RAPTOR può essere usato per attività di question-answering multi-hop. Naviga alla pagina File, clicca Genera > RAPTOR per abilitarlo.', + prompt: 'Prompt', + promptTip: + 'Usa il prompt di sistema per descrivere il compito per il LLM, specificare come dovrebbe rispondere e delineare altri requisiti.', + promptMessage: 'Il prompt è richiesto', + promptText: `Per favore riassumi i seguenti paragrafi. Fai attenzione ai numeri, non inventare cose. Paragrafi come segue: + {cluster_content} +Quanto sopra è il contenuto che devi riassumere.`, + maxToken: 'Token massimi', + maxTokenTip: + 'Il numero massimo di token per chunk di riepilogo generato.', + maxTokenMessage: 'Token massimi richiesti', + threshold: 'Soglia', + thresholdTip: + 'In RAPTOR, i chunk sono raggruppati per la loro similarità semantica. Il parametro Soglia imposta la similarità minima richiesta per raggruppare i chunk insieme.', + thresholdMessage: 'La soglia è richiesta', + maxCluster: 'Cluster massimo', + maxClusterTip: 'Il numero massimo di cluster da creare.', + maxClusterMessage: 'Cluster massimo richiesto', + randomSeed: 'Seme casuale', + randomSeedMessage: 'Seme casuale richiesto', + entityTypes: 'Tipi di entità', + vietnamese: 'Vietnamita', + pageRank: 'Page rank', + pageRankTip: `Puoi assegnare un punteggio PageRank più alto a specifiche basi di conoscenza durante il recupero.`, + tagName: 'Tag', + frequency: 'Frequenza', + searchTags: 'Cerca tag', + tagCloud: 'Cloud', + tagTable: 'Tabella', + tagSet: 'Set di tag', + tagSetTip: ` +Seleziona una o più basi di conoscenza tag per auto-taggare i chunk nella tua base di conoscenza.
+Anche la query dell'utente sarà auto-taggata.
+ `, + topnTags: 'Top-N tag', + tags: 'Tag', + addTag: 'Aggiungi tag', + useGraphRag: 'Grafo della conoscenza', + useGraphRagTip: + 'Costruisci un grafo della conoscenza sui chunk di file della base di conoscenza corrente per migliorare il question-answering multi-hop che coinvolge logica annidata.', + graphRagMethod: 'Metodo', + graphRagMethodTip: ` + Light: (Predefinito) Usa prompt forniti da github.com/HKUDS/LightRAG per estrarre entità e relazioni. Questa opzione consuma meno token, meno memoria e meno risorse computazionali. + General: Usa prompt forniti da github.com/microsoft/graphrag per estrarre entità e relazioni`, + resolution: 'Risoluzione entità', + resolutionTip: `Un interruttore di deduplicazione entità. Quando abilitato, il LLM combinerà entità simili per costruire un grafo più accurato`, + community: 'Report comunità', + communityTip: + 'In un grafo della conoscenza, una comunità è un cluster di entità collegate da relazioni. Puoi far generare al LLM un abstract per ogni comunità, noto come report comunità.', + theDocumentBeingParsedCannotBeDeleted: + 'Il documento in fase di analisi non può essere eliminato', + }, + chunk: { + chunk: 'Chunk', + bulk: 'Multiplo', + selectAll: 'Seleziona tutto', + enabledSelected: 'Abilita selezionati', + disabledSelected: 'Disabilita selezionati', + deleteSelected: 'Elimina selezionati', + search: 'Cerca', + all: 'Tutti', + enabled: 'Abilitato', + disabled: 'Disabilitato', + keyword: 'Parola chiave', + function: 'Funzione', + chunkMessage: 'Inserisci un valore!', + full: 'Testo completo', + ellipse: 'Ellisse', + graph: 'Grafo della conoscenza', + mind: 'Mappa mentale', + question: 'Domanda', + questionTip: `Se ci sono domande date, l'embedding del chunk sarà basato su di esse.`, + chunkResult: 'Risultato chunk', + chunkResultTip: `Visualizza i segmenti suddivisi usati per embedding e recupero.`, + enable: 'Abilita', + disable: 'Disabilita', + delete: 'Elimina', + }, + chat: { + messagePlaceholder: 'Scrivi il tuo messaggio qui...', + exit: 'Esci', + multipleModels: 'Modelli multipli', + applyModelConfigs: 'Applica configurazioni modello', + conversations: 'Conversazioni', + chatApps: 'App chat', + newConversation: 'Nuova conversazione', + createAssistant: 'Crea un assistente', + assistantSetting: 'Impostazioni assistente', + promptEngine: 'Motore prompt', + modelSetting: 'Impostazioni modello', + chat: 'Chat', + newChat: 'Nuova chat', + send: 'Invia', + sendPlaceholder: "Scrivi all'assistente...", + chatConfiguration: 'Configurazione chat', + chatConfigurationDescription: + 'Imposta un assistente chat per i tuoi dataset selezionati (basi di conoscenza) qui!', + assistantName: 'Nome assistente', + assistantNameMessage: "Il nome dell'assistente è richiesto", + namePlaceholder: 'es. Resume Jarvis', + assistantAvatar: 'Avatar assistente', + language: 'Lingua', + emptyResponse: 'Risposta vuota', + emptyResponseTip: `Imposta questa come risposta se non vengono recuperati risultati dalle basi di conoscenza per la tua query, oppure lascia questo campo vuoto per permettere al LLM di improvvisare quando non viene trovato nulla.`, + emptyResponseMessage: `La risposta vuota sarà attivata quando nulla di rilevante viene recuperato dalle basi di conoscenza. Devi svuotare il campo 'Risposta vuota' se non è selezionata nessuna base di conoscenza.`, + setAnOpener: 'Saluto di apertura', + setAnOpenerInitial: `Ciao! Sono il tuo assistente. Cosa posso fare per te?`, + setAnOpenerTip: 'Imposta un saluto di apertura per gli utenti.', + knowledgeBases: 'Dataset', + knowledgeBasesMessage: 'Seleziona', + knowledgeBasesTip: + 'Seleziona i dataset da associare a questo assistente chat. Una base di conoscenza vuota non apparirà nella lista a discesa.', + system: 'Prompt di sistema', + systemInitialValue: `Sei un assistente intelligente. Per favore riassumi il contenuto della base di conoscenza per rispondere alla domanda. Elenca i dati nella base di conoscenza e rispondi in dettaglio. Quando tutto il contenuto della base di conoscenza è irrilevante per la domanda, la tua risposta deve includere la frase "La risposta che stai cercando non è stata trovata nella base di conoscenza!" Le risposte devono considerare la cronologia della chat. + Ecco la base di conoscenza: + {knowledge} + Quanto sopra è la base di conoscenza.`, + systemMessage: 'Inserisci!', + systemTip: + 'I tuoi prompt o istruzioni per il LLM, inclusi ma non limitati al suo ruolo, la lunghezza desiderata, il tono e la lingua delle sue risposte.', + topN: 'Top N', + topNTip: `Non tutti i chunk con punteggio di similarità sopra la 'soglia di similarità' saranno inviati al LLM. Questo seleziona 'Top N' chunk da quelli recuperati.`, + variable: 'Variabile', + variableTip: `Usate insieme alle API di gestione dell'assistente chat di RAGFlow, le variabili possono aiutare a sviluppare strategie di prompt di sistema più flessibili.`, + add: 'Aggiungi', + key: 'Chiave', + optional: 'Opzionale', + operation: 'Operazione', + model: 'Modello', + modelTip: 'Modello chat di linguaggio grande', + modelMessage: 'Seleziona!', + modelEnabledTools: 'Strumenti abilitati', + modelEnabledToolsTip: + 'Seleziona uno o più strumenti da usare per il modello chat. Non ha effetto per modelli che non supportano le chiamate a strumenti.', + freedom: 'Creatività', + improvise: 'Improvvisa', + precise: 'Preciso', + balance: 'Bilanciato', + custom: 'Personalizzato', + freedomTip: `Una scorciatoia per le impostazioni 'Temperatura', 'Top P', 'Penalità di presenza' e 'Penalità di frequenza', che indica il livello di libertà del modello.`, + temperature: 'Temperatura', + temperatureMessage: 'La temperatura è richiesta', + temperatureTip: `Questo parametro controlla la casualità delle previsioni del modello. Una temperatura più bassa produce risposte più conservative, mentre una temperatura più alta produce risposte più creative e diverse.`, + topP: 'Top P', + topPMessage: 'Top P è richiesto', + topPTip: + 'Conosciuto anche come "campionamento del nucleo", questo parametro imposta una soglia per selezionare un set più piccolo delle parole più probabili da cui campionare.', + presencePenalty: 'Penalità di presenza', + presencePenaltyMessage: 'La penalità di presenza è richiesta', + presencePenaltyTip: + 'Questo scoraggia il modello dal ripetere le stesse informazioni penalizzando le parole che sono già apparse nella conversazione.', + frequencyPenalty: 'Penalità di frequenza', + frequencyPenaltyMessage: 'La penalità di frequenza è richiesta', + frequencyPenaltyTip: + 'Simile alla penalità di presenza, questo riduce la tendenza del modello a ripetere le stesse parole frequentemente.', + maxTokens: 'Token massimi', + maxTokensMessage: 'Token massimi richiesti', + maxTokensTip: `Questo imposta la lunghezza massima dell'output del modello, misurata in numero di token (parole o pezzi di parole). Il valore predefinito è 512.`, + maxTokensInvalidMessage: 'Inserisci un numero valido per Token massimi.', + maxTokensMinMessage: 'Token massimi non può essere inferiore a 0.', + quote: 'Mostra citazione', + quoteTip: 'Se visualizzare il testo originale come riferimento.', + selfRag: 'Self-RAG', + selfRagTip: 'Fai riferimento a: https://huggingface.co/papers/2310.11511', + overview: 'ID Chat', + pv: 'Numero di messaggi', + uv: 'Numero utenti attivi', + speed: 'Velocità output token', + tokens: 'Consuma il numero di token', + round: 'Numero interazione sessione', + thumbUp: 'Soddisfazione cliente', + preview: 'Anteprima', + embedded: 'Incorporato', + serviceApiEndpoint: 'Endpoint API servizio', + apiKey: 'CHIAVE API', + apiReference: 'Documenti API', + dateRange: 'Intervallo date:', + backendServiceApi: 'Server API', + createNewKey: 'Crea nuova chiave', + created: 'Creato', + action: 'Azione', + embedModalTitle: 'Incorpora nella pagina web', + comingSoon: 'Prossimamente', + fullScreenTitle: 'Incorporamento completo', + fullScreenDescription: + 'Incorpora il seguente iframe nel tuo sito web nella posizione desiderata', + partialTitle: 'Incorporamento parziale', + extensionTitle: 'Estensione Chrome', + tokenError: 'Per favore crea prima la chiave API.', + betaError: + 'Per favore acquisisci prima una chiave API RAGFlow dalla pagina Impostazioni di sistema.', + searching: 'Ricerca in corso...', + parsing: 'Analisi', + uploading: 'Caricamento', + uploadFailed: 'Caricamento fallito', + regenerate: 'Rigenera', + read: 'Leggi contenuto', + tts: 'Testo in voce', + ttsTip: + 'Assicurati di selezionare un modello TTS nella pagina Impostazioni prima di abilitare questo toggle per riprodurre il testo come audio.', + relatedQuestion: 'Domanda correlata', + answerTitle: 'R', + multiTurn: 'Ottimizzazione multi-turno', + multiTurnTip: + 'Questo ottimizza le query utente usando il contesto in una conversazione multi-round. Quando abilitato, consumerà token LLM aggiuntivi.', + howUseId: "Come usare l'ID chat?", + description: "Descrizione dell'assistente", + descriptionPlaceholder: 'es. Un assistente chat per curriculum.', + useKnowledgeGraph: 'Usa grafo della conoscenza', + useKnowledgeGraphTip: + 'Se usare il/i grafo/i della conoscenza nella/e base/i di conoscenza specificata/e durante il recupero per il question answering multi-hop.', + keyword: 'Analisi parole chiave', + keywordTip: `Usa LLM per analizzare le domande dell'utente, estrarre parole chiave che saranno enfatizzate durante il calcolo della rilevanza.`, + languageTip: + "Permette la riscrittura delle frasi con la lingua specificata o usa per default l'ultima domanda se non selezionata.", + avatarHidden: 'Nascondi avatar', + locale: 'Locale', + selectLanguage: 'Seleziona una lingua', + reasoning: 'Ragionamento', + reasoningTip: `Se abilitare un flusso di lavoro di ragionamento durante la risposta alle domande, come visto in modelli come Deepseek-R1 o OpenAI o1.`, + tavilyApiKeyTip: + 'Se una chiave API è impostata correttamente qui, le ricerche web basate su Tavily saranno usate per integrare il recupero dalla base di conoscenza.', + tavilyApiKeyMessage: 'Inserisci la tua chiave API Tavily', + tavilyApiKeyHelp: 'Come ottenerla?', + crossLanguage: 'Ricerca cross-lingua', + crossLanguageTip: `Seleziona una o più lingue per la ricerca cross-lingua. Se non viene selezionata nessuna lingua, il sistema cerca con la query originale.`, + createChat: 'Crea chat', + metadata: 'Metadati', + metadataTip: + 'Il filtraggio dei metadati è il processo di utilizzo degli attributi dei metadati per affinare e controllare il recupero delle informazioni rilevanti.', + conditions: 'Condizioni', + addCondition: 'Aggiungi condizione', + meta: { + disabled: 'Disabilitato', + auto: 'Automatico', + manual: 'Manuale', + }, + cancel: 'Annulla', + chatSetting: 'Impostazioni chat', + tocEnhance: 'Miglioramento TOC', + tocEnhanceTip: `Durante l'analisi del documento, sono state generate informazioni sull'indice. Questo permette al modello grande di restituire elementi dell'indice rilevanti per la query dell'utente.`, + }, + setting: { + deleteModel: 'Elimina modello', + modelEmptyTip: + 'Nessun modello disponibile.