diff --git a/backend/app/services/llamaparse_service.py b/backend/app/services/llamaparse_service.py index 465b6fd..e5119da 100644 --- a/backend/app/services/llamaparse_service.py +++ b/backend/app/services/llamaparse_service.py @@ -57,9 +57,21 @@ class LlamaParseService: # Extract markdown from all pages if result.markdown and result.markdown.pages: - pages = [page.markdown for page in result.markdown.pages if page.markdown] + pages = [] + for i, page in enumerate(result.markdown.pages): + if hasattr(page, "markdown") and page.markdown: + pages.append(page.markdown) + else: + # Log full details of failed pages for troubleshooting + logger.error( + f"[LLAMAPARSE] Page {i} failed for '{filename}': " + f"type={type(page).__name__}, attrs={vars(page) if hasattr(page, '__dict__') else repr(page)}" + ) + if not pages: + logger.warning(f"[LLAMAPARSE] All {len(result.markdown.pages)} pages failed for '{filename}'") + return "" combined = "\n\n".join(pages) - logger.info(f"[LLAMAPARSE] Parsed '{filename}' -> {len(combined)} chars from {len(pages)} pages") + logger.info(f"[LLAMAPARSE] Parsed '{filename}' -> {len(combined)} chars from {len(pages)}/{len(result.markdown.pages)} pages") return combined logger.warning(f"[LLAMAPARSE] No markdown content returned for '{filename}'")