Skip to content

Commit caadfde

Browse files
tjbckjannikstdl
andcommitted
refac
Co-Authored-By: Jannik S. <jannik@streidl.dev>
1 parent 9af700c commit caadfde

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

  • backend/open_webui/retrieval/loaders

backend/open_webui/retrieval/loaders/main.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ def __init__(self, url, api_key=None, file_path=None, mime_type=None, params=Non
188188
self.params = params or {}
189189

190190
def load(self) -> list[Document]:
191+
page_break_marker = '\f'
191192
with open(self.file_path, 'rb') as f:
192193
headers = {}
193194
if self.api_key:
@@ -204,6 +205,7 @@ def load(self) -> list[Document]:
204205
},
205206
data={
206207
'image_export_mode': 'placeholder',
208+
'md_page_break_placeholder': page_break_marker,
207209
**self.params,
208210
},
209211
headers=headers,
@@ -212,9 +214,19 @@ def load(self) -> list[Document]:
212214
if r.ok:
213215
result = r.json()
214216
document_data = result.get('document', {})
215-
text = document_data.get('md_content', '<No text content found>')
217+
md_content = document_data.get('md_content', '')
218+
text = md_content or '<No text content found>'
216219

217220
metadata = {'Content-Type': self.mime_type} if self.mime_type else {}
221+
if page_break_marker in md_content:
222+
documents = [
223+
Document(page_content=page.strip(), metadata={**metadata, 'page': page_idx})
224+
for page_idx, page in enumerate(md_content.split(page_break_marker))
225+
if page.strip()
226+
]
227+
if documents:
228+
log.debug('Docling extracted text: %s', text)
229+
return documents
218230

219231
log.debug('Docling extracted text: %s', text)
220232
return [Document(page_content=text, metadata=metadata)]

0 commit comments

Comments
 (0)