Instructions to use CaseLoop/rights-navigator with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use CaseLoop/rights-navigator with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("CaseLoop/rights-navigator") model = AutoModelForSeq2SeqLM.from_pretrained("CaseLoop/rights-navigator", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download pdf_simplifier_module/src/pdf_extractor.py from CaseLoop/rights-navigator: direct link, hf CLI and curl.
- Browser
- Download file 916 Bytes
-
https://huggingface.co/CaseLoop/rights-navigator/resolve/main/pdf_simplifier_module/src/pdf_extractor.py
- Command line
-
hf download hf://CaseLoop/rights-navigator/pdf_simplifier_module/src/pdf_extractor.py
-
curl -L -o pdf_extractor.py https://huggingface.co/CaseLoop/rights-navigator/resolve/main/pdf_simplifier_module/src/pdf_extractor.py
916 Bytes
| import pymupdf | |
| import re | |
| def extract_pdf_chunks(pdf_path: str, chunk_size: int = 200, max_chunks: int = 5) -> list[str]: | |
| doc = pymupdf.open(pdf_path) | |
| clean_paragraphs = [] | |
| for page in doc: | |
| text = page.get_text("text") | |
| # Split into logical lines/paragraphs | |
| lines = [line.strip() for line in text.split("\n") if line.strip()] | |
| for line in lines: | |
| # Skip short index table rows, page numbers, and headers | |
| if len(line.split()) < 8 or re.search(r'(\bPage\b|\bS\.No\b|\bLPA NO\b|\bWP\(C\)\b)', line, re.IGNORECASE): | |
| continue | |
| clean_paragraphs.append(line) | |
| full_text = " ".join(clean_paragraphs) | |
| words = full_text.split() | |
| if not words: | |
| return [] | |
| chunks = [" ".join(words[i:i + chunk_size]) for i in range(0, len(words), chunk_size)] | |
| return chunks[:max_chunks] |