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.

CIIT AI Demo Chatbot

CIIT engagiert sich in der Integration von KI-Komponenten in Kundensysteme durch eine Vielzahl von Projekten.
Die Implementierung eines Chatbots, der mit spezifischen Daten angereichert wird, gestaltet sich als unkompliziert und bietet vielfältige Einsatzmöglichkeiten. So kann er etwa als Ergänzung zu Benutzerhandbüchern dienen, Fragen zu Produkten und Dienstleistungen beantworten und weit darüber hinausgehende Funktionen übernehmen.
Im Vergleich zu traditionellen Chatbots und Suchmechanismen zeichnet sich unser Ansatz durch die Fähigkeit aus, Antworten individuell zu formulieren. Dies steigert signifikant die Benutzerzufriedenheit.

Weiterlesen »

Software Engineering

Software Engineering ist eine fundamentale Disziplin in der Welt der Informationstechnologie, die sich mit der systematischen, disziplinierten und quantifizierbaren Herangehensweise an die Entwicklung, den Betrieb

Weiterlesen »
ERP Software

ERP Software

ERP Software: Ein zentrales Werkzeug für Unternehmensmanagement und -optimierung Enterprise Resource Planning (ERP) Software ist ein unverzichtbares Tool für das moderne Unternehmensmanagement. Es integriert verschiedene

Weiterlesen »

Google Cloud

Google Cloud Platform: Ein dynamisches Ökosystem für Cloud-Computing Die Google Cloud Platform (GCP) ist eine der führenden Cloud-Computing-Dienste, die von Google angeboten werden. Sie stellt

Weiterlesen »

UX (User Experience)

User Experience (UX): Gestaltung der Nutzererfahrung in der digitalen Welt User Experience (UX) ist ein zentrales Konzept in der Gestaltung von Produkten, Systemen und Dienstleistungen,

Weiterlesen »

Datenbanksysteme

Datenbanksysteme: Die Grundlage für Datenmanagement und -speicherung Datenbanksysteme sind ein unverzichtbarer Bestandteil fast aller modernen IT-Systeme und Anwendungen. Sie ermöglichen die effiziente Speicherung, Abfrage, Aktualisierung

Weiterlesen »