An AI-powered African news intelligence platform that transforms news into contextual insights using Retrieval-Augmented Generation (RAG), semantic search, knowledge graphs, trend detection, and historical analysis. Built for journalists, researchers, policymakers, and media organizations.
# African News Intelligence Platform
> A sovereign, Africa-native AI system that understands news the way an African journalist thinks — with historical memory, regional context, and the ability to connect dots across time, countries, and economic realities.
---
## Quick Start
### Prerequisites
- Python 3.10+
- 8GB RAM minimum (16GB recommended for local model)
- Optional: CUDA GPU for faster inference
### Installation
```bash
# Clone the repo
git clone
github.com
cd african-news-intel
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Download spaCy model
python -m spacy download en_core_web_sm
# Set up environment
cp .env.example .env
# Edit .env with your API keys (see Configuration section)
# Initialize the database
python scripts/init_db.py
# Seed sample data
python scripts/seed_data.py
# Start the platform
python run.py
```
Open
localhost
---
## Architecture
```
african-news-intel/
├── ingestion/ # Layer 1: Data ingestion & archive
│ ├── scraper.py # RSS + web scraper
│ ├── embedder.py # Vector embedding generator
│ └── scheduler.py # Cron-based ingestion scheduler
│
├── intelligence/ # Layer 2: AI Intelligence Core
│ ├── rag.py # Retrieval-Augmented Generation engine
│ ├── relations.py # Relation & knowledge graph engine
│ ├── comparisons.py # Peer country comparison engine
│ ├── patterns.py # Trend & pattern detection
│ └── llm.py # LLM abstraction layer
│
├── core/ # Shared utilities
│ ├── database.py # PostgreSQL + ChromaDB connectors
│ ├── models.py # SQLAlchemy data models
│ └── config.py # Configuration management
│
├── api/ # Layer 4: REST API
│ ├── routes.py # All API endpoints
│ └── middleware.py # Auth, rate limiting, …