Ollama
Neue Funktionalität
in Moodle 4.5!
Hinweis: Diese Seite ist in Arbeit. Feedback und Verbesserungsvorschläge sind willkommen. Bitte nutzen Sie die Diskussionsseite.
Einführung
Moodle 4.5 und sein KI-Teilsystem verfügen über eine Reihe von unterstützten LLM-Anbietern. Einer von ihnen ist der OpenAI-Anbieter.
Obwohl es sich um eine „proprietäre“ API handelt, ist sie zu einer Art „de facto“-Standard geworden und viele andere LLM-Anbieter, sowohl frei verfügbare als auch kommerzielle, oder Tools wie AI-Proxys oder Router, verfügen über eine OpenAI API-kompatible Schicht, um ihre Dienste zu nutzen.
Das ermöglicht es, praktisch jedes Modell da draußen (Textvervollständigungen, Bilder, Einbettungen, ...) zu verwenden, sofern der Anbieter diese OpenAI API-kompatiblen Einstiegspunkte implementiert hat. Suchen Sie einfach nach OpenAI kompatibel und Sie werden sie finden.
In diesem Artikel verwenden wir beispielsweise Ollama, einen der beliebtesten frei verfügbaren LLM-Anbieter, der neben seiner eigenen API auch OpenAI API-Kompatibilität bietet, viele offene Modelle unterstützt, lokal (oder remote) installiert werden kann und auf CPUs (langsam!) und GPUs (schneller) funktioniert und wirklich einfach zu verwalten ist.
Aber vergessen Sie nicht, dass dies nur ein Beispiel ist und dasselbe für jeden anderen Anbieter oder jedes andere Tool gilt, das die OpenAI API unterstützt. Und davon gibt es eine Menge! Abhängig von Ihren Bedürfnissen, der Nutzung, der Überwachung, dem Budget, den LLM-Funktionen... können Sie am Ende jeden von ihnen verwenden.
Moodle für die Verwendung eines lokal installierten Ollama konfigurieren
Voraussetzungen
- Eine Instanz von Moodle (4.5 oder höher) ist installiert und läuft.
- Ollama ist auf demselben Server installiert, auf dem auch Moodle läuft.
- Ein LLM-Sprachmodell wurde heruntergeladen und ist für Ollama verfügbar. Wir werden in diesem Beispiel llama3.1 verwenden.
- Es funktioniert einwandfrei. Sie können es testen, indem Sie dies auf der Konsole folgenden Befehl ausführen:
ollama run llama3.1 „I love Moodle“.
Alternativ können Sie den folgenden Befehl verwenden, um zu überprüfen, ob der Dienst über die OpenAI-API verfügbar ist:
curl --location 'http://127.0.0.1:11434/v1/chat/completions' \ --header 'Content-Type: application/json' \ --data '{ "model": "llama3.1", "messages": [ { "role": "user", "content": "I love Moodle" } ] }'
HTTP-Sicherheitskonfiguration
Standardmäßig blockiert Moodle aus Sicherheitsgründen den Zugriff auf lokale Netzwerk-Hosts mit curl. Das betrifft die üblichen lokalen Netzwerke wie 192.168.1.x oder 10.x.y.z und auch 127.0.0.1 oder localhost. Ebenso sind standardmäßig nur die Ports 80 und 443 erlaubt.
Da es sich in unserem Fall um eine lokal installierte Ollama-Instanz handelt, müssen wir den Zugriff auf 127.0.0.1 (oder localhost) erlauben. Außerdem muss der Port 11434 freigegeben werden. Beachten Sie, dass diese Details dem curl-Befehl entsprechen, den wir im vorherigen Abschnitt verwendet haben.
Gehen Sie auf die Seite Website-Administration > Allgemein > Sicherheit > HTTP-Sicherheit (oder nutzen Sie die Suchfunktion für Administrator/innen, um diesen Bereich zu finden) und nehmen Sie folgende Änderungen vor:
- Im Bereich Liste von geblockten Hosts für cURL (curlsecurityblockedhosts) entfernen Sie die Einträge 127.0.0.1/8 und localhost.
- Im Bereich Liste von erlaubten Ports für cURL (curlsecurityallowedport) fügen Sie den Port 11434 hinzu.
- Klicken Sie auf den Button Änderungen speichern.
Danach sollte Moodle über 127.0.0.1:11434 eine Verbindung zu unserer lokalen Ollama-Installation herstellen können.
Beachten Sie, dass Sie möglicherweise andere IP-Adressen, Servernamen und Ports konfigurieren müssen, wenn Sie einen anderen OpenAI-kompatiblen lokalen Anbieter verwenden oder diesen auf einem anderen lokalen Server laufen lassen.
OpenAI-Anbieter-Konfiguration
Nun, da der lokale Anbieter (Ollama) läuft und wir Moodle so konfiguriert haben, dass es darauf zugreifen kann, konfigurieren wir den OpenAI-Anbieter wie folgt:
- Gehen Sie auf die Seite Website-Administration > Allgemein > KI > KI-Anbieter.
- Aktivieren Sie den OpenAI API-Anbieter, indem Sie auf den Kippschalter klicken.
- Klicken Sie auf den zugehörigen Link Einstellungen.
- Im Abschnitt Aktionen aktivieren Sie die Aktionen Text generieren und Text zusammenfassen. Beachten Sie, dass Ollama kein LLM zur Verfügung stellt, das Bilder generieren kann, so dass wir die Aktion Bild generieren nicht aktivieren können. Bei anderen OpenAI-kompatiblen Anbietern ist dies vielleicht möglich.
- Klicken Sie nun bei den aktivierten Aktionen auf den zugehörigen Link Einstellungen und konfigurieren Sie Folgendes:
- KI-Modell: llama3.1
- API-Endpunkt: http://127.0.0.1:11434/v1/chat/completions
- Klicken Sie auf Änderungen speichern.
Danach sollten Sie in der Lage sein, den lokalen Ollama-Anbieter in Ihrer Moodle-Instanz in den verfügbaren KI-Platzierungen (Platzierung der Kursunterstützung und Platzierung im HTML-Texteditor) zu verwenden. Aktivieren und konfigurieren Sie diese Platzierungen auf der Seite Website-Administration > Allgemein > KI > KI-Platzierung.
Ein kurzer Hinweis zur Sicherheit
Beachten Sie, dass Ollama standardmäßig nur auf 127.0.0.1 (oder localhost) und Port 11434 läuft (d.h. dort auf Anfragen „lauscht“). Mit anderen Worten, es ist hauptsächlich dafür gedacht, auf demselben Server installiert zu werden, auf dem auch der Client (in diesem Fall Moodle) läuft. Die obige Konfiguration deckt genau dieses Szenario ab. Diese Konfiguration kann als „sicher“ angesehen werden, da alle Anfragen auf demselben Server laufen.
Falls Sie Ollama auf einem anderen Server installieren möchten, müssen Sie den Zugriff für Remote-Verbindungen öffnen (dazu wird die Variable OLLAMA_HOST gesetzt, siehe Ollama-Dokumentation). Das erlaubt jedoch standardmäßig den Fernzugriff von überall. Dies stellt eine „unsichere“ Konfiguration dar, da Ollama keine Autorisierungsmechanismen (wie API-Schlüssel oder Authentifizierungs-Header) unterstützt. Bitte beachten Sie dies und wenden Sie sich an IT-Experten, bevor Sie einen solchen Fernzugriff zulassen. Diese Experten können Ihnen helfen, die Ollama-Installation mit verschiedenen Mechanismen wie Firewalls, Reverse-Proxies oder Authentifizierungsschichten abzusichern.
Abschließend sei noch einmal darauf hingewiesen, dass sich dieser Artikel ausschließlich auf eine lokale Ollama-Installation (auf demselben Server wie Moodle) konzentriert. Es gibt jedoch Dutzende alternative OpenAI-kompatible Anbieter, von denen viele Autorisierung oder virtuelle API-Schlüssel unterstützen und mehr Sicherheit für den Fernzugriff sowie Unterstützung für verschiedene LLMs bieten. Es ist daher empfehlenswert, einige dieser Alternativen auszuprobieren, je nach den individuellen Anforderungen und der verfügbaren Infrastruktur.