# π° Tigrinya News
**Browse Haddas Ertra and ask questions in Tigrinya or Englishβpowered by RAG and the Ge'ez script.**
A full pipeline for **Tigrinya news**: scrape PDFs from Haddas Ertra, extract and clean Ge'ez text, embed with **LlamaIndex** + **Gemini**, store in **Qdrant**, and query via a **React + FastAPI** app. Built for researchers, linguists, and anyone working with Tigrinya NLP and low-resource language tech.
---
## β¨ What You Can Do
| **In the app** | **In Script Runner** |
|----------------|----------------------|
| π Browse scraped articles with full text and metadata | π·οΈ Download Haddas Ertra PDFs (configurable limit) |
| π Copy text, run word frequency, stats, sentence extraction | π Extract Ge'ez text, NER, image descriptions β `raw_data.json` |
| π€ **Ask questions in Tigrinya or English**βanswers from the ingested corpus (RAG) | π¦ Ingest into Qdrant (LlamaIndex + Gemini embeddings) |
| π Semantic search over the news corpus | β
Check Qdrant, validate metadata and raw data |
The **app** (React + FastAPI) is for **reading and asking**. The **Script Runner** (or CLI) is for **scraping, processing, and ingesting**. Run the pipeline once (or periodically), then use the app to explore and query.
---
## ποΈ How It Fits Together
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Pipeline UI:
localhost (or script_runner β
β on :8765) β Scraper, PDF Processor, Llama Ingest β
βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
βΌ
pdf_metadata.json raw_data.json Qdrant
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β App:
localhost (backend :8000) β
β Articles (browse, copy, NLP tools) + Ask (RAG) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
---
## π οΈ Tech Stack
- **Frontend:** React, TypeScript, Vite
- **Backend:** FastAPI, Python 3.8+
- **Scraping:** Playwri β¦