Spaces:
Sleeping
Sleeping
Download src/loader.py from thaidinhz1/rag-vietnamese: direct link, hf CLI and curl.
- Browser
- Download file 1.18 kB
-
https://huggingface.co/spaces/thaidinhz1/rag-vietnamese/resolve/af92b4d4054d18f33dedfaeacdbb504078b2e72c/src/loader.py
- Command line
-
hf download hf://spaces/thaidinhz1/rag-vietnamese@af92b4d4054d18f33dedfaeacdbb504078b2e72c/src/loader.py
-
curl -L -o loader.py https://huggingface.co/spaces/thaidinhz1/rag-vietnamese/resolve/af92b4d4054d18f33dedfaeacdbb504078b2e72c/src/loader.py
1.18 kB
| from pathlib import Path | |
| from pypdf import PdfReader | |
| def load_pdf(file_path: str) -> list[dict]: | |
| """Đọc PDF, trả về list các trang với text + metadata.""" | |
| path = Path(file_path) | |
| reader = PdfReader(str(path)) | |
| pages = [] | |
| for i, page in enumerate(reader.pages): | |
| text = page.extract_text() or "" | |
| text = text.strip() | |
| if not text: | |
| continue | |
| pages.append({ | |
| "text": text, | |
| "metadata": { | |
| "source": path.name, | |
| "page": i + 1, | |
| "total_pages": len(reader.pages), | |
| } | |
| }) | |
| return pages | |
| def load_folder(folder_path: str) -> list[dict]: | |
| """Đọc tất cả PDF trong thư mục.""" | |
| folder = Path(folder_path) | |
| all_pages = [] | |
| pdf_files = list(folder.glob("*.pdf")) | |
| print(f"Tìm thấy {len(pdf_files)} file PDF") | |
| for pdf_path in pdf_files: | |
| try: | |
| pages = load_pdf(str(pdf_path)) | |
| all_pages.extend(pages) | |
| print(f" Loaded: {pdf_path.name} ({len(pages)} trang)") | |
| except Exception as e: | |
| print(f" Lỗi {pdf_path.name}: {e}") | |
| return all_pages |