diff --git a/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte b/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte
index 36d71469a..094c5337d 100644
--- a/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte
+++ b/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte
@@ -256,7 +256,21 @@
// update ragconfig to load reranker
const backendRAGConfig = { ...filteredRAGConfig, knowledge_id: res.id };
- await updateRAGConfig(localStorage.token, backendRAGConfig);
+ await updateRAGConfig(localStorage.token, {
+ ...backendRAGConfig,
+ ALLOWED_FILE_EXTENSIONS: backendRAGConfig.ALLOWED_FILE_EXTENSIONS.split(',')
+ .map((ext) => ext.trim())
+ .filter((ext) => ext !== ''),
+ DATALAB_MARKER_LANGS: backendRAGConfig.DATALAB_MARKER_LANGS.split(',')
+ .map((code) => code.trim())
+ .filter((code) => code !== '')
+ .join(', '),
+ DOCLING_PICTURE_DESCRIPTION_LOCAL: JSON.parse(
+ backendRAGConfig.DOCLING_PICTURE_DESCRIPTION_LOCAL || '{}'
+ ),
+ DOCLING_PICTURE_DESCRIPTION_API: JSON.parse(backendRAGConfig.DOCLING_PICTURE_DESCRIPTION_API || '{}')
+ }
+ );
}
}
}
@@ -547,13 +561,101 @@
{:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'docling'}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {$i18n.t('Describe Pictures in Documents')}
+
+
+
+
+
+
+ {#if RAGConfig.DOCLING_DO_PICTURE_DESCRIPTION}
+
+
+
+ {$i18n.t('Picture Description Mode')}
+
+
+
+
+
+
+
+ {#if RAGConfig.DOCLING_PICTURE_DESCRIPTION_MODE === 'local'}
+
+
+
+ {$i18n.t('Picture Description Local Config')}
+
+
+
+
+
+
+
+
+ {:else if RAGConfig.DOCLING_PICTURE_DESCRIPTION_MODE === 'api'}
+
+
+
+ {$i18n.t('Picture Description API Config')}
+
+
+
+
+
+
+
+
+ {/if}
+ {/if}
{:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'document_intelligence'}
{
- if (!RAGConfig.ENABLE_RAG_HYBRID_SEARCH) {
- RAGConfig.RAG_RERANKING_MODEL = "";
- }
- }}
/>
diff --git a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte
index 0bd9f8657..0cebec82d 100644
--- a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte
+++ b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte
@@ -582,6 +582,18 @@
if (res) {
knowledge = res;
+ knowledge.rag_config.ALLOWED_FILE_EXTENSIONS = (config?.ALLOWED_FILE_EXTENSIONS ?? []).join(', ');
+
+ knowledge.rag_config.DOCLING_PICTURE_DESCRIPTION_LOCAL = JSON.stringify(
+ config.DOCLING_PICTURE_DESCRIPTION_LOCAL ?? {},
+ null,
+ 2
+ );
+ knowledge.rag_config.DOCLING_PICTURE_DESCRIPTION_API = JSON.stringify(
+ config.DOCLING_PICTURE_DESCRIPTION_API ?? {},
+ null,
+ 2
+ );
} else {
goto('/workspace/knowledge');
}
diff --git a/src/lib/components/workspace/common/RagConfigModal.svelte b/src/lib/components/workspace/common/RagConfigModal.svelte
index 006ffc557..a1549ff62 100644
--- a/src/lib/components/workspace/common/RagConfigModal.svelte
+++ b/src/lib/components/workspace/common/RagConfigModal.svelte
@@ -249,7 +249,20 @@
// Create the filtered RAGConfig for backend updates
const backendRAGConfig = { ...filteredRAGConfig, knowledge_id: knowledgeId };
- await updateRAGConfig(localStorage.token, backendRAGConfig)
+ await updateRAGConfig(localStorage.token, {
+ ...backendRAGConfig,
+ ALLOWED_FILE_EXTENSIONS: backendRAGConfig.ALLOWED_FILE_EXTENSIONS.split(',')
+ .map((ext) => ext.trim())
+ .filter((ext) => ext !== ''),
+ DATALAB_MARKER_LANGS: backendRAGConfig.DATALAB_MARKER_LANGS.split(',')
+ .map((code) => code.trim())
+ .filter((code) => code !== '')
+ .join(', '),
+ DOCLING_PICTURE_DESCRIPTION_LOCAL: JSON.parse(
+ backendRAGConfig.DOCLING_PICTURE_DESCRIPTION_LOCAL || '{}'
+ ),
+ DOCLING_PICTURE_DESCRIPTION_API: JSON.parse(backendRAGConfig.DOCLING_PICTURE_DESCRIPTION_API || '{}')
+ })
if (!localRAGConfig.BYPASS_EMBEDDING_AND_RETRIEVAL) {
await embeddingModelUpdateHandler();
@@ -494,14 +507,102 @@
/>
- {:else if localRAGConfig.CONTENT_EXTRACTION_ENGINE === 'docling'}
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'docling'}
+
+
+
+
+
+
+
+
+ {$i18n.t('Describe Pictures in Documents')}
+
+
+
+
+
+
+ {#if RAGConfig.DOCLING_DO_PICTURE_DESCRIPTION}
+
+
+
+ {$i18n.t('Picture Description Mode')}
+
+
+
+
+
+
+
+ {#if RAGConfig.DOCLING_PICTURE_DESCRIPTION_MODE === 'local'}
+
+
+
+ {$i18n.t('Picture Description Local Config')}
+
+
+
+
+
+
+
+
+ {:else if RAGConfig.DOCLING_PICTURE_DESCRIPTION_MODE === 'api'}
+
+
+
+ {$i18n.t('Picture Description API Config')}
+
+
+
+
+
+
+
+
+ {/if}
+ {/if}
{:else if localRAGConfig.CONTENT_EXTRACTION_ENGINE === 'document_intelligence'}
{
- if (!localRAGConfig.ENABLE_RAG_HYBRID_SEARCH) {
- localRAGConfig.RAG_RERANKING_MODEL = "";
- }
- }}
/>