Skip to content

Commit b1c2536

Browse files
committed
refac
1 parent 91762ed commit b1c2536

3 files changed

Lines changed: 17 additions & 1 deletion

File tree

backend/open_webui/retrieval/loaders/external_document.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import requests
77
from langchain_core.document_loaders import BaseLoader
88
from langchain_core.documents import Document
9-
from open_webui.utils.headers import include_user_info_headers
9+
from open_webui.utils.headers import get_custom_headers, include_user_info_headers
1010

1111
log = logging.getLogger(__name__)
1212

@@ -19,6 +19,8 @@ def __init__(
1919
api_key: str,
2020
mime_type=None,
2121
user=None,
22+
headers=None,
23+
metadata=None,
2224
**kwargs,
2325
) -> None:
2426
self.url = url
@@ -28,6 +30,8 @@ def __init__(
2830
self.mime_type = mime_type
2931

3032
self.user = user
33+
self.headers = headers
34+
self.metadata = metadata
3135

3236
def load(self) -> List[Document]:
3337
with open(self.file_path, 'rb') as f:
@@ -45,6 +49,8 @@ def load(self) -> List[Document]:
4549
except Exception:
4650
pass
4751

52+
headers.update(get_custom_headers(self.headers, self.user, self.metadata))
53+
4854
if self.user is not None:
4955
headers = include_user_info_headers(headers, self.user)
5056

backend/open_webui/retrieval/loaders/main.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ class Loader:
229229
def __init__(self, engine: str = '', **kwargs):
230230
self.engine = engine
231231
self.user = kwargs.get('user', None)
232+
self.metadata = kwargs.get('metadata', {})
232233
self.kwargs = kwargs
233234

234235
def load(self, filename: str, file_content_type: str, file_path: str) -> list[Document]:
@@ -404,6 +405,12 @@ def _get_loader(self, filename: str, file_content_type: str, file_path: str):
404405
api_key=self.kwargs.get('EXTERNAL_DOCUMENT_LOADER_API_KEY'),
405406
mime_type=file_content_type,
406407
user=self.user,
408+
headers=self.kwargs.get('EXTERNAL_DOCUMENT_LOADER_HEADERS'),
409+
metadata={
410+
**self.metadata,
411+
'file_name': filename,
412+
'file_content_type': file_content_type,
413+
},
407414
)
408415
elif self.engine == 'tika' and self.kwargs.get('TIKA_SERVER_URL'):
409416
if self._is_text_file(file_ext, file_content_type):

backend/open_webui/utils/headers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ def get_custom_headers(custom_headers: dict, user=None, metadata: dict = None) -
7575
'{{MESSAGE_ID}}': metadata.get('message_id', '') or '',
7676
'{{USER_MESSAGE_ID}}': user_message_id or '',
7777
'{{USER_MESSAGE_PARENT_ID}}': user_message_parent_id or '',
78+
'{{FILE_ID}}': metadata.get('file_id', '') or '',
79+
'{{FILE_NAME}}': metadata.get('file_name', '') or '',
80+
'{{FILE_CONTENT_TYPE}}': metadata.get('file_content_type', '') or '',
7881
'{{TASK}}': metadata.get('task', '') or '',
7982
'{{USER_ID}}': (user.id if user else '') or '',
8083
'{{USER_NAME}}': (user.name if user else '') or '',

0 commit comments

Comments
 (0)