Logo Lanfrica

gy-gere/afribot-2063

Domaine:

educationnatural language processing

Type de record:

software
Créateur:
gy-
Hôte:
AfriBot-2063 is a hybrid AI-powered educational humanoid robot system designed for offline and online learning support in English and Amharic. It integrates RAG-based PDF knowledge retrieval, Ollama local LLMs, Gemini AI, speech interaction, and robotics control for TVET, engineering, and STEM education. # AfriBot-2063 Hybrid AI Teacher System 🤖🇪🇹 > A production-ready offline + online AI education system for Ethiopian students. > Teaches electrical machines, electronics, robotics and TVET content. > Supports **Amharic** and **English** — works offline in rural environments. --- ## Architecture Overview ``` User Input (voice/text) │ ▼ Language Detection (Amharic / English) │ ▼ RAG Retrieval ← ChromaDB ← machines_1.pdf (282 pages, Debre Berhan Univ.) │ ▼ AI Router ├── Internet available? → Google Gemini API (best Amharic + quality) │ └── on failure → Ollama local fallback └── No internet? → Ollama (tinyllama / phi) │ ▼ Response (same language as input) │ ▼ TTS Output (pyttsx3 offline / gTTS online for Amharic) ``` --- ## Project Structure ``` afribot_2063/ ├── main.py # Entry point ├── config.py # API keys, settings ├── requirements.txt # Python dependencies ├── data/pdfs/ # PDF knowledge base │ └── machines_1.pdf # Electrical Machines textbook (Debre Berhan Univ.) ├── db/chroma/ # Vector DB (auto-generated on first run) ├── models/ │ ├── gemini_llm.py # Google Gemini API (online) │ ├── local_llm.py # Ollama offline AI │ └── router.py # AI routing logic ├── rag/ │ ├── ingest.py # PDF → chunks → embeddings → ChromaDB │ └── query.py # Retrieve relevant context ├── speech/ │ ├── stt.py # Whisper speech-to-text │ └── tts.py # pyttsx3 / gTTS text-to-speech ├── language/ │ ├── detect.py # Amharic / English detection │ └── translate.py # Translation helpers ├── utils/ │ ├── internet.py # Connectivity check │ └── logger.py # Logging ├── robot/ │ ├── controller.py # AfriBot hardware abstraction │ └── io_handler.py # Mic / speaker / display └── tests/ ├── test_rag.py └── test_llm.py ``` --- ## Quick Start ### 1. Prerequisites …

Languages