Nelson AI is a self-evolving, trilingual (Kinyarwanda, English, French) language model trained entirely from scratch. It features a custom transformer architecture, offline tool-calling, live internet access, and a background evolution engine that continuously learns from conversations and web data.
# Nelson AI 🇷🇼
> ⚠️ **WORK IN PROGRESS:** This artificial intelligence model is currently in active development. It is still learning and undergoing alignment fine-tuning. Responses may be inaccurate, experimental, or incomplete.
**A Self-Evolving, Internet-Aware Trilingual AI — Trained From Scratch**
Nelson is a custom-built GPT-style transformer trained natively on **Kinyarwanda, English, and French**.
It features live internet access via tool-calling and a self-evolution engine that continuously improves from new conversations and web data.
> **Language behavior:** Nelson detects which language you're using and responds in the same language.
> It defaults to Kinyarwanda and has Kinyarwanda as its primary identity.
---
## 🚀 Full Training Pipeline
### Step 1 — Environment Setup (Python 3.11)
*Note: PyTorch CUDA requires Python 3.9 - 3.12. Ensure you are using Python 3.11!*
```powershell
# Create and activate a Python 3.11 virtual environment
py -3.11 -m venv venv
venv\Scripts\activate
# Install PyTorch with CUDA 12.1 (for Quadro T2000)
pip install torch torchvision torchaudio --index-url
download.pytorch.org
# Install other dependencies
pip install -r requirements.txt
```
### Step 2 — Download Multilingual Data
Uses direct Parquet downloads and streaming to pull high-quality data from Wikipedia, OPUS-100, Wikitext, and TinyStories.
```powershell
python data_collection/download_data.py
```
### Step 3 — Clean and Balance Corpus
Cleans text and strictly balances the final corpus to **60% Kinyarwanda, 25% English, 15% French**.
```powershell
python data_collection/clean_text.py
```
### Step 4 — Train the Tokenizer
Learns a custom 32,000-token BPE vocabulary covering all three languages.
```powershell
python tokenizer/train_tokenizer.py
```
### Step 5 — Tokenize the Dataset
Converts text into fast, binary `.npy` format for rapid training.
```powershell
python training/tokenize_dataset.py
```
### Step 6 — Train Nelson 🧠
Fully custom traini …