medical-guidelines-kg / src /ocr /base_parser.py
gitmodelmujtaba's picture
Deploy Medical Guidelines Knowledge Graph Explorer to Hugging Face Spaces
62c74ae
Raw History Blame Contribute Delete
743 Bytes
"""
Base Document Parser interface.
"""
from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import Dict, List, Optional, Any
@dataclass
class ParsedPage:
page_number: int
markdown_content: str
image_path: Optional[str] = None
bbox_metadata: List[Dict[str, Any]] = None
@dataclass
class ParsedDocument:
source_path: str
total_pages: int
full_markdown: str
pages: List[ParsedPage]
metadata: Dict[str, Any]
class BaseDocumentParser(ABC):
"""Abstract base class for converting document files to structured Markdown."""
@abstractmethod
def parse(self, file_path: str) -> ParsedDocument:
"""Parses a PDF or document into a ParsedDocument."""
pass