GraphResearcher / app /ingestion /markdown_parser.py
yugbirla's picture
Sync GraphRAG fusion quality cleanup and evaluation files
b7d0804
Raw
History Blame Contribute Delete
972 Bytes
from typing import List
from app.ingestion.base_parser import BaseParser
from app.schemas.rich_content_block import RichContentBlock
class MarkdownParser(BaseParser):
def parse(
self,
file_path: str,
document_id: str,
source_file_name: str
) -> List[RichContentBlock]:
with open(file_path, "r", encoding="utf-8", errors="ignore") as f:
text = f.read()
if not text.strip():
return []
return [
RichContentBlock(
block_id=f"{document_id}_markdown_block_1",
document_id=document_id,
content_type="text",
content=text,
page_number=None,
section_title=None,
source_file_name=source_file_name,
metadata={
"parser": "MarkdownParser",
"original_format": "markdown"
}
)
]