Large Language Models mit Ollama über ReST Services aufrufen

Large Language Models mit Ollama über ReST-Services aufrufen: Eine Schritt-für-Schritt Anleitung für Linux Server.

In unserem vorigen Video, haben wir gezeigt, wie man Ollama und das Open WebUI auf einem Linux System lokal installieren kann. Du findest diesen ersten Teil hier. In diesem Video zeigen wir, wie du dein lokales LLM Modell über ReST Services aufrufen kannst.

Vorbereitungen:

Stelle sicher, dass Dein Ollama von Deinem Rechner (Entwicklungsumgebung) erreichbar ist.
Stoppe dazu ggf. die Firewall:

				
					sudo systemctl disable ufw
sudo systemctl stop ufw
				
			

Stelle sicher, dass Ollama von allen Rechnern erreichbar ist. Editiere dazu das Service Script:

				
					sudo systemctl edit ollama.service
				
			

Füge folgende Zeilen oben in der Datei ein:

				
					[Service]
Environment="OLLAMA_HOST=0.0.0.0"

				
			

Starte den Service neu mit:

				
					sudo systemctl restart ollama

				
			

Gib dann im Browser http://deinhost:11434 ein. Du solltest im Browser die Meldung „Ollama is running“ angezeigt bekommen.

Code um Ollama über ReST aufzurufen:

Du kannst im Video genau nachvollziehen, wie Du über JavaScript Ollama aufrufen kannst.
Das gesamte Code Beispiel findest du hier auf Gitlab.

Das Video zusammengefasst:

In diesem Beitrag zeige ich euch, wie ihr ein Large Language Model (LLM) mit Ollama auf eurem Linux-Server über ReST-Services aufrufen könnt. Falls ihr in unserem letzten Beitrag verpasst habt, wie ihr Ollama auf einem Linux-Server installiert, dann schaut euch unser Tutorial dazu an, bevor ihr mit diesem weiter macht. Hier geht es darum, wie ihr Ollama über ReST-APIs direkt in eure eigenen Anwendungen integriert und nutzt – perfekt für alle, die keine Cloud-Lösungen verwenden möchten und maximale Kontrolle über ihre Daten behalten wollen.

1. Vorbereitung: Netzwerkkonfiguration und Firewall-Einstellungen

Bevor ihr Ollama über ReST-Services ansprechen könnt, müsst ihr sicherstellen, dass der Ollama-Dienst auf eurem Server über das Netzwerk erreichbar ist. Standardmäßig nimmt Ollama nur Verbindungen vom lokalen Server an. Um Verbindungen von anderen IP-Adressen zuzulassen, müssen wir die Service-Konfiguration bearbeiten.

Setzt die Variable OLLAMA_HOST auf 0.0.0.0, um Ollama so zu konfigurieren, dass es Verbindungen von allen IP-Adressen akzeptiert. Achtet darauf, dass eure Firewall korrekt konfiguriert ist und der benötigte Port offen ist. Dies könnt ihr mit dem Befehl sudo systemctl status firewall überprüfen und bei Bedarf anpassen.

2. Testaufruf an Ollama über ReST-Services

Nachdem ihr die Netzwerkkonfiguration angepasst habt, könnt ihr einen einfachen Testaufruf an Ollama über REST durchführen. Mit einem ReST-GET-Aufruf könnt ihr prüfen, ob Ollama korrekt läuft. Nutzt dazu die IP-Adresse des Servers und den Standardport von Ollama.

Wenn die Antwort „Ollama running OK“ erscheint, dann wisst ihr, dass Ollama bereit ist, auf Anfragen zu reagieren und der Server korrekt konfiguriert ist.

3. POST-Request für Modellanfragen

Jetzt geht es darum, Ollama über ReST für spezifische Modellanfragen zu nutzen. In diesem Beispiel senden wir einen POST-Request an die ReST-API von Ollama, um eine Textübersetzung anzufordern. Im JSON-Body des Requests gebt ihr die Modell-ID und den gewünschten Eingabetext an. Ihr könnt zusätzlich die Option „Streaming deaktivieren“ setzen, um die Antwort des Modells in einem einzigen Response zu erhalten, anstatt sie schrittweise zu streamen.

4. Entwicklung einer einfachen Weboberfläche zur Interaktion mit Ollama

Um das Ganze anschaulich zu machen, entwickeln wir eine einfache Weboberfläche, die mit dem Ollama-Modell interagiert. Die Benutzeroberfläche besteht aus einem Texteingabefeld, einem „Übersetzen“-Button und einem Ausgabefeld.

Sobald der Benutzer einen Text eingibt und auf den Button klickt, wird die Anfrage per JavaScript an die ReST-API gesendet. Das Modell übersetzt den Text dann ins Englische und Spanische. Die Antwort wird direkt im Ausgabefeld angezeigt, sodass der Benutzer sofort die Ergebnisse sehen kann.

5. Zusammenfassung und weiterführende Schritte

Mit dieser Anleitung habt ihr eine vollständige Lösung zur Nutzung von Large Language Models wie Ollama über ReST-Services auf eurem Linux-Server, ohne auf Cloud-Dienste angewiesen zu sein. Diese Vorgehensweise gibt euch nicht nur maximale Kontrolle über eure Daten, sondern auch eine hohe Flexibilität, da ihr Ollama direkt in eure eigenen Anwendungen integrieren könnt.

Das und weitere spannende Inhalten findet ihr auf unserem YouTube Kanal CIIT Software.

Unser neues Bürogebäude

Mitte des Jahres ist endlich unser neues Bürogebäude fertiggestellt worden. Im Erdgeschoss und im 1. Stock sind nun unsere Entwickler eingezogen. Die Büros sind ausgestattet

Weiterlesen »

Plattformunabhängige Apps

Plattformunabhängige Apps: Entwicklung für eine breite Nutzerbasis Plattformunabhängige (Cross-Plattform) App-Entwicklung ist eine effektive Strategie, um Anwendungen zu erstellen, die auf verschiedenen Betriebssystemen und Geräten funktionieren.

Weiterlesen »

Responsive Web Anwendungen

Responsive Webanwendungen: Ein unverzichtbarer Ansatz in der modernen Softwareentwicklung In der heutigen digitalen Landschaft, in der Benutzer über eine Vielzahl von Geräten auf das Internet

Weiterlesen »

Embedded Systems (Eingebettete Systeme)

Embedded Systems: Intelligente Technologie im Herzen moderner Geräte Embedded Systems, also eingebettete Systeme, sind ein integraler Bestandteil zahlreicher moderner Technologien und Geräte. Sie kombinieren Hardware

Weiterlesen »
Internet of Things - Illustration

Internet of Things (IoT)

Internet der Dinge (IoT): Die Zukunft der Vernetzung Einleitung In der heutigen, technologisch fortgeschrittenen Welt spielt das Internet der Dinge (IoT) eine zentrale Rolle. Diese

Weiterlesen »

Microservices Architekturen

Microservices-Architektur: Ein moderner Ansatz für skalierbare und flexible Softwareentwicklung Die Microservices-Architektur hat sich als ein bedeutender Trend in der Softwareentwicklung etabliert. Sie bietet eine flexible

Weiterlesen »