From e07d4bb70b343dbe60dff6cf337b174411f313ae Mon Sep 17 00:00:00 2001 From: hzywhite <1569582518@qq.com> Date: Fri, 5 Sep 2025 15:04:04 +0800 Subject: [PATCH] merge --- lightrag_webui/src/api/lightrag.ts | 5 +++-- .../documents/SchemeManager/SchemeManager.tsx | 19 ++++++++++++++++++- .../src/features/DocumentManager.tsx | 6 +++--- lightrag_webui/src/locales/ar.json | 4 +++- lightrag_webui/src/locales/en.json | 4 +++- lightrag_webui/src/locales/fr.json | 4 +++- lightrag_webui/src/locales/zh.json | 4 +++- lightrag_webui/src/locales/zh_TW.json | 4 +++- 8 files changed, 39 insertions(+), 11 deletions(-) diff --git a/lightrag_webui/src/api/lightrag.ts b/lightrag_webui/src/api/lightrag.ts index 4eb383d0..a24b4188 100644 --- a/lightrag_webui/src/api/lightrag.ts +++ b/lightrag_webui/src/api/lightrag.ts @@ -256,6 +256,7 @@ export type Scheme = { config: { framework: 'lightrag' | 'raganything'; extractor?: 'mineru' | 'docling' | undefined; // Optional extractor field + modelSource?: 'huggingface' | 'modelscope' | 'local' | undefined; // Optional model source field }; }; @@ -379,9 +380,9 @@ export const getDocuments = async (): Promise => { return response.data } -export const scanNewDocuments = async (framework?: string): Promise => { +export const scanNewDocuments = async (schemeConfig: any): Promise => { const response = await axiosInstance.post('/documents/scan', { - framework + schemeConfig }) return response.data } diff --git a/lightrag_webui/src/components/documents/SchemeManager/SchemeManager.tsx b/lightrag_webui/src/components/documents/SchemeManager/SchemeManager.tsx index c33ba9c6..99193a06 100644 --- a/lightrag_webui/src/components/documents/SchemeManager/SchemeManager.tsx +++ b/lightrag_webui/src/components/documents/SchemeManager/SchemeManager.tsx @@ -24,6 +24,7 @@ import { useTranslation } from 'react-i18next'; interface SchemeConfig { framework: 'lightrag' | 'raganything'; extractor?: 'mineru' | 'docling'; + modelSource?: 'huggingface' | 'modelscope' | 'local'; } const SchemeManagerDialog = () => { @@ -95,7 +96,7 @@ const SchemeManagerDialog = () => { try { const newScheme = await addScheme({ name: trimmedName, - config: { framework: 'lightrag', extractor: undefined }, + config: { framework: 'lightrag', extractor: undefined, modelSource: undefined }, }); // 更新方案列表 @@ -136,6 +137,7 @@ const SchemeManagerDialog = () => { ...updates, framework: updates.framework ?? selectedScheme.config?.framework ?? 'lightrag', extractor: updates.extractor || selectedScheme.config?.extractor || (updates.framework === 'raganything' ? 'mineru' : undefined), + modelSource: updates.modelSource || selectedScheme.config?.modelSource || (updates.extractor === 'mineru' ? 'huggingface' : undefined), }, }; @@ -265,6 +267,21 @@ const SchemeManagerDialog = () => { )} + + {selectedScheme.config?.extractor === "mineru" && ( +
+ + +
+ )} ) : (
diff --git a/lightrag_webui/src/features/DocumentManager.tsx b/lightrag_webui/src/features/DocumentManager.tsx index 464ac744..8ee1f471 100644 --- a/lightrag_webui/src/features/DocumentManager.tsx +++ b/lightrag_webui/src/features/DocumentManager.tsx @@ -636,9 +636,9 @@ export default function DocumentManager() { return; } - const framework = selectedScheme.config?.framework; + const schemeConfig = selectedScheme.config - const { status, message, track_id: _track_id } = await scanNewDocuments(framework); // eslint-disable-line @typescript-eslint/no-unused-vars + const { status, message, track_id: _track_id } = await scanNewDocuments(schemeConfig); // eslint-disable-line @typescript-eslint/no-unused-vars // Check again if component is still mounted after the request completes if (!isMountedRef.current) return; @@ -664,7 +664,7 @@ export default function DocumentManager() { } catch (err) { // Only show error if component is still mounted if (isMountedRef.current) { - toast.error(t('documentPanel.documentManager.errors.scanFailed', { error: errorMessage(err) })); + toast.error(t('documentPanel.documentManager.errors.scanFiled', { error: errorMessage(err) })); } } }, [t, startPollingInterval, currentTab, health, statusCounts, selectedScheme]) diff --git a/lightrag_webui/src/locales/ar.json b/lightrag_webui/src/locales/ar.json index 5ef1c1e8..5c84279e 100644 --- a/lightrag_webui/src/locales/ar.json +++ b/lightrag_webui/src/locales/ar.json @@ -147,7 +147,8 @@ "errors": { "loadFailed": "فشل تحميل المستندات\n{{error}}", "scanFailed": "فشل مسح المستندات\n{{error}}", - "scanProgressFailed": "فشل الحصول على تقدم المسح\n{{error}}" + "scanProgressFailed": "فشل الحصول على تقدم المسح\n{{error}}", + "missingSchemeId": "الحل هو في عداد المفقودين ، حدد الحل" }, "fileNameLabel": "اسم الملف", "showButton": "عرض", @@ -429,6 +430,7 @@ "selectSchemePrompt": "يرجى تحديد أو إنشاء مخطط أولاً", "processingFramework": "إطار المعالجة", "extractionTool": "أداة الاستخراج", + "modelSource": "مصدر النموذج", "errors": { "loadFailed": "فشل تحميل المخططات", "nameEmpty": "لا يمكن أن يكون اسم المخطط فارغًا", diff --git a/lightrag_webui/src/locales/en.json b/lightrag_webui/src/locales/en.json index 311c47f9..650fa2ff 100644 --- a/lightrag_webui/src/locales/en.json +++ b/lightrag_webui/src/locales/en.json @@ -147,7 +147,8 @@ "errors": { "loadFailed": "Failed to load documents\n{{error}}", "scanFailed": "Failed to scan documents\n{{error}}", - "scanProgressFailed": "Failed to get scan progress\n{{error}}" + "scanProgressFailed": "Failed to get scan progress\n{{error}}", + "missingSchemeId": "Lack of solution, please select a solution" }, "fileNameLabel": "File Name", "showButton": "Show", @@ -429,6 +430,7 @@ "selectSchemePrompt": "Please select or create a scheme first", "processingFramework": "Processing Framework", "extractionTool": "Extraction Tool", + "modelSource": "Model Source", "errors": { "loadFailed": "Failed to load schemes", "nameEmpty": "Scheme name cannot be empty", diff --git a/lightrag_webui/src/locales/fr.json b/lightrag_webui/src/locales/fr.json index fe62b192..9af6877b 100644 --- a/lightrag_webui/src/locales/fr.json +++ b/lightrag_webui/src/locales/fr.json @@ -147,7 +147,8 @@ "errors": { "loadFailed": "Échec du chargement des documents\n{{error}}", "scanFailed": "Échec de la numérisation des documents\n{{error}}", - "scanProgressFailed": "Échec de l'obtention de la progression de la numérisation\n{{error}}" + "scanProgressFailed": "Échec de l'obtention de la progression de la numérisation\n{{error}}", + "missingSchemeId": "Schéma de traitement manquant, veuillez sélectionner un schéma de traitement" }, "fileNameLabel": "Nom du fichier", "showButton": "Afficher", @@ -429,6 +430,7 @@ "selectSchemePrompt": "Veuillez d'abord sélectionner ou créer un schéma", "processingFramework": "Framework de traitement", "extractionTool": "Outil d'extraction", + "modelSource": "Source du modèle", "errors": { "loadFailed": "Échec du chargement des schémas", "nameEmpty": "Le nom du schéma ne peut pas être vide", diff --git a/lightrag_webui/src/locales/zh.json b/lightrag_webui/src/locales/zh.json index 97fe7573..84228960 100644 --- a/lightrag_webui/src/locales/zh.json +++ b/lightrag_webui/src/locales/zh.json @@ -147,7 +147,8 @@ "errors": { "loadFailed": "加载文档失败\n{{error}}", "scanFailed": "扫描文档失败\n{{error}}", - "scanProgressFailed": "获取扫描进度失败\n{{error}}" + "scanProgressFailed": "获取扫描进度失败\n{{error}}", + "missingSchemeId": "缺少处理方案,请选择处理方案" }, "fileNameLabel": "文件名", "showButton": "显示", @@ -429,6 +430,7 @@ "selectSchemePrompt": "请先选择或创建一个方案", "processingFramework": "处理框架", "extractionTool": "提取工具", + "modelSource": "模型源", "errors": { "loadFailed": "加载方案失败", "nameEmpty": "方案名称不能为空", diff --git a/lightrag_webui/src/locales/zh_TW.json b/lightrag_webui/src/locales/zh_TW.json index 646ea25d..6f124eba 100644 --- a/lightrag_webui/src/locales/zh_TW.json +++ b/lightrag_webui/src/locales/zh_TW.json @@ -147,7 +147,8 @@ "errors": { "loadFailed": "載入文件失敗\n{{error}}", "scanFailed": "掃描文件失敗\n{{error}}", - "scanProgressFailed": "取得掃描進度失敗\n{{error}}" + "scanProgressFailed": "取得掃描進度失敗\n{{error}}", + "missingSchemeId": "缺少處理方案,請選擇處理方案" }, "fileNameLabel": "檔案名稱", "showButton": "顯示", @@ -429,6 +430,7 @@ "selectSchemePrompt": "請先選擇或建立一個方案", "processingFramework": "處理框架", "extractionTool": "提取工具", + "modelSource": "模型源", "errors": { "loadFailed": "載入方案失敗", "nameEmpty": "方案名稱不能為空",