Spendenr-AI-d
AI powered Spendenraid Auswertung.
❓
Was macht es?
Diese KI hilft bei der Spendenraid Auswertung. Sie klassifizert Bilder nach Kategorien und ermittelt den Spendenbetrag.
ℹ️
Info
Die KI läuft multithreaded & asynchron. Sie bekommt ein "Batch" von Bild-ID's welche nacheinander in einer "queue" abgearbeitet werden (Bild-Download, Orga-Klassifizierung, Spendenbetrag-Evaluierung, Bildlöschung, Senden des Resultats an den Server). Pro Batch wird ein Worker-Thread aufgemacht. Batches können parallel eintreffen, sprich: Wenn ein Batch aktuell abgearbeitet wird, kann zeitgleich ein weiteres eintreffen. Diese werden dann unabhängig voneinander abgearbeitet. Es empfiehlt sich, das ganze mit PM2 im Cluster Mode mit ca. 5 Instanzen zu starten, damit ein weiteres OSI-Layer 7 horizontal scaling stattfindet. Eine vorgefertigte Konfigurationsdatei steht im Repository bereit.
🔧
Installation
- Terminal aufmachen und dorthin navigieren, wo man es downloaden möchte
- Sichergehen, dass NodeJS installiert ist. Teste mit:
$node -v
Wenn es eine Versionsnummer zurückgibt, ist NodeJS installiert. Wenn nicht, NodeJS hier downloaden. - Repository clonen und hinein navigieren. Wenn Git installiert ist:
$git clone https://github.com/pr0-dev/Spendenr-AI-d.git && cd Spendenr-AI-d
Wenn nicht, hier herunterladen und die ZIP extrahieren.
Dann in den Ordner navigieren. - Dependencies installieren:
$npm install
- Das Config-Template config.template.json kopieren und als
config.json
einfügen. - Die frisch kopierte Config datei ausfüllen.
- Das Script starten
$npm start
Achtung: Zusätzlich benötigte Module außerhalb von NPM:
- Docker (Installationsanleitung)
- Tesseract (
sudo apt install tesseract-ocr tesseract-ocr tesseract-ocr-deu
) - Python 3.8.10 (Installationsanleitung (3.8.2 mit 3.8.10 ersetzen!))
- Tensorflow 2.4.0 (
pip install tensorflow==2.4.0
)
❤️
Aknowledgements
- RundesBalli für das Spendenraid System
- Chiaki für Hilfe beim Refactoring der classification in Python