external knowledge api (#8913)

Co-authored-by: Yi <yxiaoisme@gmail.com>
This commit is contained in:
Jyong 2024-09-30 15:38:43 +08:00 • committed by GitHub
commit 9d221a5e19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
90 changed files with 4623 additions and 1171 deletions

View file

@ -1,6 +1,7 @@
const translation = {
title: 'Retrieval Testing',
desc: 'Test the hitting effect of the Knowledge based on the given query text.',
settingTitle: 'Retrieval Setting',
desc: 'Test the hitting effect of the Knowledge based on the given query text',
dateTimeFormat: 'MM/DD/YYYY hh:mm A',
recents: 'Recents',
table: {
@ -23,6 +24,7 @@ const translation = {
},
noRecentTip: 'No recent query results here',
viewChart: 'View VECTOR CHART',
viewDetail: 'View Detail',
}
export default translation

View file

@ -1,13 +1,13 @@
const translation = {
title: 'Knowledge settings',
desc: 'Here you can modify the properties and working methods of the Knowledge.',
desc: 'Here you can modify the properties and retrieval settings of this Knowledge.',
form: {
name: 'Knowledge Name',
namePlaceholder: 'Please enter the Knowledge name',
nameError: 'Name cannot be empty',
desc: 'Knowledge description',
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 is in this Knowledge. A detailed description allows AI to access the content of the Knowledge in a timely manner. If empty, Dify will use the default hit strategy.',
descPlaceholder: 'Describe what\'s in this Knowledge (optional)',
descWrite: 'Learn how to write a good Knowledge description.',
permissions: 'Permissions',
permissionsOnlyMe: 'Only me',
@ -23,11 +23,14 @@ const translation = {
embeddingModelTip: 'Change the embedded model, please go to ',
embeddingModelTipLink: 'Settings',
retrievalSetting: {
title: 'Retrieval setting',
title: 'Retrieval Setting',
learnMore: 'Learn more',
description: ' about retrieval method.',
longDescription: ' about retrieval method, you can change this at any time in the Knowledge settings.',
},
externalKnowledgeAPI: 'External Knowledge API',
externalKnowledgeID: 'External Knowledge ID',
retrievalSettings: 'Retrieval Settings',
save: 'Save',
},
}

View file

@ -1,9 +1,65 @@
const translation = {
knowledge: 'Knowledge',
externalTag: 'External',
externalAPI: 'External API',
externalAPIPanelTitle: 'External Knowledge API',
externalKnowledgeId: 'External Knowledge ID',
externalKnowledgeName: 'External Knowledge Name',
externalKnowledgeDescription: 'Knowledge Description',
externalKnowledgeIdPlaceholder: 'Please enter the Knowledge ID',
externalKnowledgeNamePlaceholder: 'Please enter the name of the knowledge base',
externalKnowledgeDescriptionPlaceholder: 'Describe what\'s in this Knowledge Base (optional)',
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',
documentCount: ' docs',
wordCount: ' k words',
appCount: ' linked apps',
createDataset: 'Create Knowledge',
createNewExternalAPI: 'Create a new External Knowledge API',
noExternalKnowledge: 'There is no External Knowledge API yet, click here to create',
createExternalAPI: 'Add an External Knowledge API',
editExternalAPIFormTitle: 'Edit the External Knowledge API',
editExternalAPITooltipTitle: 'LINKED KNOWLEDGE',
editExternalAPIConfirmWarningContent: {
front: 'This External Knowledge API is linked to',
end: 'external knowledge, and this modification will be applied to all of them. Are you sure you want to save this change?',
},
editExternalAPIFormWarning: {
front: 'This External API is linked to',
end: 'external knowledge',
},
deleteExternalAPIConfirmWarningContent: {
title: {
front: 'Delete',
end: '?',
},
content: {
front: 'This External Knowledge API is linked to',
end: 'external knowledge. Deleting this API will invalidate all of them. Are you sure you want to delete this API?',
},
noConnectionContent: 'Are you sure to delete this API?',
},
selectExternalKnowledgeAPI: {
placeholder: 'Choose an External Knowledge API',
},
connectDataset: 'Connect to an External Knowledge Base',
connectDatasetIntro: {
title: 'How to Connect to an External Knowledge Base',
content: {
front: 'To connect to an external knowledge base, you need to create an external API first. Please read carefully and refer to',
link: 'Learn how to create an external API',
end: '. Then find the corresponding knowledge ID and fill it in the form on the left. If all the information is correct, it will automatically jump to the retrieval test in the knowledge base after clicking the connect button.',
},
learnMore: 'Learn More',
},
connectHelper: {
helper1: 'Connect to external knowledge bases via API and knowledge base ID. Currently, ',
helper2: 'only the retrieval functionality is supported',
helper3: '. We strongly recommend that you ',
helper4: 'read the help documentation',
helper5: ' carefully before using this feature.',
},
createDatasetIntro: 'Import your own text data or write data in real-time via Webhook for LLM context enhancement.',
deleteDatasetConfirmTitle: 'Delete this Knowledge?',
deleteDatasetConfirmContent:
@ -22,6 +78,22 @@ const translation = {
unavailableTip: 'Embedding model is not available, the default embedding model needs to be configured',
datasets: 'KNOWLEDGE',
datasetsApi: 'API ACCESS',
externalKnowledgeForm: {
connect: 'Connect',
cancel: 'Cancel',
},
externalAPIForm: {
name: 'Name',
endpoint: 'API Endpoint',
apiKey: 'API Key',
save: 'Save',
cancel: 'Cancel',
edit: 'Edit',
encrypted: {
front: 'Your API Token will be encrypted and stored using',
end: 'technology.',
},
},
retrieval: {
semantic_search: {
title: 'Vector Search',
@ -58,6 +130,8 @@ const translation = {
defaultRetrievalTip: 'Multi-path retrieval is used by default. Knowledge is retrieved from multiple knowledge bases and then re-ranked.',
mixtureHighQualityAndEconomicTip: 'The Rerank model is required for mixture of high quality and economical knowledge bases.',
inconsistentEmbeddingModelTip: 'The Rerank model is required if the Embedding models of the selected knowledge bases are inconsistent.',
mixtureInternalAndExternalTip: 'The Rerank model is required for mixture of internal and external knowledge.',
allExternalTip: 'When using external knowledge only, the user can choose whether to enable the Rerank model. If not enabled, retrieved chunks will be sorted based on scores. When the retrieval strategies of different knowledge bases are inconsistent, it will be inaccurate.',
retrievalSettings: 'Retrieval Setting',
rerankSettings: 'Rerank Setting',
weightedScore: {

View file

@ -1,6 +1,7 @@
const translation = {
title: '召回测试',
desc: '基于给定的查询文本测试知识库的召回效果。',
settingTitle: '召回设置',
desc: '基于给定的查询文本测试知识库的召回效果',
dateTimeFormat: 'YYYY-MM-DD HH:mm',
recents: '最近查询',
table: {
@ -23,6 +24,7 @@ const translation = {
},
noRecentTip: '最近无查询结果',
viewChart: '查看向量图表',
viewDetail: '查看详情',
}
export default translation

View file

@ -1,13 +1,13 @@
const translation = {
title: '知识库设置',
desc: '在这里您可以修改知识库的工作方式以及其它设置。',
desc: '在这里,您可以修改此知识库的属性和检索设置',
form: {
name: '知识库名称',
namePlaceholder: '请输入知识库名称',
nameError: '名称不能为空',
desc: '知识库描述',
descInfo: '请写出清楚的文字描述来概述知识库的内容。当从多个知识库中进行选择匹配时,该描述将用作匹配的基础。',
descPlaceholder: '描述这个知识库中的内容。详细的描述可以让 AI 及时访问知识库的内容。如果为空,Dify 将使用默认的命中策略。',
descPlaceholder: '请描述这个知识库包含的内容(可选)',
descWrite: '了解如何编写更好的知识库描述。',
permissions: '可见权限',
permissionsOnlyMe: '只有我',
@ -28,6 +28,8 @@ const translation = {
description: '关于检索方法。',
longDescription: '关于检索方法,您可以随时在知识库设置中更改此设置。',
},
externalKnowledgeAPI: '外部知识 API',
externalKnowledgeID: '外部知识库 ID',
save: '保存',
},
}

View file

@ -1,9 +1,62 @@
const translation = {
knowledge: '知识库',
externalTag: '外部',
externalAPI: '外部 API',
externalAPIPanelTitle: '外部知识库 API',
externalKnowledgeId: '外部知识库 ID',
externalKnowledgeName: '外部知识库名称',
externalKnowledgeDescription: '知识库描述',
externalKnowledgeIdPlaceholder: '请输入外部知识库 ID',
externalKnowledgeNamePlaceholder: '请输入外部知识库名称',
externalKnowledgeDescriptionPlaceholder: '描述知识库内容(可选)',
learnHowToWriteGoodKnowledgeDescription: '了解如何编写良好的知识库描述',
externalAPIPanelDescription: '外部知识库 API 用于连接到 Dify 之外的知识库并从中检索知识。',
externalAPIPanelDocumentation: '了解如何创建外部知识库 API',
documentCount: ' 文档',
wordCount: ' 千字符',
appCount: ' 关联应用',
createDataset: '创建知识库',
noExternalKnowledge: '还没有外部知识库 API,点击此处创建',
createExternalAPI: '添加外部知识库 API',
createNewExternalAPI: '创建新的外部知识库API',
editExternalAPIFormTitle: '编辑外部知识库 API',
editExternalAPITooltipTitle: '个关联知识库',
editExternalAPIConfirmWarningContent: {
front: '此外部知识库 API 已链接到',
end: '个外部知识库,此修改将应用于所有这些知识库。您确定要保存此更改吗?',
},
editExternalAPIFormWarning: {
front: '此外部 API 已链接到',
end: '外部知识库',
},
deleteExternalAPIConfirmWarningContent: {
title: {
front: '删除',
end: '?',
},
content: {
front: '此外部知识库 API 已链接到',
end: '个外部知识库。删除此 API 将使所有这些知识库失效。您确定要删除此 API 吗?',
},
noConnectionContent: '您确定要删除此 API 吗?',
},
connectDatasetIntro: {
title: '如何连接到外部知识库',
content: {
front: '要连接到外部知识库,您需要先创建一个外部 API。请仔细阅读并参考',
link: '了解如何创建外部 API',
end: '。然后找到相应的知识库 ID 并填写在左侧表单中。如果所有信息正确,点击连接按钮后将自动跳转到知识库中的检索测试。',
},
learnMore: '了解更多',
},
connectHelper: {
helper1: '通过 API 和知识库 ID 连接到外部知识库。目前,',
helper2: '仅支持检索功能',
helper3: '。我们强烈建议您在使用此功能之前',
helper4: '仔细阅读帮助文档',
helper5: '。',
},
connectDataset: '连接外部知识库',
createDatasetIntro: '导入您自己的文本数据或通过 Webhook 实时写入数据以增强 LLM 的上下文。',
deleteDatasetConfirmTitle: '要删除知识库吗?',
deleteDatasetConfirmContent:
@ -11,6 +64,9 @@ const translation = {
datasetUsedByApp: '某些应用正在使用该知识库。应用将无法再使用该知识库,所有的提示配置和日志将被永久删除。',
datasetDeleted: '知识库已删除',
datasetDeleteFailed: '删除知识库失败',
selectExternalKnowledgeAPI: {
placeholder: '选择一个外部知识 API',
},
didYouKnow: '你知道吗?',
intro1: '知识库可以被集成到 Dify 应用中',
intro2: '作为上下文',
@ -22,6 +78,22 @@ const translation = {
unavailableTip: '由于 embedding 模型不可用,需要配置默认 embedding 模型',
datasets: '知识库',
datasetsApi: 'API',
externalKnowledgeForm: {
connect: '连接',
cancel: '取消',
},
externalAPIForm: {
name: '名称',
endpoint: 'API 端点',
apiKey: 'API 密钥',
save: '保存',
cancel: '取消',
edit: '编辑',
encrypted: {
front: '您的 API Token 将使用',
end: '加密并存储。',
},
},
retrieval: {
semantic_search: {
title: '向量检索',
@ -58,6 +130,8 @@ const translation = {
defaultRetrievalTip: '默认情况下使用多路召回。从多个知识库中检索知识,然后重新排序。',
mixtureHighQualityAndEconomicTip: '混合使用高质量和经济型知识库需要配置 Rerank 模型。',
inconsistentEmbeddingModelTip: '当所选知识库配置的 Embedding 模型不一致时,需要配置 Rerank 模型。',
mixtureInternalAndExternalTip: '混合使用内部和外部知识时需要配置 Rerank 模型。',
allExternalTip: '仅使用外部知识时,用户可以选择是否启用 Rerank 模型。如果不启用,检索到的文本块将根据分数排序。当不同知识库的检索策略不一致时,结果可能不准确。',
retrievalSettings: '召回设置',
rerankSettings: 'Rerank 设置',
weightedScore: {

View file

@ -23,6 +23,7 @@ const translation = {
},
noRecentTip: '最近無查詢結果',
viewChart: '查看向量圖表',
viewDetail: '查看詳情',
}
export default translation