Feat/parent child retrieval (#12086)

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: AkaraChen <akarachen@outlook.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: Warren Chen <warren.chen830@gmail.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: Yi Xiao <54782454+YIXIAO0@users.noreply.github.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: KVOJJJin <jzongcode@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
Co-authored-by: Charlie.Wei <luowei@cvte.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: huayaoyue6 <huayaoyue@163.com>
Co-authored-by: kurokobo <kuro664@gmail.com>
Co-authored-by: Matsuda <yiyth.fcb6@gmail.com>
Co-authored-by: shirochan <s.yusuke0711@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: Huỳnh Gia Bôi <boihuynh147@gmail.com>
Co-authored-by: Julian Huynh <julian.huynh@immersio.io>
Co-authored-by: Hash Brown <hi@xzd.me>
Co-authored-by: 非法操作 <hjlarry@163.com>
Co-authored-by: Kazuki Takamatsu <kazuki.takamatsu@chowagiken.co.jp>
Co-authored-by: Trey Dong <1346650911@qq.com>
Co-authored-by: VoidIsVoid <343750470@qq.com>
Co-authored-by: Gimling <huangjl@ruyi.ai>
Co-authored-by: xiandan-erizo <xiandan.erizo@gmail.com>
Co-authored-by: Muneyuki Noguchi <nogu.dev@gmail.com>
Co-authored-by: zhaobingshuang <1475195565@qq.com>
Co-authored-by: zhaobs <zhaobs@cailian.net>
Co-authored-by: suzuki.sh <s2terminal@users.noreply.github.com>
Co-authored-by: Yingchun Lai <laiyingchun@apache.org>
Co-authored-by: huanshare <huanshare@live.com>
Co-authored-by: huanshare <liuhuan101@longfor.com>
Co-authored-by: orangeclk <orangeclk@users.noreply.github.com>
Co-authored-by: 문정현 <120004247+JungHyunMoon@users.noreply.github.com>
Co-authored-by: barabicu <kztk533@gmail.com>
Co-authored-by: Wei Mingzhi <whistler_wmz@users.sf.net>
Co-authored-by: Paul van Oorschot <20116814+pvoo@users.noreply.github.com>
Co-authored-by: zkyTech <zhangkunyuan@hotmail.com>
Co-authored-by: zhangkunyuan <zhangkunyuan@cmhi.chinamobile.com>
Co-authored-by: Tommy <34446820+Asterovim@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Novice <857526207@qq.com>
Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local>
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
Co-authored-by: zxhlyh <16177003+zxhlyh@users.noreply.github.com>
Co-authored-by: liuzhenghua <1090179900@qq.com>
Co-authored-by: Jiang <65766008+AlwaysBluer@users.noreply.github.com>
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
Co-authored-by: Joe <79627742+ZhouhaoJiang@users.noreply.github.com>
Co-authored-by: Alok Shrivastwa <alok.shrivastwa@gmail.com>
Co-authored-by: Alok Shrivastwa <Alok.Shrivastwa@microland.com>
Co-authored-by: JasonVV <jasonwangiii@outlook.com>
Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com>
Co-authored-by: Kevin9703 <51311316+Kevin9703@users.noreply.github.com>
Co-authored-by: NFish <douxc512@gmail.com>
Co-authored-by: Junyan Qin <1010553892@qq.com>
Co-authored-by: IWAI, Masaharu <iwaim.sub@gmail.com>
Co-authored-by: IWAI, Masaharu <iwai_masaharu@funkit.co.jp>
Co-authored-by: Bowen Liang <liangbowen@gf.com.cn>
Co-authored-by: luckylhb90 <luckylhb90@gmail.com>
Co-authored-by: hobo.l <hobo.l@binance.com>
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
This commit is contained in:
Wu Tianwei 2024-12-25 18:17:15 +08:00 • committed by GitHub
commit 2b2263a349
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
216 changed files with 9066 additions and 3116 deletions

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