diff --git a/backend/open_webui/retrieval/loaders/main.py b/backend/open_webui/retrieval/loaders/main.py index 241cd7dbe8..c301d0b7c8 100644 --- a/backend/open_webui/retrieval/loaders/main.py +++ b/backend/open_webui/retrieval/loaders/main.py @@ -4,6 +4,7 @@ import ftfy import sys import json +from azure.identity import DefaultAzureCredential from langchain_community.document_loaders import ( AzureAIDocumentIntelligenceLoader, BSHTMLLoader, @@ -327,7 +328,6 @@ class Loader: elif ( self.engine == "document_intelligence" and self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT") != "" - and self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY") != "" and ( file_ext in ["pdf", "xls", "xlsx", "docx", "ppt", "pptx"] or file_content_type @@ -340,11 +340,18 @@ class Loader: ] ) ): - loader = AzureAIDocumentIntelligenceLoader( - file_path=file_path, - api_endpoint=self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT"), - api_key=self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY"), - ) + if self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY") != "": + loader = AzureAIDocumentIntelligenceLoader( + file_path=file_path, + api_endpoint=self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT"), + api_key=self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY"), + ) + else: + loader = AzureAIDocumentIntelligenceLoader( + file_path=file_path, + api_endpoint=self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT"), + azure_credential=DefaultAzureCredential(), + ) elif ( self.engine == "mistral_ocr" and self.kwargs.get("MISTRAL_OCR_API_KEY") != "" diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte index f6e0fa9659..d3a244fa45 100644 --- a/src/lib/components/admin/Settings/Documents.svelte +++ b/src/lib/components/admin/Settings/Documents.svelte @@ -185,10 +185,9 @@ if ( RAGConfig.CONTENT_EXTRACTION_ENGINE === 'document_intelligence' && - (RAGConfig.DOCUMENT_INTELLIGENCE_ENDPOINT === '' || - RAGConfig.DOCUMENT_INTELLIGENCE_KEY === '') + RAGConfig.DOCUMENT_INTELLIGENCE_ENDPOINT === '' ) { - toast.error($i18n.t('Document Intelligence endpoint and key required.')); + toast.error($i18n.t('Document Intelligence endpoint required.')); return; } if ( @@ -644,6 +643,7 @@ {:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'mistral_ocr'}