feat: parent child retrieval (#12106)

Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
Wu Tianwei
2024-12-26 12:01:51 +08:00
committed by GitHub
parent efdd54a670
commit 49feff082f
196 changed files with 9035 additions and 3115 deletions

View File

@@ -42,6 +42,11 @@ const translation = {
zoomOut: 'Zoom Out',
zoomIn: 'Zoom In',
openInNewTab: 'Open in new tab',
saveAndRegenerate: 'Save & Regenerate Child Chunks',
close: 'Close',
view: 'View',
viewMore: 'VIEW MORE',
regenerate: 'Regenerate',
},
errorMsg: {
fieldRequired: '{{field}} is required',
@@ -475,9 +480,10 @@ const translation = {
documents: 'Documents',
hitTesting: 'Retrieval Testing',
settings: 'Settings',
emptyTip: 'The Knowledge has not been associated, please go to the application or plug-in to complete the association.',
emptyTip: 'This Knowledge has not been integrated within any application. Please refer to the document for guidance.',
viewDoc: 'View documentation',
relatedApp: 'linked apps',
noRelatedApp: 'No linked apps',
},
voiceInput: {
speaking: 'Speak now...',

View File

@@ -4,9 +4,9 @@ const translation = {
creation: 'Create Knowledge',
update: 'Add data',
},
one: 'Choose data source',
two: 'Text Preprocessing and Cleaning',
three: 'Execute and finish',
one: 'Data Source',
two: 'Document Processing',
three: 'Execute & Finish',
},
error: {
unavailable: 'This Knowledge is not available',
@@ -47,6 +47,7 @@ const translation = {
notionSyncTitle: 'Notion is not connected',
notionSyncTip: 'To sync with Notion, connection to Notion must be established first.',
connect: 'Go to connect',
cancel: 'Cancel',
button: 'Next',
emptyDatasetCreation: 'I want to create an empty Knowledge',
modal: {
@@ -94,36 +95,49 @@ const translation = {
},
},
stepTwo: {
segmentation: 'Chunk settings',
segmentation: 'Chunk Settings',
auto: 'Automatic',
autoDescription: 'Automatically set chunk and preprocessing rules. Unfamiliar users are recommended to select this.',
custom: 'Custom',
customDescription: 'Customize chunks rules, chunks length, and preprocessing rules, etc.',
general: 'General',
generalTip: 'General text chunking mode, the chunks retrieved and recalled are the same.',
parentChild: 'Parent-child',
parentChildTip: 'When using the parent-child mode, the child-chunk is used for retrieval and the parent-chunk is used for recall as context.',
parentChunkForContext: 'Parent-chunk for Context',
childChunkForRetrieval: 'Child-chunk for Retrieval',
paragraph: 'Paragraph',
paragraphTip: 'This mode splits the text in to paragraphs based on delimiters and the maximum chunk length, using the split text as the parent chunk for retrieval.',
fullDoc: 'Full Doc',
fullDocTip: 'The entire document is used as the parent chunk and retrieved directly. Please note that for performance reasons, text exceeding 10000 tokens will be automatically truncated.',
separator: 'Delimiter',
separatorTip: 'A delimiter is the character used to separate text. \\n\\n and \\n are commonly used delimiters for separating paragraphs and lines. Combined with commas (\\n\\n,\\n), paragraphs will be segmented by lines when exceeding the maximum chunk length. You can also use special delimiters defined by yourself (e.g. ***).',
separatorPlaceholder: '\\n\\n for separating paragraphs; \\n for separating lines',
separatorPlaceholder: '\\n\\n for paragraphs; \\n for lines',
maxLength: 'Maximum chunk length',
maxLengthCheck: 'Maximum chunk length should be less than {{limit}}',
overlap: 'Chunk overlap',
overlapTip: 'Setting the chunk overlap can maintain the semantic relevance between them, enhancing the retrieve effect. It is recommended to set 10%-25% of the maximum chunk size.',
overlapCheck: 'chunk overlap should not bigger than maximum chunk length',
rules: 'Text preprocessing rules',
rules: 'Text Pre-processing Rules',
removeExtraSpaces: 'Replace consecutive spaces, newlines and tabs',
removeUrlEmails: 'Delete all URLs and email addresses',
removeStopwords: 'Remove stopwords such as "a", "an", "the"',
preview: 'Confirm & Preview',
preview: 'Preview',
previewChunk: 'Preview Chunk',
reset: 'Reset',
indexMode: 'Index mode',
indexMode: 'Index Method',
qualified: 'High Quality',
highQualityTip: 'Once finishing embedding in High Quality mode, reverting to Economical mode is not available.',
recommend: 'Recommend',
qualifiedTip: 'Call default system embedding interface for processing to provide higher accuracy when users query.',
qualifiedTip: 'Calling the embedding model to process documents for more precise retrieval helps LLM generate high-quality answers.',
warning: 'Please set up the model provider API key first.',
click: 'Go to settings',
economical: 'Economical',
economicalTip: 'Use offline vector engines, keyword indexes, etc. to reduce accuracy without spending tokens',
economicalTip: 'Using 10 keywords per chunk for retrieval, no tokens are consumed at the expense of reduced retrieval accuracy.',
QATitle: 'Segmenting in Question & Answer format',
QATip: 'Enable this option will consume more tokens',
QALanguage: 'Segment using',
useQALanguage: 'Chunk using Q&A format in',
estimateCost: 'Estimation',
estimateSegment: 'Estimated chunks',
segmentCount: 'chunks',
@@ -153,10 +167,19 @@ const translation = {
indexSettingTip: 'To change the index method & embedding model, please go to the ',
retrievalSettingTip: 'To change the retrieval setting, please go to the ',
datasetSettingLink: 'Knowledge settings.',
previewChunkTip: 'Click the \'Preview Chunk\' button on the left to load the preview',
previewChunkCount: '{{count}} Estimated chunks',
switch: 'Switch',
qaSwitchHighQualityTipTitle: 'Q&A Format Requires High-quality Indexing Method',
qaSwitchHighQualityTipContent: 'Currently, only high-quality index method supports Q&A format chunking. Would you like to switch to high-quality mode?',
notAvailableForParentChild: 'Not available for Parent-child Index',
notAvailableForQA: 'Not available for Q&A Index',
parentChildDelimiterTip: 'A delimiter is the character used to separate text. \\n\\n is recommended for splitting the original document into large parent chunks. You can also use special delimiters defined by yourself.',
parentChildChunkDelimiterTip: 'A delimiter is the character used to separate text. \\n is recommended for splitting parent chunks into small child chunks. You can also use special delimiters defined by yourself.',
},
stepThree: {
creationTitle: '🎉 Knowledge created',
creationContent: 'We automatically named the Knowledge, you can modify it at any time',
creationContent: 'We automatically named the Knowledge, you can modify it at any time.',
label: 'Knowledge name',
additionTitle: '🎉 Document uploaded',
additionP1: 'The document has been uploaded to the Knowledge',
@@ -171,6 +194,11 @@ const translation = {
modelButtonConfirm: 'Confirm',
modelButtonCancel: 'Cancel',
},
otherDataSource: {
title: 'Connect to other data sources?',
description: 'Currently, Dify\'s knowledge base only has limited data sources. Contributing a data source to the Dify knowledge base is a fantastic way to help enhance the platform\'s flexibility and power for all users. Our contribution guide makes it easy to get started. Please click on the link below to learn more.',
learnMore: 'Learn more',
},
}
export default translation

View File

@@ -2,12 +2,14 @@ const translation = {
list: {
title: 'Documents',
desc: 'All files of the Knowledge are shown here, and the entire Knowledge can be linked to Dify citations or indexed via the Chat plugin.',
learnMore: 'Learn more',
addFile: 'Add file',
addPages: 'Add Pages',
addUrl: 'Add URL',
table: {
header: {
fileName: 'FILE NAME',
fileName: 'NAME',
chunkingMode: 'CHUNKING MODE',
words: 'WORDS',
hitCount: 'RETRIEVAL COUNT',
uploadTime: 'UPLOAD TIME',
@@ -19,7 +21,7 @@ const translation = {
},
action: {
uploadFile: 'Upload new file',
settings: 'Segment settings',
settings: 'Chunking Settings',
addButton: 'Add chunk',
add: 'Add a chunk',
batchAdd: 'Batch add',
@@ -316,36 +318,76 @@ const translation = {
completed: 'Embedding completed',
error: 'Embedding error',
docName: 'Preprocessing document',
mode: 'Segmentation rule',
segmentLength: 'Chunks length',
textCleaning: 'Text pre-definition and cleaning',
mode: 'Chunking Setting',
segmentLength: 'Maximum Chunk Length',
textCleaning: 'Text Preprocessing Rules',
segments: 'Paragraphs',
highQuality: 'High-quality mode',
economy: 'Economy mode',
estimate: 'Estimated consumption',
stop: 'Stop processing',
resume: 'Resume processing',
pause: 'Pause',
resume: 'Resume',
automatic: 'Automatic',
custom: 'Custom',
hierarchical: 'Parent-child',
previewTip: 'Paragraph preview will be available after embedding is complete',
parentMaxTokens: 'Parent',
childMaxTokens: 'Child',
},
segment: {
paragraphs: 'Paragraphs',
keywords: 'Key Words',
addKeyWord: 'Add key word',
chunks_one: 'CHUNK',
chunks_other: 'CHUNKS',
parentChunks_one: 'PARENT CHUNK',
parentChunks_other: 'PARENT CHUNKS',
childChunks_one: 'CHILD CHUNK',
childChunks_other: 'CHILD CHUNKS',
searchResults_zero: 'RESULT',
searchResults_one: 'RESULT',
searchResults_other: 'RESULTS',
empty: 'No Chunk found',
clearFilter: 'Clear filter',
chunk: 'Chunk',
parentChunk: 'Parent-Chunk',
newChunk: 'New Chunk',
childChunk: 'Child-Chunk',
newChildChunk: 'New Child Chunk',
keywords: 'KEYWORDS',
addKeyWord: 'Add keyword',
keywordError: 'The maximum length of keyword is 20',
characters: 'characters',
characters_one: 'character',
characters_other: 'characters',
hitCount: 'Retrieval count',
vectorHash: 'Vector hash: ',
questionPlaceholder: 'add question here',
questionPlaceholder: 'Add question here',
questionEmpty: 'Question can not be empty',
answerPlaceholder: 'add answer here',
answerPlaceholder: 'Add answer here',
answerEmpty: 'Answer can not be empty',
contentPlaceholder: 'add content here',
contentPlaceholder: 'Add content here',
contentEmpty: 'Content can not be empty',
newTextSegment: 'New Text Segment',
newQaSegment: 'New Q&A Segment',
addChunk: 'Add Chunk',
addChildChunk: 'Add Child Chunk',
addAnother: 'Add another',
delete: 'Delete this chunk ?',
chunkAdded: '1 chunk added',
childChunkAdded: '1 child chunk added',
editChunk: 'Edit Chunk',
editParentChunk: 'Edit Parent Chunk',
editChildChunk: 'Edit Child Chunk',
chunkDetail: 'Chunk Detail',
regenerationConfirmTitle: 'Do you want to regenerate child chunks?',
regenerationConfirmMessage: 'Regenerating child chunks will overwrite the current child chunks, including edited chunks and newly added chunks. The regeneration cannot be undone.',
regeneratingTitle: 'Regenerating child chunks',
regeneratingMessage: 'This may take a moment, please wait...',
regenerationSuccessTitle: 'Regeneration completed',
regenerationSuccessMessage: 'You can close this window.',
edited: 'EDITED',
editedAt: 'Edited at',
expandChunks: 'Expand chunks',
collapseChunks: 'Collapse chunks',
},
}

View File

@@ -1,9 +1,9 @@
const translation = {
title: 'Retrieval Testing',
title: 'Retrieval Test',
settingTitle: 'Retrieval Setting',
desc: 'Test the hitting effect of the Knowledge based on the given query text',
desc: 'Test the hitting effect of the Knowledge based on the given query text.',
dateTimeFormat: 'MM/DD/YYYY hh:mm A',
recents: 'Recents',
records: 'Records',
table: {
header: {
source: 'Source',
@@ -16,15 +16,19 @@ const translation = {
placeholder: 'Please enter a text, a short declarative sentence is recommended.',
countWarning: 'Up to 200 characters.',
indexWarning: 'High quality Knowledge only.',
testing: 'Testing',
testing: 'Test',
},
hit: {
title: 'RETRIEVAL PARAGRAPHS',
title: '{{num}} Retrieved Chunks',
emptyTip: 'Retrieval Testing results will show here',
},
noRecentTip: 'No recent query results here',
viewChart: 'View VECTOR CHART',
viewDetail: 'View Detail',
chunkDetail: 'Chunk Detail',
hitChunks: 'Hit {{num}} child chunks',
open: 'Open',
keyword: 'Keywords',
}
export default translation

View File

@@ -7,7 +7,8 @@ const translation = {
nameError: 'Name cannot be empty',
desc: 'Knowledge Description',
descInfo: 'Please write a clear textual description to outline the content of the Knowledge. This description will be used as a basis for matching when selecting from multiple Knowledge for inference.',
descPlaceholder: 'Describe what\'s in this Knowledge (optional)',
descPlaceholder: 'Describe what is in this data set. A detailed description allows AI to access the content of the data set in a timely manner. If empty, LangGenius will use the default hit strategy.',
helpText: 'Learn how to write a good dataset description.',
descWrite: 'Learn how to write a good Knowledge description.',
permissions: 'Permissions',
permissionsOnlyMe: 'Only me',
@@ -16,9 +17,10 @@ const translation = {
me: '(You)',
indexMethod: 'Index Method',
indexMethodHighQuality: 'High Quality',
indexMethodHighQualityTip: 'Call Embedding model for processing to provide higher accuracy when users query.',
indexMethodHighQualityTip: 'Calling the embedding model to process documents for more precise retrieval helps LLM generate high-quality answers.',
upgradeHighQualityTip: 'Once upgrading to High Quality mode, reverting to Economical mode is not available',
indexMethodEconomy: 'Economical',
indexMethodEconomyTip: 'Use offline vector engines, keyword indexes, etc. to reduce accuracy without spending tokens',
indexMethodEconomyTip: 'Using 10 keywords per chunk for retrieval, no tokens are consumed at the expense of reduced retrieval accuracy.',
embeddingModel: 'Embedding Model',
embeddingModelTip: 'Change the embedded model, please go to ',
embeddingModelTipLink: 'Settings',
@@ -32,6 +34,7 @@ const translation = {
externalKnowledgeID: 'External Knowledge ID',
retrievalSettings: 'Retrieval Settings',
save: 'Save',
indexMethodChangeToEconomyDisabledTip: 'Not available for downgrading from HQ to ECO',
},
}

View File

@@ -1,5 +1,13 @@
const translation = {
knowledge: 'Knowledge',
chunkingMode: {
general: 'General',
parentChild: 'Parent-child',
},
parentMode: {
paragraph: 'Paragraph',
fullDoc: 'Full-doc',
},
externalTag: 'External',
externalAPI: 'External API',
externalAPIPanelTitle: 'External Knowledge API',
@@ -12,6 +20,7 @@ const translation = {
learnHowToWriteGoodKnowledgeDescription: 'Learn how to write a good knowledge description',
externalAPIPanelDescription: 'The external knowledge API is used to connect to a knowledge base outside of Dify and retrieve knowledge from that knowledge base.',
externalAPIPanelDocumentation: 'Learn how to create an External Knowledge API',
localDocs: 'Local Docs',
documentCount: ' docs',
wordCount: ' k words',
appCount: ' linked apps',
@@ -115,8 +124,10 @@ const translation = {
change: 'Change',
changeRetrievalMethod: 'Change retrieval method',
},
docsFailedNotice: 'documents failed to be indexed',
docsFailedNotice: 'documents indexed failed',
retry: 'Retry',
documentsDisabled: '{{num}} documents disabled - inactive for over 30 days',
enable: 'Enable',
indexingTechnique: {
high_quality: 'HQ',
economy: 'ECO',
@@ -146,6 +157,15 @@ const translation = {
nTo1RetrievalLegacy: 'N-to-1 retrieval will be officially deprecated from September. It is recommended to use the latest Multi-path retrieval to obtain better results. ',
nTo1RetrievalLegacyLink: 'Learn more',
nTo1RetrievalLegacyLinkText: ' N-to-1 retrieval will be officially deprecated in September.',
batchAction: {
selected: 'Selected',
enable: 'Enable',
disable: 'Disable',
archive: 'Archive',
delete: 'Delete',
cancel: 'Cancel',
},
preprocessDocument: '{{num}} Preprocess Documents',
}
export default translation

View File

@@ -42,6 +42,11 @@ const translation = {
zoomOut: '缩小',
zoomIn: '放大',
openInNewTab: '在新标签页打开',
saveAndRegenerate: '保存并重新生成子分段',
close: '关闭',
view: '查看',
viewMore: '查看更多',
regenerate: '重新生成',
},
errorMsg: {
fieldRequired: '{{field}} 为必填项',
@@ -475,9 +480,10 @@ const translation = {
documents: '文档',
hitTesting: '召回测试',
settings: '设置',
emptyTip: ' 知识尚未关联,请前往应用程序或插件完成关联。',
emptyTip: '知识尚未集成到任何应用程序中。请参阅文档以获取指导。',
viewDoc: '查看文档',
relatedApp: '个关联应用',
noRelatedApp: '无关联应用',
},
voiceInput: {
speaking: '现在讲...',

View File

@@ -47,6 +47,7 @@ const translation = {
notionSyncTitle: 'Notion 未绑定',
notionSyncTip: '同步 Notion 内容前,须先绑定 Notion 空间',
connect: '去绑定',
cancel: '取消',
button: '下一步',
emptyDatasetCreation: '创建一个空知识库',
modal: {
@@ -99,6 +100,16 @@ const translation = {
autoDescription: '自动设置分段规则与预处理规则,如果不了解这些参数建议选择此项',
custom: '自定义',
customDescription: '自定义分段规则、分段长度以及预处理规则等参数',
general: '通用',
generalTip: '通用文本分块模式,检索和回忆的块是相同的',
parentChild: '父子分段',
parentChildTip: '使用父子模式时,子块用于检索,父块用作上下文',
parentChunkForContext: '父块用作上下文',
childChunkForRetrieval: '子块用于检索',
paragraph: '段落',
paragraphTip: '此模式根据分隔符和最大块长度将文本拆分为段落,使用拆分文本作为检索的父块',
fullDoc: '全文',
fullDocTip: '整个文档用作父块并直接检索。请注意出于性能原因超过10000个标记的文本将被自动截断。',
separator: '分段标识符',
separatorTip: '分隔符是用于分隔文本的字符。\\n\\n 和 \\n 是常用于分隔段落和行的分隔符。用逗号连接分隔符(\\n\\n,\\n当段落超过最大块长度时会按行进行分割。你也可以使用自定义的特殊分隔符例如 ***)。',
separatorPlaceholder: '\\n\\n 用于分段;\\n 用于分行',
@@ -111,19 +122,22 @@ const translation = {
removeExtraSpaces: '替换掉连续的空格、换行符和制表符',
removeUrlEmails: '删除所有 URL 和电子邮件地址',
removeStopwords: '去除停用词,例如 “a”“an”“the” 等',
preview: '确认并预览',
preview: '预览',
previewChunk: '预览块',
reset: '重置',
indexMode: '索引方式',
qualified: '高质量',
highQualityTip: '使用高质量模式进行嵌入后,无法切换回经济模式。',
recommend: '推荐',
qualifiedTip: '调用系统默认的嵌入接口进行处理,以在用户查询时提供更高的准确度',
qualifiedTip: '调用嵌入模型处理文档以实现更精确的检索可以帮助LLM生成高质量的答案。',
warning: '请先完成模型供应商的 API KEY 设置。.',
click: '前往设置',
economical: '经济',
economicalTip: '使用离线的向量引擎、关键词索引等方式,降低了准确度但无需花费 Token',
economicalTip: '每个数据块使用10个关键词进行检索不会消耗任何tokens但会以降低检索准确性为代价。',
QATitle: '采用 Q&A 分段模式',
QATip: '开启后将会消耗额外的 token',
QALanguage: '分段使用',
useQALanguage: '使用 Q&A 分段,语言',
estimateCost: '执行嵌入预估消耗',
estimateSegment: '预估分段数',
segmentCount: '段',
@@ -153,6 +167,15 @@ const translation = {
indexSettingTip: '要更改索引方法和 embedding 模型,请转到',
retrievalSettingTip: '要更改检索方法,请转到',
datasetSettingLink: '知识库设置。',
previewChunkTip: '点击左侧的“预览块”按钮来加载预览',
previewChunkCount: '{{count}} 预估块',
switch: '切换',
qaSwitchHighQualityTipTitle: 'Q&A 格式需要高质量的索引方法',
qaSwitchHighQualityTipContent: '目前,只有高质量的索引方法支持 Q&A 格式分块。您要切换到高质量模式吗?',
notAvailableForParentChild: '不支持父子索引',
notAvailableForQA: '不支持 Q&A 索引',
parentChildDelimiterTip: '文本分隔符是用于分隔文本的字符。建议用 \n\n 将原始文档划分为较大的父级片段。您也可以自定义特殊分隔符。',
parentChildChunkDelimiterTip: '文本分隔符是用于分隔文本的字符。建议使用 \n 将父级片段拆分为较小的子级片段。您也可以自定义特殊分隔符。',
},
stepThree: {
creationTitle: '🎉 知识库已创建',

View File

@@ -2,12 +2,14 @@ const translation = {
list: {
title: '文档',
desc: '知识库的所有文件都在这里显示,整个知识库都可以链接到 Dify 引用或通过 Chat 插件进行索引。',
learnMore: '了解更多',
addFile: '添加文件',
addPages: '添加页面',
addUrl: '添加 URL',
table: {
header: {
fileName: '文件名',
fileName: '名',
chunkingMode: '分段模式',
words: '字符数',
hitCount: '召回次数',
uploadTime: '上传时间',
@@ -315,25 +317,46 @@ const translation = {
completed: '嵌入已完成',
error: '嵌入发生错误',
docName: '预处理文档',
mode: '分段规则',
segmentLength: '分段长度',
textCleaning: '文本预定义与清洗',
mode: '分段模式',
segmentLength: '最大分段长度',
textCleaning: '文本预处理规则',
segments: '段落',
highQuality: '高质量模式',
economy: '经济模式',
estimate: '预估消耗',
stop: '停止处理',
resume: '恢复处理',
pause: '暂停',
resume: '恢复',
automatic: '自动',
custom: '自定义',
hierarchical: '父子分段',
previewTip: '段落预览将在嵌入完成后可用',
parentMaxTokens: '父',
childMaxTokens: '子',
},
segment: {
paragraphs: '段落',
chunks_one: '分段',
chunks_other: '分段',
parentChunks_one: '父分段',
parentChunks_other: '父分段',
childChunks_one: '子分段',
childChunks_other: '子分段',
searchResults_zero: '搜索结果',
searchResults_one: '搜索结果',
searchResults_other: '搜索结果',
empty: '未找到分段',
clearFilter: '清空搜索条件',
chunk: '分段',
parentChunk: '父分段',
newChunk: '新分段',
childChunk: '子分段',
newChildChunk: '新子分段',
keywords: '关键词',
addKeyWord: '添加关键词',
keywordError: '关键词最大长度为 20',
characters: '字符',
characters_one: '字符',
characters_other: '字符',
hitCount: '召回次数',
vectorHash: '向量哈希:',
questionPlaceholder: '在这里添加问题',
@@ -344,7 +367,26 @@ const translation = {
contentEmpty: '内容不能为空',
newTextSegment: '新文本分段',
newQaSegment: '新问答分段',
addChunk: '新增分段',
addChildChunk: '新增子分段',
addAnother: '连续新增',
delete: '删除这个分段?',
chunkAdded: '新增一个分段',
childChunkAdded: '新增一个子分段',
editChunk: '编辑分段',
editParentChunk: '编辑父分段',
editChildChunk: '编辑子分段',
chunkDetail: '分段详情',
regenerationConfirmTitle: '是否需要重新生成子分段?',
regenerationConfirmMessage: '重新生成的子分段将会覆盖当前的子分段,包括编辑过的分段和新添加的分段。重新生成操作无法撤销。',
regeneratingTitle: '正在生成子分段',
regeneratingMessage: '生成子分段需要一些时间,请耐心等待...',
regenerationSuccessTitle: '子分段已重新生成',
regenerationSuccessMessage: '可以关闭窗口',
edited: '已编辑',
editedAt: '编辑于',
expandChunks: '展开分段',
collapseChunks: '折叠分段',
},
}

View File

@@ -1,9 +1,9 @@
const translation = {
title: '召回测试',
settingTitle: '召回设置',
desc: '基于给定的查询文本测试知识的召回效果',
desc: '根据给定的查询文本测试知识的召回效果',
dateTimeFormat: 'YYYY-MM-DD HH:mm',
recents: '最近查询',
records: '记录',
table: {
header: {
source: '数据源',
@@ -19,12 +19,16 @@ const translation = {
testing: '测试',
},
hit: {
title: '召回段落',
title: '{{num}} 个召回段落',
emptyTip: '召回测试结果将展示在这里',
},
noRecentTip: '最近无查询结果',
viewChart: '查看向量图表',
viewDetail: '查看详情',
chunkDetail: '段落详情',
hitChunks: '命中 {{num}} 个子段落',
open: '打开',
keyword: '关键词',
}
export default translation

View File

@@ -7,7 +7,8 @@ const translation = {
nameError: '名称不能为空',
desc: '知识库描述',
descInfo: '请写出清楚的文字描述来概述知识库的内容。当从多个知识库中进行选择匹配时,该描述将用作匹配的基础。',
descPlaceholder: '描述这个知识库包含的内容(可选)',
descPlaceholder: '描述该数据集的内容。详细描述可以让 AI 更快地访问数据集的内容。如果为空LangGenius 将使用默认的命中策略。',
helpText: '学习如何编写一份优秀的数据集描述。',
descWrite: '了解如何编写更好的知识库描述。',
permissions: '可见权限',
permissionsOnlyMe: '只有我',
@@ -16,9 +17,10 @@ const translation = {
me: '(你)',
indexMethod: '索引模式',
indexMethodHighQuality: '高质量',
indexMethodHighQualityTip: '调用 Embedding 模型进行处理,以在用户查询时提供更高的准确度。',
indexMethodHighQualityTip: '调用嵌入模型来处理文档以实现更精确的检索,可以帮助大语言模型生成高质量的回答。',
upgradeHighQualityTip: '一旦升级为高质量模式,将无法切换回经济模式。',
indexMethodEconomy: '经济',
indexMethodEconomyTip: '使用离线的向量引擎、关键词索引等方式,降低了准确度但无需花费 Token',
indexMethodEconomyTip: '每个块使用 10 个关键词进行检索,不消耗 tokens但会降低检索准确性。',
embeddingModel: 'Embedding 模型',
embeddingModelTip: '修改 Embedding 模型,请去',
embeddingModelTipLink: '设置',
@@ -32,6 +34,7 @@ const translation = {
externalKnowledgeID: '外部知识库 ID',
save: '保存',
retrievalSettings: '检索设置',
indexMethodChangeToEconomyDisabledTip: '无法从高质量降级为经济',
},
}

View File

@@ -1,5 +1,13 @@
const translation = {
knowledge: '知识库',
chunkingMode: {
general: '通用',
parentChild: '父子',
},
parentMode: {
paragraph: '段落',
fullDoc: '全文',
},
externalTag: '外部',
externalAPI: '外部 API',
externalAPIPanelTitle: '外部知识库 API',
@@ -12,6 +20,7 @@ const translation = {
learnHowToWriteGoodKnowledgeDescription: '了解如何编写良好的知识库描述',
externalAPIPanelDescription: '外部知识库 API 用于连接到 Dify 之外的知识库并从中检索知识。',
externalAPIPanelDocumentation: '了解如何创建外部知识库 API',
localDocs: '本地文档',
documentCount: ' 文档',
wordCount: ' 千字符',
appCount: ' 关联应用',
@@ -115,8 +124,10 @@ const translation = {
change: '更改',
changeRetrievalMethod: '更改检索方法',
},
docsFailedNotice: '文档无法被索引',
docsFailedNotice: '文档索引失败',
retry: '重试',
documentsDisabled: '{{num}} 个文档已禁用 - 未活动超过 30 天',
enable: '启用',
indexingTechnique: {
high_quality: '高质量',
economy: '经济',
@@ -146,6 +157,15 @@ const translation = {
nTo1RetrievalLegacy: '9 月 1 日起我们将不再提供此能力,推荐使用最新的多路召回获得更好的检索效果。',
nTo1RetrievalLegacyLink: '了解更多',
nTo1RetrievalLegacyLinkText: '9 月 1 日起我们将不再提供此能力。',
batchAction: {
selected: '已选择',
enable: '启用',
disable: '禁用',
archive: '归档',
delete: '删除',
cancel: '取消',
},
preprocessDocument: '{{num}} 个预处理文档',
}
export default translation

View File

@@ -37,6 +37,7 @@ const translation = {
notionSyncTitle: 'Notion 未繫結',
notionSyncTip: '同步 Notion 內容前,須先繫結 Notion 空間',
connect: '去繫結',
cancel: '取消',
button: '下一步',
emptyDatasetCreation: '建立一個空知識庫',
modal: {
@@ -99,7 +100,7 @@ const translation = {
removeExtraSpaces: '替換掉連續的空格、換行符和製表符',
removeUrlEmails: '刪除所有 URL 和電子郵件地址',
removeStopwords: '去除停用詞,例如 “a”“an”“the” 等',
preview: '確認並預覽',
preview: '預覽',
reset: '重置',
indexMode: '索引方式',
qualified: '高質量',