feat: knowledge pipeline (#25360)

Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: twwu <twwu@dify.ai>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: jyong <718720800@qq.com>
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com>
Co-authored-by: quicksand <quicksandzn@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Hanqing Zhao <sherry9277@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Harry <xh001x@hotmail.com>
This commit is contained in:
-LAN-
2025-09-18 12:49:10 +08:00
committed by GitHub
parent 7dadb33003
commit 85cda47c70
1772 changed files with 102407 additions and 31710 deletions

View File

@ -364,6 +364,19 @@ const translation = {
'optional': 'opzionale',
'jsonSchema': 'Schema JSON',
'json': 'Codice JSON',
'unit': 'Unità',
'showAllSettings': 'Mostra tutte le impostazioni',
'uploadMethod': 'Metodo di caricamento',
'noDefaultSelected': 'Non selezionare',
'startChecked': 'Avvia controllato',
'unitPlaceholder': 'Unità di visualizzazione dopo i numeri, ad esempio i gettoni',
'defaultValuePlaceholder': 'Immettere il valore predefinito per precompilare il campo',
'displayName': 'Nome visualizzato',
'tooltipsPlaceholder': 'Inserisci il testo utile visualizzato quando passi il mouse sopra l\'etichetta',
'placeholderPlaceholder': 'Immettere il testo da visualizzare quando il campo è vuoto',
'placeholder': 'Segnaposto',
'startSelectedOption': 'Avvia opzione selezionata',
'tooltips': 'Suggerimenti',
},
vision: {
name: 'Visione',

View File

@ -80,6 +80,7 @@ const translation = {
advancedShortDescription: 'Flusso di lavoro migliorato per conversazioni multiple',
chooseAppType: 'Scegli un tipo di app',
dropDSLToCreateApp: 'Trascina il file DSL qui per creare l\'app',
import: 'Importazione',
},
editApp: 'Modifica Info',
editAppTitle: 'Modifica Info App',

View File

@ -101,6 +101,7 @@ const translation = {
getStarted: 'Inizia',
annualBilling: 'Fatturazione annuale',
documentsRequestQuotaTooltip: 'Specifica il numero totale di azioni che un\'area di lavoro può eseguire al minuto all\'interno della base di conoscenza, compresi la creazione, l\'eliminazione, gli aggiornamenti dei dataset, il caricamento di documenti, le modifiche, l\'archiviazione e le query sulla base di conoscenza. Questa metrica viene utilizzata per valutare le prestazioni delle richieste alla base di conoscenza. Ad esempio, se un utente di Sandbox esegue 10 test consecutivi in un minuto, la sua area di lavoro sarà temporaneamente limitata dall\'eseguire le seguenti azioni per il minuto successivo: creazione, eliminazione, aggiornamenti dei dataset e caricamento o modifica di documenti.',
startBuilding: 'Inizia a costruire',
},
plans: {
sandbox: {
@ -126,6 +127,15 @@ const translation = {
'Ottieni tutte le capacità e il supporto per sistemi mission-critical su larga scala.',
includesTitle: 'Tutto nel piano Team, più:',
features: {
4: 'SSO',
8: 'Supporto tecnico professionale',
6: 'Sicurezza e controlli avanzati',
1: 'Autorizzazione Licenza Commerciale',
2: 'Funzionalità esclusive per le aziende',
3: 'Spazi di lavoro multipli e gestione aziendale',
0: 'Soluzioni di distribuzione scalabili di livello aziendale',
5: 'SLA negoziati dai partner Dify',
7: 'Aggiornamenti e manutenzione da parte di Dify ufficialmente',
},
price: 'Personalizzato',
for: 'Per team di grandi dimensioni',
@ -134,6 +144,9 @@ const translation = {
},
community: {
features: {
0: 'Tutte le funzionalità principali rilasciate nel repository pubblico',
2: 'Conforme alla licenza Open Source Dify',
1: 'Area di lavoro singola',
},
name: 'Comunità',
btnText: 'Inizia con la comunità',
@ -144,6 +157,10 @@ const translation = {
},
premium: {
features: {
3: 'Supporto prioritario via e-mail e chat',
1: 'Area di lavoro singola',
0: 'Affidabilità autogestita da vari fornitori di servizi cloud',
2: 'Personalizzazione del logo e del marchio WebApp',
},
name: 'Premium',
priceTip: 'Basato su Cloud Marketplace',

View File

@ -516,6 +516,15 @@ const translation = {
unAuthorized: 'Non autorizzato',
specifyModelCredentialTip: 'Usa una credenziale di modello configurato.',
configModel: 'Configura modello',
addNewModelCredential: 'Aggiungere nuove credenziali del modello',
selectModelCredential: 'Seleziona una credenziale del modello',
customModelCredentials: 'Credenziali del modello personalizzato',
manageCredentials: 'Gestisci credenziali',
customModelCredentialsDeleteTip: 'La credenziale è in uso e non può essere eliminata',
addModel: 'Aggiungi modello',
modelCredential: 'Credenziale del modello',
removeModel: 'Rimuovi modello',
editModelCredential: 'Modificare le credenziali del modello',
},
},
dataSource: {
@ -618,6 +627,7 @@ const translation = {
viewDoc: 'Visualizza documentazione',
relatedApp: 'app collegate',
noRelatedApp: 'Nessuna app collegata',
pipeline: 'Oleodotto',
},
voiceInput: {
speaking: 'Parla ora...',
@ -778,6 +788,9 @@ const translation = {
subtitle: 'Per favore, dicci cosa è andato storto con questa risposta.',
placeholder: 'Per favore descrivi cosa è andato storto o come possiamo migliorare...',
},
label: {
optional: '(Facoltativo)',
},
}
export default translation

View File

@ -98,6 +98,7 @@ const translation = {
configureJinaReader: 'Configura Jina Reader',
configureWatercrawl: 'Configura Watercrawl',
waterCrawlNotConfigured: 'Watercrawl non è configurato',
running: 'Corsa',
},
cancel: 'Annulla',
},
@ -196,6 +197,7 @@ const translation = {
previewChunk: 'Blocco di anteprima',
notAvailableForParentChild: 'Non disponibile per l\'indice padre-figlio',
qaSwitchHighQualityTipTitle: 'Il formato Domande e risposte richiede un metodo di indicizzazione di alta qualità',
qaTip: 'Quando si usano dati strutturati di Domande e risposte, è possibile creare documenti che abbinano domande e risposte. Questi documenti vengono indicizzati in base alla parte della domanda, consentendo al sistema di recuperare le risposte pertinenti in base alla somiglianza della query.',
},
stepThree: {
creationTitle: '🎉 Conoscenza creata',

View File

@ -100,6 +100,9 @@ const translation = {
upload_file: 'Carica File',
notion: 'Sincronizza da Notion',
github: 'Sincronizza da Github',
online_document: 'Documento online',
local_file: 'File locale',
website_crawl: 'Scansione del sito web',
},
type: {
book: 'Libro',
@ -338,6 +341,7 @@ const translation = {
pause: 'Pausa',
hierarchical: 'Genitore-figlio',
parentMaxTokens: 'Genitore',
waiting: 'Attesa dell\'incorporamento...',
},
segment: {
paragraphs: 'Paragrafi',

View File

@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: 'Pipeline di conoscenza vuota',
description: 'Crea una pipeline personalizzata da zero con il pieno controllo sull\'elaborazione e sulla struttura dei dati.',
},
successTip: 'Creazione di una Knowledge Base',
importDSL: 'Importazione da un file DSL',
errorTip: 'Impossibile creare una Knowledge Base',
caution: 'Cautela',
backToKnowledge: 'Torna alla Conoscenza',
createKnowledge: 'Creare conoscenza',
},
templates: {
customized: 'Personalizzato',
},
operations: {
details: 'Dettagli',
choose: 'Scegliere',
convert: 'Convertire',
editInfo: 'Modifica informazioni',
dataSource: 'Origine dati',
backToDataSource: 'Torna all\'origine dati',
preview: 'Anteprima',
saveAndProcess: 'Salva ed elabora',
process: 'Processo',
useTemplate: 'Usa questa pipeline di conoscenza',
exportPipeline: 'Pipeline di esportazione',
},
deletePipeline: {
content: 'L\'eliminazione del modello di pipeline è irreversibile.',
title: 'Sei sicuro di eliminare questo modello di pipeline?',
},
publishPipeline: {
success: {
message: 'Pipeline di conoscenza pubblicata',
},
error: {
message: 'Impossibile pubblicare la pipeline delle conoscenze',
},
},
publishTemplate: {
success: {
learnMore: 'Ulteriori informazioni',
message: 'Modello di pipeline pubblicato',
tip: 'Puoi utilizzare questo modello nella pagina di creazione.',
},
error: {
message: 'Impossibile pubblicare il modello di pipeline',
},
},
exportDSL: {
errorTip: 'Impossibile esportare il DSL della pipeline',
successTip: 'Esporta DSL pipeline con successo',
},
details: {
structure: 'Struttura',
structureTooltip: 'La struttura a blocchi determina il modo in cui i documenti vengono suddivisi e indicizzati, offrendo le modalità Generale, Padre-Figlio e Domande e risposte, ed è univoca per ogni knowledge base.',
},
testRun: {
steps: {
documentProcessing: 'Elaborazione dei documenti',
dataSource: 'Origine dati',
},
dataSource: {
localFiles: 'File locali',
},
notion: {
docTitle: 'Documenti di Notion',
title: 'Scegli le pagine Notion',
},
title: 'Esecuzione dei test',
tooltip: 'In modalità di esecuzione dei test, è possibile importare un solo documento alla volta per semplificare il debug e l\'osservazione.',
},
inputFieldPanel: {
uniqueInputs: {
title: 'Input univoci per ogni ingresso',
tooltip: 'Gli input univoci sono accessibili solo all\'origine dati selezionata e ai relativi nodi a valle. Gli utenti non dovranno compilarlo quando scelgono altre fonti di dati. Nel primo passaggio (Origine dati) verranno visualizzati solo i campi di input a cui fanno riferimento le variabili dell\'origine dati. Tutti gli altri campi verranno visualizzati nel secondo passaggio (Elabora documenti).',
},
globalInputs: {
title: 'Input globali per tutti gli ingressi',
tooltip: 'Gli input globali sono condivisi tra tutti i nodi. Gli utenti dovranno compilarli quando selezionano qualsiasi origine dati. Ad esempio, campi come il delimitatore e la lunghezza massima del blocco possono essere applicati in modo uniforme a più origini dati. Nel primo passaggio (Origine dati) vengono visualizzati solo i campi di input a cui fanno riferimento le variabili Origine dati. Tutti gli altri campi vengono visualizzati nel secondo passaggio (Elabora documenti).',
},
preview: {
stepOneTitle: 'Origine dati',
stepTwoTitle: 'Elabora documenti',
},
error: {
variableDuplicate: 'Il nome della variabile esiste già. Scegli un nome diverso.',
},
editInputField: 'Modifica campo di input',
title: 'Campi di input dell\'utente',
addInputField: 'Aggiungi campo di input',
description: 'I campi di input dell\'utente vengono utilizzati per definire e raccogliere le variabili necessarie durante il processo di esecuzione della pipeline. Gli utenti possono personalizzare il tipo di campo e configurare in modo flessibile il valore di input per soddisfare le esigenze di diverse fonti di dati o fasi di elaborazione dei documenti.',
},
addDocuments: {
steps: {
processDocuments: 'Elabora documenti',
chooseDatasource: 'Scegliere un\'origine dati',
processingDocuments: 'Elaborazione dei documenti',
},
stepOne: {
preview: 'Anteprima',
},
stepTwo: {
chunkSettings: 'Impostazioni blocco',
previewChunks: 'Anteprima dei blocchi',
},
stepThree: {
learnMore: 'Ulteriori informazioni',
},
characters: 'personaggi',
title: 'Aggiungi documenti',
backToDataSource: 'Origine dati',
},
documentSettings: {
title: 'Impostazioni documento',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
allFiles: 'Tutti i file',
searchPlaceholder: 'Cerca file...',
allBuckets: 'Tutti i bucket di archiviazione cloud',
},
emptyFolder: 'Questa cartella è vuota',
resetKeywords: 'Reimposta le parole chiave',
emptySearchResult: 'Nessun oggetto trovato',
notSupportedFileType: 'Questo tipo di file non è supportato',
},
credentialSelector: {},
conversion: {
confirm: {
content: 'Questa azione è permanente. Non sarà possibile ripristinare il metodo precedente. Si prega di confermare per convertire.',
title: 'Conferma',
},
successMessage: 'Conversione del set di dati in pipeline',
warning: 'Questa azione non può essere annullata.',
title: 'Conversione in pipeline di conoscenza',
descriptionChunk1: 'Ora puoi convertire la tua knowledge base esistente per utilizzare la Knowledge Pipeline per l\'elaborazione dei documenti',
errorMessage: 'Impossibile convertire il set di dati in una pipeline',
descriptionChunk2: '— un approccio più aperto e flessibile con l\'accesso ai plugin dal nostro marketplace. In questo modo il nuovo metodo di elaborazione verrà applicato a tutti i documenti futuri.',
},
knowledgePermissions: 'Autorizzazioni',
knowledgeDescription: 'Descrizione della conoscenza',
inputField: 'Campo di input',
editPipelineInfo: 'Modificare le informazioni sulla pipeline',
knowledgeNameAndIcon: 'Nome e icona della Knowledge Base',
pipelineNameAndIcon: 'Nome e icona della pipeline',
knowledgeNameAndIconPlaceholder: 'Inserisci il nome della Knowledge Base',
knowledgeDescriptionPlaceholder: 'Descrivi cosa c\'è in questa Knowledge Base. Una descrizione dettagliata consente all\'intelligenza artificiale di accedere al contenuto del set di dati in modo più accurato. Se vuoto, Dify utilizzerà la strategia di hit predefinita. (Facoltativo)',
}
export default translation

View File

@ -42,6 +42,14 @@ const translation = {
upgradeHighQualityTip: 'Una volta effettuato l\'aggiornamento alla modalità Alta qualità, il ripristino della modalità Risparmio non è disponibile',
indexMethodChangeToEconomyDisabledTip: 'Non disponibile per il downgrade da HQ a ECO',
searchModel: 'Cerca modello',
chunkStructure: {
learnMore: 'Ulteriori informazioni',
title: 'Struttura a blocchi',
description: 'sulla struttura a blocchi.',
},
numberOfKeywords: 'Numero di parole chiave',
nameAndIcon: 'Nome e icona',
onSearchResults: 'Nessun membro corrisponde alla query di ricerca.\nRiprova la ricerca.',
},
}

View File

@ -49,6 +49,10 @@ const translation = {
},
change: 'Cambia',
changeRetrievalMethod: 'Cambia metodo di recupero',
keyword_search: {
title: 'Indice invertito',
description: 'L\'indice invertito è una struttura utilizzata per un recupero efficiente. Organizzato per termini, ogni termine rimanda a documenti o pagine web che lo contengono.',
},
},
docsFailedNotice: 'documenti non riusciti a essere indicizzati',
retry: 'Riprova',
@ -156,6 +160,8 @@ const translation = {
chunkingMode: {
general: 'Generale',
parentChild: 'Genitore-figlio',
graph: 'Grafico',
qa: 'Domande e risposte',
},
parentMode: {
paragraph: 'Paragrafo',
@ -224,6 +230,9 @@ const translation = {
chooseTime: 'Scegli un orario...',
},
embeddingModelNotAvailable: 'Il modello di embedding non è disponibile.',
updated: 'Aggiornato',
externalKnowledgeBase: 'Base di conoscenza esterna',
createFromPipeline: 'Creazione da pipeline di conoscenza',
}
export default translation

View File

@ -1,4 +1,8 @@
const translation = {
sidebar: {
expandSidebar: 'Espandi barra laterale',
collapseSidebar: 'Comprimi la barra laterale',
},
}
export default translation

View File

@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
description: 'Descrizione della conoscenza',
name: 'Nome e icona della pipeline',
namePlaceholder: 'Inserisci il nome di questa pipeline di conoscenza. (Obbligatorio)',
descriptionPlaceholder: 'Inserisci la descrizione di questa pipeline di conoscenza. (Facoltativo)',
},
processing: 'Elaborazione',
reRun: 'Ripetizione',
testRun: 'Esecuzione dei test',
goToAddDocuments: 'Vai ad aggiungere documenti',
preparingDataSource: 'Preparazione dell\'origine dati',
publishAs: 'Pubblicazione come pipeline di conoscenza',
confirmPublish: 'Conferma pubblicazione',
confirmPublishContent: 'Dopo aver pubblicato correttamente la pipeline di conoscenza, la struttura a blocchi di questa knowledge base non può essere modificata. Sei sicuro di volerlo pubblicare?',
},
inputField: {
manage: 'Amministrare',
create: 'Crea campo di input utente',
},
publishToast: {
title: 'Questa pipeline non è stata ancora pubblicata',
desc: 'Quando la pipeline non viene pubblicata, è possibile modificare la struttura del blocco nel nodo della Knowledge Base e l\'orchestrazione e le modifiche della pipeline verranno salvate automaticamente come bozza.',
},
result: {
resultPreview: {
loading: 'Elaborazione... Attendere prego',
error: 'Si è verificato un errore durante l\'esecuzione',
viewDetails: 'Mostra dettagli',
},
},
ragToolSuggestions: {
title: 'Suggerimenti per RAG',
},
}
export default translation

View File

@ -17,6 +17,7 @@ const translation = {
productivity: 'Produttività',
finance: 'Finanza',
social: 'Sociale',
rag: 'STRACCIO',
},
searchTags: 'Cerca Tag',
allTags: 'Tutti i tag',

View File

@ -6,6 +6,7 @@ const translation = {
bundles: 'Pacchetti',
models: 'Modelli',
all: 'Tutto',
datasources: 'Fonti dei dati',
},
categorySingle: {
bundle: 'Fascio',
@ -13,6 +14,7 @@ const translation = {
agent: 'Strategia dell\'agente',
extension: 'Estensione',
tool: 'Strumento',
datasource: 'Origine dati',
},
list: {
source: {
@ -250,6 +252,8 @@ const translation = {
customCredentialUnavailable: 'Le credenziali personalizzate attualmente non sono disponibili',
credentialUnavailable: 'Credenziali attualmente non disponibili. Si prega di contattare l\'amministratore.',
credentialUnavailableInButton: 'Credenziali non disponibili',
emptyAuth: 'Configurare l\'autenticazione',
connectedWorkspace: 'Area di lavoro connessa',
},
deprecated: 'Deprecato',
autoUpdate: {

View File

@ -254,6 +254,7 @@ const translation = {
publishTip: 'App non pubblicata. Pubblica l\'app prima.',
},
},
allTools: 'Tutti gli strumenti',
}
export default translation

View File

@ -90,7 +90,6 @@ const translation = {
depthLimit: 'Limite di livelli di annidamento parallelo di {{num}} livelli',
limit: 'Il parallelismo è limitato ai rami {{num}}.',
},
parallelRun: 'Corsa parallela',
disconnect: 'Disconnettere',
jumpToNode: 'Vai a questo nodo',
addParallelNode: 'Aggiungi nodo parallelo',
@ -223,6 +222,8 @@ const translation = {
back: 'Indietro',
iteration: 'Iterazione',
loop: 'Anello',
reRun: 'Ripetizione',
preparingDataSource: 'Preparazione dell\'origine dati',
},
tabs: {
'tools': 'Strumenti',
@ -241,6 +242,8 @@ const translation = {
'blocks': 'Nodi',
'allAdded': 'Tutto aggiunto',
'addAll': 'Aggiungi tutto',
'sources': 'Fonti',
'searchDataSource': 'Cerca origine dati',
},
blocks: {
'start': 'Inizio',
@ -265,6 +268,8 @@ const translation = {
'loop-end': 'Uscire dal ciclo',
'loop-start': 'Inizio ciclo',
'loop': 'Anello',
'knowledge-index': 'Knowledge base',
'datasource': 'Origine dati',
},
blocksAbout: {
'start': 'Definisci i parametri iniziali per l\'avvio di un flusso di lavoro',
@ -296,6 +301,8 @@ const translation = {
'agent': 'Richiamo di modelli linguistici di grandi dimensioni per rispondere a domande o elaborare il linguaggio naturale',
'loop-end': 'Equivalente a "break". Questo nodo non ha elementi di configurazione. Quando il corpo del ciclo raggiunge questo nodo, il ciclo termina.',
'loop': 'Esegui un ciclo di logica fino a quando la condizione di terminazione non viene soddisfatta o il numero massimo di cicli viene raggiunto.',
'datasource': 'Origine dati Informazioni',
'knowledge-index': 'Base di conoscenza su',
},
operator: {
zoomIn: 'Zoom In',
@ -397,6 +404,7 @@ const translation = {
input: 'Valore di input',
variable: 'Usa la variabile',
},
inputVars: 'Variabili di input',
},
start: {
required: 'richiesto',
@ -942,6 +950,27 @@ const translation = {
exitConditionTip: 'Un nodo di ciclo ha bisogno di almeno una condizione di uscita.',
error_other: '{{count}} Errori',
},
dataSource: {
supportedFileFormatsPlaceholder: 'Estensione del file, e.g. doc',
add: 'Aggiungere un\'origine dati',
supportedFileFormats: 'Formati di file supportati',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: 'Ulteriori informazioni',
title: 'Si prega di scegliere una struttura a blocchi',
message: 'La Knowledge Base di Dify supporta tre strutture di suddivisione in blocchi: Generale, Padre-figlio e Domande e risposte. Ogni Knowledge Base può avere una sola struttura. L\'output del nodo precedente deve essere allineato con la struttura del blocco selezionata. Si noti che la scelta della struttura di suddivisione in blocchi influisce sui metodi di indice disponibili.',
},
indexMethodIsRequired: 'È necessario il metodo dell\'indice',
chunkStructure: 'Struttura a blocchi',
changeChunkStructure: 'Modifica la struttura dei blocchi',
chooseChunkStructure: 'Scegliere una struttura a blocchi',
aboutRetrieval: 'Informazioni sul metodo di recupero.',
chunkIsRequired: 'È necessaria una struttura a blocchi',
retrievalSettingIsRequired: 'È richiesta l\'impostazione di recupero',
chunksInputTip: 'La variabile di input del nodo della base di conoscenza è Chunks. Il tipo di variabile è un oggetto con uno specifico schema JSON che deve essere coerente con la struttura del chunk selezionato.',
chunksInput: 'Pezzetti',
},
},
tracing: {
stopBy: 'Interrotto da {{user}}',
@ -1012,6 +1041,10 @@ const translation = {
clearAll: 'Ripristina tutto',
reset: 'Ripristina il valore dell\'ultima esecuzione',
emptyTip: 'Dopo aver eseguito un nodo sulla tela o eseguendo un nodo passo dopo passo, puoi visualizzare il valore attuale della variabile nodo in Ispeziona Variabile.',
export: 'esportazione',
largeData: 'Dati di grandi dimensioni, anteprima di sola lettura. Esporta per visualizzare tutto.',
exportToolTip: 'Esporta variabile come file',
largeDataNoExport: 'Dati di grandi dimensioni - solo anteprima parziale',
},
settingsTab: 'Impostazioni',
lastRunTab: 'Ultima corsa',