feat:替换 Dify 为自建 RAG去实现
1、修复了若干无权限时的失败提示语 2、新增了一个生成后续建议问题的功能 3、重构了知识问答部分的权限管理模块 4、修复了若干渲染不恰当的样式渲染
This commit is contained in:
@@ -94,11 +94,24 @@ export function useDocumentDetail(datasetId: string, document: Document | null)
|
||||
pollIndexingStatus(batch);
|
||||
}, [stopPolling, pollIndexingStatus]);
|
||||
|
||||
// 当文档变化时重置设置
|
||||
// 当文档变化时,从文档已有的 process_rule 回显设置,无则使用默认值
|
||||
useEffect(() => {
|
||||
if (document) {
|
||||
// 可以从文档中读取已有的设置,这里使用默认值
|
||||
setSettings(DEFAULT_DOCUMENT_DETAIL_SETTINGS);
|
||||
const rule = (document as any).process_rule;
|
||||
if (rule?.mode === 'custom' && rule?.rules) {
|
||||
const seg = rule.rules.segmentation || {};
|
||||
const preRules = rule.rules.pre_processing_rules || [];
|
||||
setSettings({
|
||||
separator: (seg.separator || '\\n\\n').replace(/\n/g, '\\n'),
|
||||
maxTokens: seg.max_tokens || DEFAULT_DOCUMENT_DETAIL_SETTINGS.maxTokens,
|
||||
chunkOverlap: DEFAULT_DOCUMENT_DETAIL_SETTINGS.chunkOverlap,
|
||||
removeExtraSpaces: preRules.find((r: any) => r.id === 'remove_extra_spaces')?.enabled ?? DEFAULT_DOCUMENT_DETAIL_SETTINGS.removeExtraSpaces,
|
||||
removeUrlsEmails: preRules.find((r: any) => r.id === 'remove_urls_emails')?.enabled ?? DEFAULT_DOCUMENT_DETAIL_SETTINGS.removeUrlsEmails,
|
||||
indexingTechnique: DEFAULT_DOCUMENT_DETAIL_SETTINGS.indexingTechnique,
|
||||
});
|
||||
} else {
|
||||
setSettings(DEFAULT_DOCUMENT_DETAIL_SETTINGS);
|
||||
}
|
||||
setPreviewSegments([]);
|
||||
setShowPreview(false);
|
||||
setIsProcessing(false);
|
||||
|
||||
@@ -105,8 +105,10 @@ export function useDatasetManager() {
|
||||
await loadDocuments(datasetId, 1);
|
||||
} catch (err: any) {
|
||||
console.error('[DatasetManager] 加载知识库详情失败:', err);
|
||||
setError(err.message || '加载知识库失败');
|
||||
message.error('加载知识库失败');
|
||||
const is403 = err.message?.includes('403') || err.response?.status === 403;
|
||||
const msg = is403 ? '您没有查看知识库的权限' : (err.message || '加载知识库失败');
|
||||
setError(msg);
|
||||
message.error(msg);
|
||||
} finally {
|
||||
setLoadingDataset(false);
|
||||
}
|
||||
@@ -151,13 +153,15 @@ export function useDatasetManager() {
|
||||
setDataset(fullDataset);
|
||||
await loadDocuments(firstDatasetId, 1);
|
||||
} else {
|
||||
setError('未找到知识库,请先在Dify中创建知识库');
|
||||
setError('未找到知识库,请先联系管理员创建知识库');
|
||||
}
|
||||
}
|
||||
} catch (err: any) {
|
||||
console.error('[DatasetManager] 加载知识库失败:', err);
|
||||
setError(err.message || '加载知识库失败');
|
||||
message.error('加载知识库失败');
|
||||
const is403 = err.message?.includes('403') || err.response?.status === 403;
|
||||
const msg = is403 ? '您没有查看知识库的权限' : (err.message || '加载知识库失败');
|
||||
setError(msg);
|
||||
message.error(msg);
|
||||
} finally {
|
||||
setLoadingDataset(false);
|
||||
setInited(true);
|
||||
|
||||
Reference in New Issue
Block a user