+
+
+
+
+ {$i18n.t('RAG Configuration')}
+
+
{
+ show = false;
+ resetLocalState();
+ }}
+ >
+
+
+
+
+
+
+
+
+
+ {$i18n.t('Content Extraction Engine')}
+
+
+
+ {$i18n.t('Default')}
+ {$i18n.t('External')}
+ {$i18n.t('Tika')}
+ {$i18n.t('Docling')}
+ {$i18n.t('Document Intelligence')}
+ {$i18n.t('Mistral OCR')}
+
+
+
+
+ {#if localRAGConfig.CONTENT_EXTRACTION_ENGINE === ''}
+
+
+
+ {$i18n.t('PDF Extract Images (OCR)')}
+
+
+
+
+
+
+ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'external'}
+
+
+
+
+ {:else if localRAGConfig.CONTENT_EXTRACTION_ENGINE === 'tika'}
+
+ {:else if localRAGConfig.CONTENT_EXTRACTION_ENGINE === 'docling'}
+
+
+
+ {:else if localRAGConfig.CONTENT_EXTRACTION_ENGINE === 'document_intelligence'}
+
+
+
+
+ {:else if localRAGConfig.CONTENT_EXTRACTION_ENGINE === 'mistral_ocr'}
+
+
+
+ {/if}
+
+
+
+
+
+ {$i18n.t('Bypass Embedding and Retrieval')}
+
+
+
+
+
+
+
+
+
+ {#if !localRAGConfig.BYPASS_EMBEDDING_AND_RETRIEVAL}
+
+
{$i18n.t('Text Splitter')}
+
+
+ {$i18n.t('Default')} ({$i18n.t('Character')})
+ {$i18n.t('Token')} ({$i18n.t('Tiktoken')})
+
+
+
+
+
+
+
+
+ {$i18n.t('Chunk Size')}
+
+
+
+
+
+
+
+
+ {$i18n.t('Chunk Overlap')}
+
+
+
+
+
+
+
+
+ {/if}
+
+ {#if !localRAGConfig.BYPASS_EMBEDDING_AND_RETRIEVAL}
+
+
{$i18n.t('Embedding')}
+
+
+
+
+
+
+ {$i18n.t('Embedding Model Engine')}
+
+
+ {
+ if (e.target.value === 'ollama') {
+ embeddingModel = '';
+ } else if (e.target.value === 'openai') {
+ embeddingModel = 'text-embedding-3-small';
+ } else if (e.target.value === '') {
+ embeddingModel = 'sentence-transformers/all-MiniLM-L6-v2';
+ }
+ }}
+ >
+ {$i18n.t('Default (SentenceTransformers)')}
+ {$i18n.t('Ollama')}
+ {$i18n.t('OpenAI')}
+
+
+
+
+ {#if embeddingEngine === 'openai'}
+
+
+
+
+
+ {:else if embeddingEngine === 'ollama'}
+
+
+
+
+
+ {/if}
+
+
+
+
{$i18n.t('Embedding Model')}
+ {#if $user?.role === 'admin'}
+
+ {#if embeddingEngine === 'ollama'}
+
+ {:else}
+
+
+ {
+ }}
+ />
+
+
+ {#if embeddingEngine === ''}
+
{
+ embeddingModelUpdateHandler();
+ }}
+ disabled={updateEmbeddingModelLoading}
+ >
+ {#if updateEmbeddingModelLoading}
+
+ {:else}
+
+
+
+
+ {/if}
+
+ {/if}
+
+ {/if}
+
+ {/if}
+
+
+
+
+ {$i18n.t('Select embedding model')}
+
+ {#if embeddingModel && embeddingModel.trim() !== ''}
+
+ {embeddingModel}
+ {#if embeddingEngine &&
+ localRAGConfig.DOWNLOADED_EMBEDDING_MODELS[embeddingEngine] &&
+ !localRAGConfig.DOWNLOADED_EMBEDDING_MODELS[embeddingEngine]?.includes(embeddingModel)}
+ (custom)
+ {/if}
+
+ {/if}
+
+
+ {#if embeddingEngine && localRAGConfig.DOWNLOADED_EMBEDDING_MODELS[embeddingEngine]}
+ {#each localRAGConfig.DOWNLOADED_EMBEDDING_MODELS[embeddingEngine] as model}
+ {#if model !== embeddingModel}
+ {model}
+ {/if}
+ {/each}
+ {/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 !localRAGConfig.RAG_FULL_CONTEXT}
+
+
{$i18n.t('Hybrid Search')}
+
+ {
+ if (!localRAGConfig.ENABLE_RAG_HYBRID_SEARCH) {
+ localRAGConfig.RAG_RERANKING_MODEL = "";
+ }
+ }}
+ />
+
+
+
+ {#if localRAGConfig.ENABLE_RAG_HYBRID_SEARCH === true}
+
+
+
+ {$i18n.t('Reranking Engine')}
+
+
+ {
+ if (e.target.value === 'external') {
+ localRAGConfig.RAG_RERANKING_MODEL = '';
+ } else if (e.target.value === '') {
+ localRAGConfig.RAG_RERANKING_MODEL = 'BAAI/bge-reranker-v2-m3';
+ }
+ }}
+ >
+ {$i18n.t('Default (SentenceTransformers)')}
+ {$i18n.t('External')}
+
+
+
+
+ {#if localRAGConfig.RAG_RERANKING_ENGINE === 'external'}
+
+
+
+
+
+ {/if}
+
+
+ {#if localRAGConfig.ENABLE_RAG_HYBRID_SEARCH === true}
+
+
{$i18n.t('Reranking Model')}
+ {#if $user?.role === 'admin'}
+
+ {/if}
+
+
+
+ {$i18n.t('Select reranking model')}
+
+ {#if localRAGConfig.RAG_RERANKING_MODEL && localRAGConfig.RAG_RERANKING_MODEL.trim() !== ''}
+
+ {localRAGConfig.RAG_RERANKING_MODEL}
+ {#if localRAGConfig.RAG_RERANKING_ENGINE !== undefined &&
+ localRAGConfig.DOWNLOADED_RERANKING_MODELS[localRAGConfig.RAG_RERANKING_ENGINE] &&
+ !localRAGConfig.DOWNLOADED_RERANKING_MODELS[localRAGConfig.RAG_RERANKING_ENGINE]?.some(model => model.RAG_RERANKING_MODEL === localRAGConfig.RAG_RERANKING_MODEL)}
+ (custom)
+ {/if}
+
+ {/if}
+
+
+ {#if localRAGConfig.RAG_RERANKING_ENGINE !== undefined && localRAGConfig.DOWNLOADED_RERANKING_MODELS[localRAGConfig.RAG_RERANKING_ENGINE]}
+ {#each localRAGConfig.DOWNLOADED_RERANKING_MODELS[localRAGConfig.RAG_RERANKING_ENGINE] as model}
+ {#if model !== localRAGConfig.RAG_RERANKING_MODEL}
+ {model}
+ {/if}
+ {/each}
+ {/if}
+
+
+
+
+ {/if}
+
+
+
{$i18n.t('Top K')}
+
+
+
+
+
+
+
{$i18n.t('Top K Reranker')}
+
+
+
+
+ {/if}
+
+ {#if localRAGConfig.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')}
+
+
+
+
+
+
+
+ {/if}
+
+ {
+ show = false;
+ onCancel();
+ }}
+ >
+ {$i18n.t('Cancel')}
+
+ {
+ show = false;
+ submitHandler()}}
+
+ >
+ {$i18n.t('Save')}
+
+
+
+
\ No newline at end of file