Der OER-Assistent stellt einen Proof of Concept zur KI-gestützten Suche von Open Educational Resources (OER) bereit. Ziel ist es, Lehrenden und Studierenden eine einfache Möglichkeit zu bieten, OER-Materialien per Texteingabe (oder optional-experimentell auch per Spracheingabe) aus der OERSI-Datenbank zu suchen und diese in Echtzeit zu präsentieren. Die Anwendung ist in React entwickelt und nutzt die @chainlit/react-client-Bibliothek, um mit einem Chainlit-Backend zu kommunizieren.
Hinweis zur Sprachsuche: Das Mikrofon-Symbol nutzt ausschließlich die browsereigene Web Speech API (nur Chrome/Chromium, Sprache fest auf Deutsch eingestellt). Die Spracherkennung läuft komplett lokal im Browser; erkannter Text wird anschließend wie eine herkömmlich getippte Nachricht ans Backend geschickt. Eine eigene serverseitige Audio-/Realtime-Pipeline war geplant, ist im Code aber auskommentiert und nie fertig implementiert worden.
Das Konzept wurde für eine ORCA.nrw-Tagung im November 2024 entwickelt. Die zugehörige Präsentation liegt als OER-KI-Assistent.pdf auf ORCA.nrw.
Es handelt sich um einen Prototyp, der lediglich zu Demonstrationszwecken dient. Eine Verwendung in Produktivumgebungen wird nicht empfohlen.
Texteingabe: Suchanfrage in das Texteingabefeld eingeben und auf "Suchen" klicken.
Sprachsuche (experimentell, nur Chrome/Chromium): Auf das Mikrofonsymbol klicken und einsprechen. Der erkannte Text wird wie eine herkömmliche Nachricht an das Backend gesendet – es findet keine serverseitige Audioverarbeitung statt.
Das Projekt verwendet die @chainlit/react-client-Bibliothek, um sich mit dem Chainlit-Backend zu verbinden. Die URL des Chainlit-Servers ist bereits in der Datei App.tsx konfiguriert. Die Konfiguration kann unter CHAINLIT_SERVER_URL angepasst werden:
const CHAINLIT_SERVER_URL = 'http://localhost:8000';
Es muss sichergestellt sein, dass der Chainlit-Server unter der angegebenen URL erreichbar ist.
Es muss sichergestellt sein, dass sowohl Frontend als auch Backend laufen und miteinander kommunizieren.
Wenn die WebSocket-Verbindung nicht hergestellt werden kann, sollte die Backend-URL und die Netzwerkverbindung überprüft werden.
Um die vollständige Funktionalität zu nutzen, muss auch das Backend, das auf Chainlit basiert, gestartet werden.
Den Chainlit-Server lokal starten:
1. Zum Backend-Projektverzeichnis navigieren
2. Abhängigkeiten installieren mit:
Erstellen einer virtuellen Umgebung:
python3 -m venv .venv
Aktivierung der virtuellen Umgebung:
source .venv/bin/activate
Installation der erforderlichen Pakete:
pip install -U -r requirements.txt
3.Server starten mit:
chainlit run <Ihr Backend-Skript>.py
Nach der Installation der Abhängigkeiten kann das Frontend im Entwicklungsmodus gestartet werden:
npm run dev
Das Frontend sollte nun unter http://localhost:3000 laufen
Prototyp des OER-Assistenten via GitHub herunterladen
1. Repository auf lokalen Rechner klonen → git clone <URL des Repositories>
2. Installation der Abhängigkeiten im Projektverzeichnis → cd frontend npm install