Lokale Ausführung großer Sprachmodelle mit Ollama und Open WebUI

Kategorien:
No items found.
Freigegeben:
October 1, 2024

Große Sprachmodelle lokal mit Ollama und Open WebUI ausführen

Große Sprachmodelle (LLMs) wie ChatGPT sind beeindruckend. Aber die meisten großen Unternehmen werden ihre LLMs immer in der Cloud betreiben. Und die Cloud ist einfach der Computer eines anderen! Was ist, wenn Sie Ihre eigenen LLMs auf Ihrem eigenen Computer ausführen möchten?

Sie können! Lassen Sie uns beginnen.

Was ist Ollama?

Ollama ist ein Tool, mit dem Sie große Sprachmodelle lokal ausführen können. Es kann zum Herunterladen von Modellen und zur Interaktion mit ihnen in einer einfachen textbasierten Benutzeroberfläche (TUI) verwendet werden. Ollama kann im Hintergrund ausgeführt werden, um anderen Tools LLM-Schnittstellen bereitzustellen.

Ollama installieren

Sie können Ollama installieren, indem Sie die Download-Seite besuchen.

Oder Sie können es auf einem Mac über Homebrew installieren.

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um Ollama zu installieren:

brew install --cask ollama

Starten Sie dann die Ollama-App.

Jetzt können Sie Ollama-Befehle ausführen, indem Sie ollama in Ihr Terminal eingeben.

Mit Ollama mit einem LLM sprechen

Probieren wir Googles Gemma2 aus. Wir wählen die 2B-Version aufgrund ihrer geringen Größe. Dies macht den Download schnell und die Ausführung im Vergleich zu größeren Modellen schnell.

Führen Sie den folgenden Befehl aus, um Gemma2:2b herunterzuladen:

ollama pull gemma2:2b

Sobald der Download abgeschlossen ist, können wir mit Gemma2 chatten:

ollama run gemma2:2b

>>> Hallo

Hallo! Wie kann ich Ihnen heute helfen?

Schön, Sie sprechen mit einem LLM, das auf Ihrem eigenen Computer läuft! Wenn Sie andere Modelle ausprobieren möchten, finden Sie verfügbare Modelle in der Ollama-Bibliothek.

Die Chat-Oberfläche von Ollama ist gut zum Testen, aber insgesamt ziemlich eingeschränkt. Lassen Sie uns etwas dagegen tun!

Open WebUI

Open WebUI ist eine Webschnittstelle, die sich mit LLM-Diensten wie Ollama (und auch OpenAI) verbinden kann. Es verfügt über eine Benutzeroberfläche, die von der Benutzeroberfläche von ChatGPT inspiriert ist.

Open WebUI installieren

Beachten Sie, dass für diese Installation Docker erforderlich ist.

Wir können Open WebUI mit einem Docker-Befehl herunterladen, installieren und ausführen:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Hier ist die Bedeutung der Befehle:

  • docker run: Open WebUI in einem Docker-Container ausführen.
  • -d: im Hintergrund ausführen.
  • -p 3000:8080: Lokalen Port 3000 an Container-Port 8080 anhängen.
  • --add-host: Stellen Sie sicher, dass Docker mit Ollama kommunizieren kann.
  • -v: Ein gemeinsames Volume bereitstellen, damit unsere Daten auch dann gespeichert werden, wenn der Container angehalten wird.
  • --restart: Immer im Hintergrund ausführen.
  • --name: Name des Containers.
  • ghcr.io/open-webui/open-webui:main: Der Container, den wir ausführen.

Open WebUI ist jetzt unter http://localhost:3000/ verfügbar.

Open WebUI einrichten

Öffnen Sie http://localhost:3000/ in Ihrem Browser.

Open WebUI erfordert eine Anmeldung, damit Sie Administrator werden können. Keine Sorge, Ihre Daten bleiben auf Ihrem Computer!

Hier ist, was Open WebUI in seinen FAQ sagt:

F: Warum werde ich zur Anmeldung aufgefordert? Wohin werden meine Daten gesendet?

A: Wir benötigen Ihre Anmeldung, um der Administratorbenutzer zu werden, um die Sicherheit zu erhöhen. Dies stellt sicher, dass Ihre Daten geschützt bleiben, falls Open WebUI jemals für den externen Zugriff verfügbar gemacht wird. Es ist wichtig zu beachten, dass alles lokal aufbewahrt wird. Wir erfassen Ihre Daten nicht. Wenn Sie sich anmelden, verbleiben alle Informationen auf Ihrem Server und verlassen Ihr Gerät nie. Ihre Privatsphäre und Sicherheit haben für uns oberste Priorität, um sicherzustellen, dass Ihre Daten jederzeit unter Ihrer Kontrolle bleiben.

Wahrscheinlich müssen Sie sich danach nicht mehr anmelden. Vergessen Sie nicht, Ihr Passwort an einem sicheren Ort zu speichern!

Mit Open WebUI mit einem LLM sprechen

Sobald Sie sich angemeldet haben, können Sie mit dem Chatten mit gemma2:2b beginnen. Wenn es nicht automatisch ausgewählt wird, klicken Sie auf „Modell auswählen“ und wählen Sie gemma2:2b.

Klicken Sie unten auf dem Bildschirm auf „Nachricht senden“ und beginnen Sie mit dem Chatten!

Die Benutzeroberfläche ist recht einfach und erfordert wenig Erklärung. Aber es gibt einige coole Dinge, die Sie tun können.

Coole Funktionen

Mehrere LLMs mit derselben Eingabeaufforderung ausführen

Klicken Sie auf das Pluszeichen (neben Ihrem ausgewählten Modell) und fügen Sie ein weiteres Modell hinzu. Sie können jetzt LLMs nebeneinander vergleichen!

Inhalte aus einer Datei hinzufügen

Klicken Sie links neben der Stelle, an der Sie Ihre Nachricht senden, auf das Pluszeichen (+). Wählen Sie „Dateien hochladen“ und wählen Sie eine Datei aus. Jetzt können Sie Fragen zum Inhalt der Datei stellen. Beachten Sie, dass dies nicht immer perfekt funktioniert. Versuchen Sie also, genau zu sein und verweisen Sie auf die Datei.

In diesem Beispiel wird das kostenlose E-Book Romeo und Julia von William Shakespeare verwendet

Webinhalte hinzufügen

Wir können Webdaten hinzufügen, indem wir ein # platzieren und eine URL einfügen. Stellen Sie sicher, dass Sie die Eingabetaste drücken. Dadurch werden die Webinhalte als Dokument hinzugefügt.

Code direkt ausführen

Wenn Sie Ihr LLM bitten, Code zu erstellen, und es einen Codeblock bereitstellt, können Sie oben rechts im Codeblock auf „Ausführen“ klicken. Dadurch wird der Code ausgeführt und die Ausgabe unterhalb des Codeblocks bereitgestellt.

Überprüfen Sie den Code natürlich vor der Ausführung, um sicherzustellen, dass er nicht etwas tut, das Sie nicht möchten!

Open WebUI bietet viele weitere Funktionen, die Sie hier erkunden können.

Fazit

Das ist es! Sie führen große Sprachmodelle lokal mit Ollama und Open WebUI aus. Sie können privat chatten, verschiedene Modelle verwenden und vieles mehr!

Foto von Sahand Babali auf Unsplash

Bibliographie

https://x.com/_akhaliq/status/1840234267063804076

https://github.com/Uminosachi/open-llm-webui

https://x.com/_akhaliq?lang=de

https://medium.com/@omargohan/open-webui-the-llm-web-ui-66f47d530107

https://github.com/mlc-ai/web-llm

https://www.youtube.com/watch?v=qXHlnYXGaXI

https://buttondown.com/ainews/archive/ainews-openai-reveals-its-instruction-hierarchy/

https://pieces.app/blog/local-large-language-models-lllms-and-copilot-integrations

https://medium.com/@vipra_singh/building-llm-applications-open-source-chatbots-part-7-1ca9c3653175

https://xebia.com/blog/run-large-language-models-locally-with-ollama-and-open-webui/

Was bedeutet das?