Diese kleine Anleitung baut sich aus mehreren Beiträgen auf und führt euch Schritt für Schritt von der Installation bis zur fertigen Applikation. So ist die Anleitung zunächst einmal aufgebaut, dass Ollama installiert wird. Ollama wird als Server eingesetzt das die verschiedenen Sprachenmodelle bereitstellt. Der große Vorteil von Ollama (https://github.com/ollama/ollama) ist es, dass es verschiedene Sprachenmodelle bereitstellen kann die über eine API aus der eigentlichen Python-Anwendung angesprochen werden. So läuft alles lokal auf dem eigenen Rechner und es entstehen keine zusätzlichen Kosten wie diese anfallen bei der Benutzung z. B. der OpenAI Services. Ich bin immer ein Freund alles daheim lokal laufen zu lassen und auch aus Datenschutzgesichtspunkten finde ich diese Lösung so ganz gut.

Hinweis: Ich installiere alles auf einen Ubuntu System in dem eine NVIDIA A6000 ihren Dienst verrichtet.

Deep Learning Computer NVIDIA RTX A6000

Deep Learning Computer NVIDIA RTX A6000

Ollama Installation

Jetzt wird zunächst einmal Ollama auf dem Ubuntu System installiert. Ich habe dazu den nachfolgenden Befehl in meiner user-session ausgeführt.

Befehl: curl -fsSL https://ollama.com/install.sh | sh

Nach der Installation laden wir noch das große Sprachenmodell mistral herunter das nicht allzu große Anforderungen an die Grafikkarte hat und damit bei vielen auf einer RTX3090 oder ähnlich laufen sollte. Für die Installation bitte jetzt den folgenden Befehl ausführen.

Befehl: ollama pull mistral

Mit dem folgenden Befehl kannst Du prüfen ob mistral herunter geladen wurde und erfolgreich in ollama zur Verfügung steht.

Befehl: ollama list

Jetzt startet einfach einmal mit dem folgenden Befehl den Ollama Server. Mit diesem wird dann unsere Applikation kommunizieren und das mistral LLM aufrufen.

Befehl: ollama serve

Hinweis: Wenn jetzt die folgende Meldung angezeigt wird, dann beläuft bereits der Ollama Server und ihr müsst erst einmal nichts weiter machen.

(ollama_rag) ingmar@A6000:~$ ollama serve
Error: listen tcp 127.0.0.1:11434: bind: address already in use

Jetzt ist alles soweit eingerichtet und es kann damit losgehen die kleine RAG Applikation zu schreiben. Mit dieser bist Du dann in der Lage ein PDF-Dokument mit natürlicher Sprache zu durchsuchen.

Zusammenfassung

Mit dem Ollama Framework ist es sehr leicht geworden verschiedene Sprachenmodelle lokal zu betreiben und über eine API im Netzwerk verfügbar zu machen. Das wirklich tolle hieran ist, dass LangChain Ollama unterstützt und so die Programmierung des Aufrufes des Endpunktes in der eigenen Python Anwendung denkbar einfach möglich ist. In meinem weiteren Beitrag gehe ich auf das Python Programm ein das genau diese kleine RAG Anwendung zum  Leben erweckt.