refac
This commit is contained in:
1 parent
91762ed807
commit
b1c2536ed2
3 files changed
+17
-1
No files matched your search
@@ -6,7 +6,7 @@ from urllib.parse import quote
|
|||||||
import requests
|
import requests
|
||||||
from langchain_core.document_loaders import BaseLoader
|
from langchain_core.document_loaders import BaseLoader
|
||||||
from langchain_core.documents import Document
|
from langchain_core.documents import Document
|
||||||
from open_webui.utils.headers import include_user_info_headers
|
from open_webui.utils.headers import get_custom_headers, include_user_info_headers
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -19,6 +19,8 @@ class ExternalDocumentLoader(BaseLoader):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
mime_type=None,
|
mime_type=None,
|
||||||
user=None,
|
user=None,
|
||||||
|
headers=None,
|
||||||
|
metadata=None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> None:
|
) -> None:
|
||||||
self.url = url
|
self.url = url
|
||||||
@@ -28,6 +30,8 @@ class ExternalDocumentLoader(BaseLoader):
|
|||||||
self.mime_type = mime_type
|
self.mime_type = mime_type
|
||||||
|
|
||||||
self.user = user
|
self.user = user
|
||||||
|
self.headers = headers
|
||||||
|
self.metadata = metadata
|
||||||
|
|
||||||
def load(self) -> List[Document]:
|
def load(self) -> List[Document]:
|
||||||
with open(self.file_path, 'rb') as f:
|
with open(self.file_path, 'rb') as f:
|
||||||
@@ -45,6 +49,8 @@ class ExternalDocumentLoader(BaseLoader):
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
headers.update(get_custom_headers(self.headers, self.user, self.metadata))
|
||||||
|
|
||||||
if self.user is not None:
|
if self.user is not None:
|
||||||
headers = include_user_info_headers(headers, self.user)
|
headers = include_user_info_headers(headers, self.user)
|
||||||
|
|
||||||
|
|||||||
@@ -229,6 +229,7 @@ class Loader:
|
|||||||
def __init__(self, engine: str = '', **kwargs):
|
def __init__(self, engine: str = '', **kwargs):
|
||||||
self.engine = engine
|
self.engine = engine
|
||||||
self.user = kwargs.get('user', None)
|
self.user = kwargs.get('user', None)
|
||||||
|
self.metadata = kwargs.get('metadata', {})
|
||||||
self.kwargs = kwargs
|
self.kwargs = kwargs
|
||||||
|
|
||||||
def load(self, filename: str, file_content_type: str, file_path: str) -> list[Document]:
|
def load(self, filename: str, file_content_type: str, file_path: str) -> list[Document]:
|
||||||
@@ -404,6 +405,12 @@ class Loader:
|
|||||||
api_key=self.kwargs.get('EXTERNAL_DOCUMENT_LOADER_API_KEY'),
|
api_key=self.kwargs.get('EXTERNAL_DOCUMENT_LOADER_API_KEY'),
|
||||||
mime_type=file_content_type,
|
mime_type=file_content_type,
|
||||||
user=self.user,
|
user=self.user,
|
||||||
|
headers=self.kwargs.get('EXTERNAL_DOCUMENT_LOADER_HEADERS'),
|
||||||
|
metadata={
|
||||||
|
**self.metadata,
|
||||||
|
'file_name': filename,
|
||||||
|
'file_content_type': file_content_type,
|
||||||
|
},
|
||||||
)
|
)
|
||||||
elif self.engine == 'tika' and self.kwargs.get('TIKA_SERVER_URL'):
|
elif self.engine == 'tika' and self.kwargs.get('TIKA_SERVER_URL'):
|
||||||
if self._is_text_file(file_ext, file_content_type):
|
if self._is_text_file(file_ext, file_content_type):
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ def get_custom_headers(custom_headers: dict, user=None, metadata: dict = None) -
|
|||||||
'{{MESSAGE_ID}}': metadata.get('message_id', '') or '',
|
'{{MESSAGE_ID}}': metadata.get('message_id', '') or '',
|
||||||
'{{USER_MESSAGE_ID}}': user_message_id or '',
|
'{{USER_MESSAGE_ID}}': user_message_id or '',
|
||||||
'{{USER_MESSAGE_PARENT_ID}}': user_message_parent_id or '',
|
'{{USER_MESSAGE_PARENT_ID}}': user_message_parent_id or '',
|
||||||
|
'{{FILE_ID}}': metadata.get('file_id', '') or '',
|
||||||
|
'{{FILE_NAME}}': metadata.get('file_name', '') or '',
|
||||||
|
'{{FILE_CONTENT_TYPE}}': metadata.get('file_content_type', '') or '',
|
||||||
'{{TASK}}': metadata.get('task', '') or '',
|
'{{TASK}}': metadata.get('task', '') or '',
|
||||||
'{{USER_ID}}': (user.id if user else '') or '',
|
'{{USER_ID}}': (user.id if user else '') or '',
|
||||||
'{{USER_NAME}}': (user.name if user else '') or '',
|
'{{USER_NAME}}': (user.name if user else '') or '',
|
||||||
|
|||||||
Reference in new issue
Block a user