Logo Lanfrica

Ganza-rgb/MineTech-Assessment

Domaine:

natural language processingdigital infrastructure

Type de record:

software
Créateur:
Gan
Hôte:
A localized AI-powered internal operations portal for mining incident triage and grounded technical document Q&A using an offline, zero-cost architecture. # Minetech Assessment — Self-Hosted LLM: Intake Triage + Knowledge Assistant A full-stack app that serves an open-source LLM via **self-hosted Ollama** (no external APIs) and builds two features on top of it — no OpenAI/Anthropic/Gemini, no money spent. Designed for **MineTech Rwanda**, an AI-native ERP and deep-tech intelligence platform for African mining operations. 1. **Smart Intake Triage** — turn free-text field messages into validated, structured JSON (category, priority, extracted operational fields, drafted reply) shown in a filterable dashboard. Malformed model output is handled gracefully. 2. **Knowledge Assistant** — answer questions with a self-hosted open-source LLM. Retrieves relevant context from a MySQL-backed knowledge base and grounds the answer with citations. Clearly indicates when the answer is not in the knowledge base. > **Stack:** Node + Express · React + Tailwind (Vite) · MySQL · **Ollama (self-hosted)** > > **Generation Model:** Llama 3.2 3B (via Ollama) — runs completely free on local hardware > > **Embedding Model:** nomic-embed-text (768-dim) — dedicated embedding model for RAG --- ## 1. Prerequisites - **Node.js 20+** and **npm** - **MySQL** (local or remote). The app creates tables automatically on boot. - **Ollama** installed and running (ollama.com) - Pull the models: ```bash ollama pull llama3.2:3b ollama pull nomic-embed-text ``` - Verify they're running: `ollama list` should show both models --- ## 2. Install ```bash # backend cd backend npm install # frontend cd ../frontend npm install ``` --- ## 3. Configure ```bash cp backend/.env.example backend/.env ``` Edit `backend/.env` and set your MySQL credentials. Key settings: ```ini # Server PORT=4000 # MySQL (update with your credentials) MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USER=root MYSQL_PASSWORD=1234 MYSQL_DATABASE=minetech # LLM Mode - ONLY OLLAMA (self-hosted, no external APIs) LLM_MODE=ollama # Ollama Settings OLLAMA_ENDPOINT=l