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

@@ -334,6 +334,19 @@ const translation = {
'jsonSchema': 'JSON 스키마',
'checkbox': '체크박스',
'optional': '선택 사항',
'unit': '단위',
'uploadMethod': '업로드 방법',
'startChecked': '시작 체크',
'tooltips': '툴팁',
'placeholder': '자리 표시자',
'noDefaultSelected': '선택하지 않음',
'displayName': '표시 이름',
'showAllSettings': '모든 설정 표시',
'startSelectedOption': '선택한 옵션 시작',
'unitPlaceholder': '숫자 뒤에 단위 표시(예: 토큰)',
'placeholderPlaceholder': '필드가 비어 있을 때 표시할 텍스트를 입력합니다.',
'defaultValuePlaceholder': '필드를 미리 채울 기본값을 입력합니다.',
'tooltipsPlaceholder': '레이블 위로 마우스를 가져갈 때 표시되는 유용한 텍스트를 입력합니다.',
},
vision: {
name: '비전',

View File

@@ -86,6 +86,7 @@ const translation = {
'작업 목표를 달성하기 위해 반복적인 추론과 자율적인 도구를 사용할 수 있는 지능형 에이전트입니다.',
advancedUserDescription: '메모리 기능과 챗봇 인터페이스를 갖춘 워크플로우',
dropDSLToCreateApp: '여기에 DSL 파일을 드롭하여 앱을 불러오세요.',
import: '수입',
},
editApp: '정보 편집하기',
editAppTitle: '앱 정보 편집하기',

View File

@@ -102,6 +102,7 @@ const translation = {
'지식 데이터 소스에서 가져올 수 있는 문서 수에 대한 쿼터.',
documentsRequestQuotaTooltip:
'지식 기반 내에서 작업 공간이 분당 수행할 수 있는 총 작업 수를 지정합니다. 여기에는 데이터 세트 생성, 삭제, 업데이트, 문서 업로드, 수정, 보관 및 지식 기반 쿼리가 포함됩니다. 이 지표는 지식 기반 요청의 성능을 평가하는 데 사용됩니다. 예를 들어, 샌드박스 사용자가 1 분 이내에 10 회의 연속 히트 테스트를 수행하면, 해당 작업 공간은 다음 1 분 동안 데이터 세트 생성, 삭제, 업데이트 및 문서 업로드 또는 수정과 같은 작업을 수행하는 것이 일시적으로 제한됩니다.',
startBuilding: '구축 시작',
},
plans: {
sandbox: {

View File

@@ -486,6 +486,15 @@ const translation = {
addModelCredential: '모델 자격 증명 추가',
specifyModelCredential: '모델 자격 증명을 명시하세요.',
providerManagedTip: '현재 구성은 제공업체에 의해 호스팅되고 있습니다.',
addModel: '모델 추가',
removeModel: '모델 제거',
manageCredentials: '자격 증명 관리',
selectModelCredential: '모델 자격 증명 선택',
modelCredential: '모델 자격 증명',
addNewModelCredential: '새 모델 자격 증명 추가',
editModelCredential: '모델 자격 증명 편집',
customModelCredentials: '사용자 지정 모델 자격 증명',
customModelCredentialsDeleteTip: '자격 증명이 사용 중이며 삭제할 수 없습니다.',
},
},
dataSource: {
@@ -585,6 +594,7 @@ const translation = {
viewDoc: '문서 보기',
relatedApp: '관련 앱',
noRelatedApp: '연결된 앱 없음',
pipeline: '파이프라인',
},
voiceInput: {
speaking: '지금 말하고 있습니다...',
@@ -744,6 +754,9 @@ const translation = {
subtitle: '이 응답에서 무엇이 잘못되었는지 말씀해 주세요.',
placeholder: '문제가 무엇인지 또는 어떻게 개선할 수 있는지 설명해 주십시오...',
},
label: {
optional: '(선택 사항)',
},
}
export default translation

View File

@@ -87,6 +87,7 @@ const translation = {
configureJinaReader: '지나 리더 설정하기',
waterCrawlNotConfigured: 'Watercrawl 이 설정되어 있지 않습니다.',
configureWatercrawl: '워터크롤 구성하기',
running: '달리기',
},
cancel: '취소',
},
@@ -172,6 +173,7 @@ const translation = {
parentChildChunkDelimiterTip: '구분 기호는 텍스트를 구분하는 데 사용되는 문자입니다. \\n 은 부모 청크를 작은 자식 청크로 분할하는 데 권장됩니다. 직접 정의한 특수 구분 기호를 사용할 수도 있습니다.',
switch: '스위치',
paragraphTip: '이 모드는 구분 기호와 최대 청크 길이에 따라 텍스트를 단락으로 분할하며, 분할된 텍스트를 검색을 위한 부모 청크로 사용합니다.',
qaTip: '구조화된 Q&A 데이터를 사용하는 경우 질문과 답변을 연결하는 문서를 만들 수 있습니다. 이러한 문서는 질문 부분을 기반으로 인덱싱되므로 시스템이 쿼리 유사성을 기반으로 관련 답변을 검색할 수 있습니다.',
},
stepThree: {
creationTitle: '🎉 지식이 생성되었습니다',

View File

@@ -98,6 +98,9 @@ const translation = {
upload_file: '파일 업로드',
notion: 'Notion 에서 동기화',
github: 'GitHub 에서 동기화',
website_crawl: '웹사이트 크롤링',
local_file: '로컬 파일',
online_document: '온라인 문서',
},
type: {
book: '도서',
@@ -335,6 +338,7 @@ const translation = {
parentMaxTokens: '부모',
pause: '일시 중지',
hierarchical: '부모 - 자식',
waiting: '임베딩 대기 중...',
},
segment: {
paragraphs: '단락',

View File

@@ -0,0 +1,154 @@
const translation = {
creation: {
createFromScratch: {
title: '빈 지식 파이프라인',
description: '데이터 처리 및 구조를 완전히 제어할 수 있는 사용자 지정 파이프라인을 처음부터 만듭니다.',
},
caution: '주의',
createKnowledge: '지식 창출',
backToKnowledge: '지식으로 돌아가기',
importDSL: 'DSL 파일에서 가져오기',
errorTip: '기술 자료를 만들지 못했습니다.',
successTip: '기술 자료를 성공적으로 만들었습니다.',
},
templates: {
customized: '주문을 받아서 만들어진',
},
operations: {
choose: '고르다',
convert: '변환',
preview: '미리 보기',
process: '프로세스',
dataSource: '데이터 소스',
details: '세부 정보',
saveAndProcess: '저장 및 처리',
exportPipeline: '수출 파이프라인',
editInfo: '정보 편집',
backToDataSource: '데이터 소스로 돌아가기',
useTemplate: '이 지식 파이프라인 사용',
},
deletePipeline: {
title: '이 파이프라인 템플릿을 삭제하시겠습니까?',
content: '파이프라인 템플릿을 삭제하는 것은 되돌릴 수 없습니다.',
},
publishPipeline: {
success: {
message: '지식 파이프라인 게시',
},
error: {
message: '지식 파이프라인 게시 실패',
},
},
publishTemplate: {
success: {
learnMore: '더 알아보세요',
message: '파이프라인 템플릿 게시됨',
tip: '생성 페이지에서 이 템플릿을 사용할 수 있습니다.',
},
error: {
message: '파이프라인 템플릿을 게시하지 못했습니다.',
},
},
exportDSL: {
successTip: '파이프라인 DSL 내보내기 성공',
errorTip: '파이프라인 DSL을 내보내지 못했습니다.',
},
details: {
structure: '구조',
structureTooltip: '청크 구조는 문서를 분할하고 인덱싱하는 방법(일반, 부모-자식 및 Q&A 모드를 제공)을 결정하며 각 기술 자료에 고유합니다.',
},
testRun: {
steps: {
documentProcessing: '문서 처리',
dataSource: '데이터 소스',
},
dataSource: {
localFiles: '로컬 파일',
},
notion: {
docTitle: 'Notion 문서',
title: 'Notion 페이지 선택',
},
title: '테스트 실행',
tooltip: '테스트 실행 모드에서는 더 쉬운 디버깅 및 관찰을 위해 한 번에 하나의 문서만 가져올 수 있습니다.',
},
inputFieldPanel: {
uniqueInputs: {
title: '각 입구에 대한 고유한 입력',
tooltip: '고유 입력은 선택한 데이터 원본 및 해당 다운스트림 노드에서만 액세스할 수 있습니다. 사용자는 다른 데이터 원본을 선택할 때 입력할 필요가 없습니다. 데이터 소스 변수에서 참조하는 입력 필드만 첫 번째 단계(데이터 소스)에 표시됩니다. 다른 모든 필드는 두 번째 단계(문서 처리)에 표시됩니다.',
},
globalInputs: {
title: '모든 입구에 대한 전역 입력',
tooltip: '전역 입력은 모든 노드에서 공유됩니다. 사용자는 데이터 원본을 선택할 때 이를 입력해야 합니다. 예를 들어 구분 기호 및 최대 청크 길이와 같은 필드는 여러 데이터 원본에 균일하게 적용될 수 있습니다. 데이터 소스 변수에서 참조하는 입력 필드만 첫 번째 단계(데이터 소스)에 나타납니다. 다른 모든 필드는 두 번째 단계(문서 처리)에 표시됩니다.',
},
preview: {
stepOneTitle: '데이터 소스',
stepTwoTitle: '문서 처리',
},
error: {
variableDuplicate: '변수 이름이 이미 존재합니다. 다른 이름을 선택해 주세요.',
},
addInputField: '입력 필드 추가',
title: '사용자 입력 필드',
editInputField: '입력 필드 편집',
description: '사용자 입력 필드는 파이프라인 실행 프로세스 중에 필요한 변수를 정의하고 수집하는 데 사용됩니다. 사용자는 필드 유형을 사용자 정의하고 다양한 데이터 소스 또는 문서 처리 단계의 요구 사항을 충족하도록 입력 값을 유연하게 구성할 수 있습니다.',
},
addDocuments: {
steps: {
processingDocuments: '문서 처리',
processDocuments: '문서 처리',
chooseDatasource: '데이터 소스 선택',
},
stepOne: {
preview: '미리 보기',
},
stepTwo: {
previewChunks: '프리뷰 청크',
chunkSettings: '청크 세팅',
},
stepThree: {
learnMore: '더 알아보세요',
},
characters: '문자',
backToDataSource: '데이터 소스',
title: '문서 추가',
},
documentSettings: {
title: '문서 설정',
},
onlineDocument: {},
onlineDrive: {
breadcrumbs: {
allFiles: '모든 파일',
allBuckets: '모든 Cloud Storage 버킷',
searchPlaceholder: '파일 검색...',
},
emptySearchResult: '항목을 찾을 수 없습니다.',
emptyFolder: '이 폴더는 비어 있습니다.',
resetKeywords: '키워드 재설정',
notSupportedFileType: '이 파일 형식은 지원되지 않습니다',
},
credentialSelector: {},
conversion: {
confirm: {
title: '확인',
content: '이 작업은 영구적입니다. 이전 방법으로 되돌릴 수 없습니다. 변환을 확인하시기 바랍니다.',
},
title: '지식 파이프라인으로 변환',
warning: '이 작업은 실행 취소할 수 없습니다.',
errorMessage: '데이터 세트를 파이프라인으로 변환하지 못했습니다.',
successMessage: '데이터 세트를 파이프라인으로 성공적으로 변환했습니다.',
descriptionChunk2: '— 마켓플레이스의 플러그인에 액세스할 수 있는 보다 개방적이고 유연한 접근 방식입니다. 이렇게 하면 향후 모든 문서에 새로운 처리 방법이 적용됩니다.',
descriptionChunk1: '이제 문서 처리에 지식 파이프라인을 사용하도록 기존 기술 자료를 변환할 수 있습니다',
},
knowledgeDescription: '지식 설명',
knowledgePermissions: '권한을',
inputField: '입력 필드',
knowledgeNameAndIcon: '지식 이름 & 아이콘',
pipelineNameAndIcon: '파이프라인 이름 & 아이콘',
editPipelineInfo: '파이프라인 정보 편집',
knowledgeNameAndIconPlaceholder: '기술 자료의 이름을 입력하십시오.',
knowledgeDescriptionPlaceholder: '이 기술 자료에 포함된 내용을 설명하십시오. 자세한 설명을 통해 AI는 데이터 세트의 콘텐츠에 보다 정확하게 액세스할 수 있습니다. 비어 있으면 Dify는 기본 히트 전략을 사용합니다. (선택 사항)',
}
export default translation

View File

@@ -37,6 +37,14 @@ const translation = {
indexMethodChangeToEconomyDisabledTip: 'HQ 에서 ECO 로 다운그레이드할 수 없습니다.',
helpText: '좋은 데이터 세트 설명을 작성하는 방법을 알아보세요.',
searchModel: '모델 검색',
chunkStructure: {
title: '청크 구조',
learnMore: '더 알아보세요',
description: '청크 구조에 대해.',
},
numberOfKeywords: '키워드 수',
nameAndIcon: '이름 & 아이콘',
onSearchResults: '검색어와 일치하는 구성원이 없습니다.\n검색을 다시 시도합니다.',
},
}

View File

@@ -41,6 +41,10 @@ const translation = {
},
change: '변경',
changeRetrievalMethod: '검색 방법 변경',
keyword_search: {
title: '반전 인덱스',
description: '역인덱스는 효율적인 검색을 위해 사용되는 구조입니다. 용어별로 구성된 각 용어는 해당 용어가 포함된 문서 또는 웹 페이지를 가리킵니다.',
},
},
docsFailedNotice: '문서 인덱스에 실패했습니다',
retry: '재시도',
@@ -148,6 +152,8 @@ const translation = {
chunkingMode: {
parentChild: '부모 - 자식',
general: '일반',
graph: '그래프',
qa: '질문과 답변',
},
parentMode: {
fullDoc: '전체 문서',
@@ -216,6 +222,9 @@ const translation = {
chooseTime: '시간을 선택하세요...',
},
embeddingModelNotAvailable: '임베딩 모델을 사용할 수 없습니다.',
updated: '업데이트',
externalKnowledgeBase: '외부 기술 자료',
createFromPipeline: '지식 파이프라인에서 만들기',
}
export default translation

View File

@@ -1,3 +1,8 @@
const translation = {}
const translation = {
sidebar: {
expandSidebar: '사이드바 확장',
collapseSidebar: '사이드바 축소',
},
}
export default translation

View File

@@ -0,0 +1,38 @@
const translation = {
common: {
publishAsPipeline: {
name: '파이프라인 이름 & 아이콘',
description: '지식 설명',
namePlaceholder: '이 지식 파이프라인의 이름을 입력하십시오. (필수)',
descriptionPlaceholder: '이 지식 파이프라인에 대한 설명을 입력하십시오. (선택 사항)',
},
reRun: '다시 실행',
processing: '가공',
testRun: '테스트 실행',
confirmPublish: '게시 확인',
preparingDataSource: '데이터 소스 준비',
publishAs: '지식 파이프라인으로 게시',
goToAddDocuments: '문서 추가로 이동',
confirmPublishContent: '지식 파이프라인을 성공적으로 게시한 후에는 이 지식 기반의 청크 구조를 수정할 수 없습니다. 게시하시겠습니까?',
},
inputField: {
manage: '관리하다',
create: '사용자 입력 필드 만들기',
},
publishToast: {
title: '이 파이프라인은 아직 게시되지 않았습니다.',
desc: '파이프라인이 게시되지 않은 경우 기술 자료 노드에서 청크 구조를 수정할 수 있으며 파이프라인 오케스트레이션 및 변경 내용은 자동으로 초안으로 저장됩니다.',
},
result: {
resultPreview: {
loading: '가공... 기다리세요',
viewDetails: '세부 정보보기',
error: '실행 중 오류가 발생했습니다.',
},
},
ragToolSuggestions: {
title: 'RAG에 대한 제안',
},
}
export default translation

View File

@@ -17,6 +17,7 @@ const translation = {
design: '디자인',
business: '사업',
agent: '에이전트',
rag: '넝마',
},
allTags: '모든 태그',
searchTags: '검색 태그',

View File

@@ -6,6 +6,7 @@ const translation = {
extensions: '확장',
tools: '도구',
bundles: '번들',
datasources: '데이터 소스',
},
categorySingle: {
extension: '확장',
@@ -13,6 +14,7 @@ const translation = {
agent: '에이전트 전략',
bundle: '보따리',
model: '모델',
datasource: '데이터 소스',
},
list: {
source: {
@@ -250,6 +252,8 @@ const translation = {
credentialUnavailable: '현재 자격 증명이 사용 불가능합니다. 관리자에게 문의하십시오.',
customCredentialUnavailable: '현재 사용자 정의 자격 증명이 사용 불가능합니다.',
credentialUnavailableInButton: '자격 증명 사용 불가능',
connectedWorkspace: '연결된 작업 공간',
emptyAuth: '인증을 구성하십시오.',
},
deprecated: '사용 중단됨',
autoUpdate: {

View File

@@ -244,6 +244,7 @@ const translation = {
publishTip: '앱이 게시되지 않았습니다. 먼저 앱을 게시하십시오.',
},
},
allTools: '모든 도구',
}
export default translation

View File

@@ -88,7 +88,6 @@ const translation = {
depthLimit: '평행 중첩 레이어 {{num}}개 레이어의 제한',
limit: '병렬 처리는 {{num}}개의 분기로 제한됩니다.',
},
parallelRun: '병렬 실행',
disconnect: '분리하다',
jumpToNode: '이 노드로 이동',
addParallelNode: '병렬 노드 추가',
@@ -227,6 +226,8 @@ const translation = {
back: '뒤로',
iteration: '반복',
loop: '루프',
reRun: '다시 실행',
preparingDataSource: '데이터 소스 준비',
},
tabs: {
'tools': '도구',
@@ -245,6 +246,8 @@ const translation = {
'searchBlock': '검색 노드',
'allAdded': '모두 추가됨',
'addAll': '모두 추가',
'sources': '소스',
'searchDataSource': '데이터 소스 검색',
},
blocks: {
'start': '시작',
@@ -269,6 +272,8 @@ const translation = {
'loop-start': '루프 시작',
'loop-end': '루프 종료',
'loop': '루프',
'datasource': '데이터 소스',
'knowledge-index': '기술 자료',
},
blocksAbout: {
'start': '워크플로우를 시작하기 위한 초기 매개변수를 정의합니다',
@@ -303,6 +308,8 @@ const translation = {
'loop': '종료 조건이 충족되거나 최대 반복 횟수에 도달할 때까지 논리 루프를 실행합니다.',
'loop-end':
'"break"와 동일합니다. 이 노드는 구성 항목이 없습니다. 루프 본문이 이 노드에 도달하면 루프가 종료됩니다.',
'datasource': '데이터 소스 정보',
'knowledge-index': '기술 자료 정보',
},
operator: {
zoomIn: '확대',
@@ -406,6 +413,7 @@ const translation = {
input: '입력 값',
variable: '변수를 사용하세요',
},
inputVars: '입력 변수',
},
start: {
required: '필수',
@@ -964,6 +972,27 @@ const translation = {
loopNode: '루프 노드',
inputMode: '입력 모드',
},
dataSource: {
add: '데이터 원본 추가',
supportedFileFormatsPlaceholder: '파일 확장자, e.g. doc',
supportedFileFormats: '지원되는 파일 형식',
},
knowledgeBase: {
chunkStructureTip: {
learnMore: '더 알아보세요',
title: '청크 구조를 선택해 주세요',
message: 'Dify 기술 자료는 일반, 부모-자식 및 Q&A의 세 가지 청크 구조를 지원합니다. 각 기술 자료는 하나의 구조만 가질 수 있습니다. 이전 노드의 출력은 선택한 청크 구조와 일치해야 합니다. 청크 구조의 선택은 사용 가능한 인덱스 메서드에 영향을 줍니다.',
},
chunkStructure: '청크 구조',
chunkIsRequired: '청크 구조가 필요합니다.',
chooseChunkStructure: '청크 구조 선택',
aboutRetrieval: '검색 방법에 대해.',
changeChunkStructure: '청크 구조 변경',
indexMethodIsRequired: '인덱스 메서드가 필요합니다.',
retrievalSettingIsRequired: '검색 설정이 필요합니다.',
chunksInput: '청크',
chunksInputTip: '지식 기반 노드의 입력 변수는 Chunks입니다. 변수 유형은 선택된 청크 구조와 일치해야 하는 특정 JSON 스키마를 가진 객체입니다.',
},
},
tracing: {
stopBy: '{{user}}에 의해 중지됨',
@@ -1037,6 +1066,10 @@ const translation = {
reset: '마지막 실행 값으로 재설정',
emptyTip:
'캔버스에서 노드를 한 단계씩 실행한 후, 변수 검사에서 노드 변수의 현재 값을 볼 수 있습니다.',
export: '수출',
largeData: '대용량 데이터, 읽기 전용 미리 보기. 모두 보도록 내보내기.',
exportToolTip: '변수를 파일로 내보내기',
largeDataNoExport: '대용량 데이터 - 부분 미리 보기만',
},
settingsTab: '설정',
lastRunTab: '마지막 실행',