From 4de37362eb390dd7d11f8713a85d040405a9a4a6 Mon Sep 17 00:00:00 2001 From: weberm1 Date: Fri, 23 May 2025 10:51:00 +0200 Subject: [PATCH] Feat: Added indiviudal rag config - switch between default and individual --- .../Knowledge/CreateKnowledgeBase.svelte | 1039 ++++++++++++++--- 1 file changed, 909 insertions(+), 130 deletions(-) diff --git a/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte b/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte index e7c1248f5..3e113742d 100644 --- a/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte +++ b/src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte @@ -1,114 +1,304 @@
- + -
{ + { submitHandler(); }} - > -
-
- {$i18n.t('Create a knowledge base')} -
+ > +
+
+ {$i18n.t('Create a knowledge base')} +
-
-
-
{$i18n.t('What are you working on?')}
+
+
+
{$i18n.t('What are you working on?')}
-
- -
-
+
+ +
+
-
-
{$i18n.t('What are you trying to achieve?')}
+
+
{$i18n.t('What are you trying to achieve?')}
-
- +
+
+
+
@@ -120,46 +310,635 @@
-
-
- +
+
+ {$i18n.t('Enable Individual RAG Configuration')} + { + RAGConfig.DEFAULT_RAG_SETTINGS = !enableIndividualRagConfig; + }} + />
-
- +
+ + {#if enableIndividualRagConfig} +
+
+ {$i18n.t('Content Extraction Engine')} +
+
+ +
+
+
+ {#if RAGConfig.CONTENT_EXTRACTION_ENGINE === ''} +
+
+
+ {$i18n.t('PDF Extract Images (OCR)')} +
+
+ +
+
+
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'external'} +
+ + +
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'tika'} +
+
+ +
+
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'docling'} +
+ +
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'document_intelligence'} +
+ + +
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'mistral_ocr'} +
+ +
+ {/if} +
+ +
+
+ + {$i18n.t('Bypass Embedding and Retrieval')} + +
+
+ + + +
+
+ + {#if !RAGConfig.BYPASS_EMBEDDING_AND_RETRIEVAL} +
+
{$i18n.t('Text Splitter')}
+
+ +
+
+ +
+
+
+
+ {$i18n.t('Chunk Size')} +
+
+ +
+
+ +
+
+ {$i18n.t('Chunk Overlap')} +
+ +
+ +
+
+
+
+ {/if} + + {#if !RAGConfig.BYPASS_EMBEDDING_AND_RETRIEVAL} +
+
{$i18n.t('Embedding')}
+ +
+ +
+
+
+ {$i18n.t('Embedding Model Engine')} +
+
+ +
+
+ + {#if embeddingEngine === 'openai'} +
+ + + +
+ {:else if embeddingEngine === 'ollama'} +
+ + + +
+ {/if} +
+ +
+
{$i18n.t('Embedding Model')}
+ {#if $user?.role === 'admin'} +
+ {#if embeddingEngine === 'ollama'} +
+
+ +
+
+ {:else} +
+
+ +
+ + {#if embeddingEngine === ''} + + {/if} +
+ {/if} +
+ {/if} +
+
+ +
+
+
+ {$i18n.t( + 'Warning: If you update or change your embedding model, you will need to re-import all documents.' + )} +
+
+ + {#if embeddingEngine === 'ollama' || embeddingEngine === 'openai'} +
+
+ {$i18n.t('Embedding Batch Size')} +
+ +
+ +
+
+ {/if} +
+ +
+
{$i18n.t('Retrieval')}
+ +
+ +
+
{$i18n.t('Full Context Mode')}
+
+ + + +
+
+ + {#if !RAGConfig.RAG_FULL_CONTEXT} +
+
{$i18n.t('Hybrid Search')}
+
+ { + if (!RAGConfig.ENABLE_RAG_HYBRID_SEARCH) { + RAGConfig.RAG_RERANKING_MODEL = ""; + } + }} + /> +
+
+ + {#if RAGConfig.ENABLE_RAG_HYBRID_SEARCH === true} +
+
+
+ {$i18n.t('Reranking Engine')} +
+
+ +
+
+ + {#if RAGConfig.RAG_RERANKING_ENGINE === 'external'} +
+ + + +
+ {/if} +
+
+
{$i18n.t('Reranking Model')}
+ {#if $user?.role === 'admin'} +
+
+
+ { + }} + /> +
+
+
+ {/if} +
+
+ +
+
+
+ {/if} + +
+
{$i18n.t('Top K')}
+
+ +
+
+ + {#if RAGConfig.ENABLE_RAG_HYBRID_SEARCH === true} +
+
{$i18n.t('Top K Reranker')}
+
+ +
+
+ {/if} + + {#if RAGConfig.ENABLE_RAG_HYBRID_SEARCH === true} +
+
+
+ {$i18n.t('Relevance Threshold')} +
+
+ +
+
+
+ {$i18n.t( + 'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.' + )} +
+
+ {/if} + {/if} + +
+
{$i18n.t('RAG Template')}
+
+ +