Guten Tag.
Von der Installation eines einfachen RAG-Systems für medizinische Bücher habe ich ein Protokoll geschrieben.
Idee ist, medizinische Lehrbücher besser nutzen zu können.
Vorgesehen ist ein Nutzer und 5 bis 50 Bücher.
Wobei sich die KI strikt auf den Text der Bücher begrenzt.
Und die KI ihre Fundstellen kapitelgenau angibt.
Was mir die KI erzählt nehme ich als Anregung und lese ggf. das Orginal.
Eine Nvidia-RTX Grafikkarte ist nötig, angeblich reicht eine RTX 2060, ich nutze eine RTX 3700.
Installiert wird am besten auf einer separaten Festplatte mit >100GB.
Es sollte klar sein, welche Taste beim Computerstart gedrückt werden muss für Boot-Auswahl (bei mir F11) und Bios-Menü (bei mir DEL).
Im Bios-Menü muss eingestellt sein, dass kein(!) secure-boot erfolgt, weil sonst angeblich CUDA nicht funktioniert. Bei mir war secure-boot sowieso ausgeschaltet gewesen.
Mit secure-boot ist nicht gemeint die Einstellung, die TPM deaktiviert.
Die Deaktivierung von secure-boot war bei mir im Bios-UEFI-Menü arg versteckt.
Bei Unsicherheit ist es gut, mit genauer Bezeichnung des Mainboard ChatGPT oder die Google-KI zu fragen.
Die Vorgehensweise bei der Installation ist eher kleinschrittig, um Fehler besser eingrenzen zu können.
Ein falscher Buchstabe reicht ja schon für ein Scheitern.
Installiert wird Debian, bei mir ist es Version 13.4.
Dann werden installiert Nvidia-Driver und Nvidia-Cuda-Toolkit, Docker-Ce und Nvidia-Container-Toolkit.
Dann aus dem Docker-Hub Open-WebUI (bei mir Version 0.8.10.), Ollama, Qdrant.
LLM für das Embedding ist z.B. mxbai-embed-largest,
LLM für Auswertung ist z.B. llama 3.1 8B.
Sprache der Wissenstexte ist Englisch, deutsche Texte übersetze ich z.B. mit Google Translate.
Viele Einzelschritte. Die ich reichlich für Irrwege nutzte.
Ohne viele Nachfragen bei ChatGPT und der Google-Ki hätte ich es nicht geschafft.
Aber eigentlich ganz einfach. Deshalb die Weitergabe des Protokolls.
Bei meiner Art der Nutzung (privat, lokal, ein Nutzer) sind alle Programme gratis und ohne Registrierung nutzbar.
Bei einer anderen Nutzung sind Lizenzbedingungen zu klären.
Alle Angaben sind natürlich ohne jede Gewähr, Haftung usw.
Debian und Cuda installieren
Meine Debian-ISO-Datei war debian-13.4.0-amd64-DVD-1.iso Die Debian-Seite mit Download.
Mit dem Hilfsprogramm Rufus kommt unter Windows die ISO-Datei auf einen USB-Stick.
Hier ein Link zu Rufus: Rufus-Download bei Chip
Bei der Debian-Installation kann man eigentlich nichts wirklich falsch machen.
Ausser: Auf der falschen Festplatte installieren!
Es kann deshalb sinnvoll sein, zur Sicherheit bei allen anderen Festplatten das Stromkabel zu entfernen.
Beim Computerstart zum Installieren die Taste für Bootauswahl gedrückt halten, den USB-Stick als Quelle wählen.
Die Frage ob man einen lokalen Treiber laden wolle verneinen.
Die Frage nach Spiegelserver bejahen.
Kein root-Passwort eingeben.
Ein sehr kurzes Nutzerpasswort nehmen - es muss oft (!) eingegeben werden.
Wenn doch etwas schief geht: Alles von vorne.
Jetzt ist Debian fertig installiert und gestartet.
Nun werden installiert die zu Debian-Repos gehörende Ausführung von nvidia-driver
und von nvidia-cuda-toolkit,das ist bei späterer Kernel-Aktualisierung viel stabiler
als die Verwendung der von nvidia direkt angebotenen Treiber/Toolkits.
Erstmal kommen Vorarbeiten.
Im Folgenden werden alle Texte als Terminalbefehl oder Dateiinhalt zum Kopieren in Rahmen angeboten.
Bei mehrzeiligen Texten enthält die HTML-Quelle die Zeichenfolge <br>, diese erscheint aber nicht bei der Einfügung.
Trotzdem ist darauf zu achten, dass nicht durch irgendwelche Umstände doch die Zeichenfolge <br> erscheint.
Hier der erste Terminalbefehl. Er öffnet eine vorhandene Konfigurationsdatei im Editor nano.
Der Editor nano hat ungewohnte Befehle. Einfügen mit STRG u oder Rechtsklick und Klick auf Einfügen. Speichern mit STRG o.
sudo nano /etc/apt/sources.list
Jetzt kommt ein Textstück, das in der geöffneten Datei nach jedem "non-free-firmware" am Zeilenende hinzugefügt werden muss nach (!) vorheriger Eingabe eines Leerzeichens.
contrib non-free
Dann wird gespeichert mit STRG o, der Dateinamen wird bestätigt mit ENTER, geschlossen wird mit STRG x
Der nächste Terminalbefehl:
sudo apt update
Jetzt kommen zwei Terminalbefehle zur Reinigung von alten nvidia und cuda Programmen (ob nötig lasse ich offen).
sudo apt purge -y 'nvidia-*' 'cuda-*' || true
sudo apt autoremove -y
Jetzt kommt ein Terminalbefehl, der eine Blacklist für nouveau mit dem Nano-Editor erstellt (ob nötig lasse ich offen).
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
Jetzt kommt Text der als Inhalt einzufügen ist:
blacklist nouveau
options nouveau modeset=0
Wieder speichern mit STRG o, bestätigen mit ENTER, schliessen mit STRG x.
Weiterer Terminalbefehl:
sudo update-initramfs -u
Jetzt Header erneuern und die eigentliche Installation
Der Neustart klappt ohne Probleme
Jetzt kommt die Prüfung, ob CUDA korrekt installiert ist.
nvidia-smi
Wenn hier die GPU benannt ist, ist alles OK.
nvcc --version
Wenn hier die CUDA-Treiber-Version angegeben ist, ist alles OK.
(Die recht alte CUDA-Version des Debian-Repos kann angeblich allerdings bei RTX 5090 manchmal Probleme machen.) Fertig.
Hier habe ich die Festplatte gesichert mit Clonezilla.
Docker Engine installieren
Verwendet wird die proprietäre Docker-CE Engine und nicht die Docker-Engine aus den Debian-Repos.
Angeblich würde die Nutzung der Debian-Repos bei KI-Anwendungen Probleme machen.
Hier der Link zur offiziellen Docker Anleitung.
Vorbereitend wird jetzt das System von alten Docker Resten gereinigt:
Um Docker-ce unter Debian 13.4 die Nutzung der Nvidia-GPU zu ermöglichen ist Nvidia Container Toolkit nötig.
Hierfür den GPG-Schlüssel herunterladen und speichern:
sudo docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi
Man muss eine Tabelle mit der GPU sehen. Docker ist fertig.
Hier habe ich die Festplatte gesichert mit Clonezilla.
Docker Images, Container und Volumes erstellen für die
RAG-Oberfläche (OpenWebUI), RAG-System(Ollama), RAG-Datenbank(Qdrant)
Hier verwende ich ein Script, das mir bis auf eine kleine Abweichung dankenswerter Weise ChatGPT erstellte.
Unterverzeichnis rag erstellen:
mkdir rag
In rag wechseln.
cd rag
Mit dem Editor nano in diesem Verzeichnis die Datei docker-compose.yml erstellen:
nano docker-compose.yml
docker-compose.yml braucht korrekte Einrückungen. Deshalb funktioniert die ansonsten hier genutzte Copy-Funktion nicht.
Bitte diesen Link öffnen, den gesamten (!) Inhalt markieren z.B. mit STRG a und kopieren mit Rechtsklick mit der Maus und Klick auf Kopieren.
Dann den Inhalt im nano-Editor einfügen mit STRG u oder Rechtsklick und Klick auf Einfügen. Inhalt von docker-compose.
Dann in nano speichern mit STRG o , Dateiname bestätigen mit ENTER, Verlassen mit STRG x
Dann die Compose-Datei ausführen mit:
docker compose up -d
Achtung. Der Download der Images von etwa 8 GB aus dem Docker-Hub dauert lange, dann werden aus Images Container und Volumes erstellt.
Wenn aus technischem Grund der Download abbrechen sollte einfach docker compose up -d neu starten
Als Test die Oberfläche von OpenWebUI öfnen in Firefox unter der Adresse
localhost:3000
Fertig.
Open-WebUI einrichten und die ersten LLM und Wissenstexte laden
Die Angaben im Folgenden beziehen sich auf die am 20.3.206 aktuelle Version 0.8.10 von OpenWebUI
Die Aufforderung zum Starten anklicken
Lokal anmelden mit Name, Emailadresse, Passwort.
Die Angaben können beliebig gemacht werden, müssen nicht echt sein, müssen nur erinnert werden.
Modelle von Ollama
holen für Auswertung und Embedding, ich empfehle llama3.1:8b und mxbai-embed-large:latest
Links unten im Eck auf den orange Punkt mit den Initialen klicken
In der Auswahl links Admin-Bereich anklicken
In der Auswahl in der Leiste oben auf Einstellungen klicken
In der Auswahl Links auf Modelle klicken
Rechts oben auf das kleine Feld Verwalten klicken
Bei Bedarf auf den klein geschriebenen Link rechts "hier klicken" klicken, es öffnet sich ein neuer Tab mit der Modellauswahl von Ollama.
Im Firefox-Tab "Admin-Bereich" bei dem grauen Text "Modell Tag eingeben .. " ein Modell eingeben, z.B. :
llama3.1:8b
Rechts neben dieser Eingabe auf den Download-Pfeil klicken, den Download abwarten, der Fortschritt wird mit einem Balken angezeigt.
Nochmal Verwalten anklicken
Jetzt nochmal bei dem grauen Text "Modell Tag eingeben .. " ein Modell eingeben, z.B.:
mxbai-embed-large:latest
Und auf den Download-Pfeil klicken
Einstellen, dass mxbai-embed-large:latest zum Embedding verwendet wird:
Auf Admin-Bereich>Einstellungen>Dokumente gehen, Wichtig: Bei Embedding-Modell-Engine in der Auswahl rechts anstelle von "Standard .." "Ollama" auswählen.
Bei dem grauen Text "Embedding Modell festlegen" eingeben mxbai-embed-large:latest
Rechts unten auf Speichern klicken.
Den Arbeitsbereich konfigurieren:
In der Ecke links oben auf "OI" klicken
Links auf Arbeitsbereich klicken
Rechts oben auf +Neues Modell klicken
Den grossen Text Modellname überschreiben z.B. mit MeineFrage
"Wählen Sie ein Basismodell" anklicken und llama3.1:8b wählen
Den grauen Text "Fügen Sie eine kurze Beschreibung .." beliebig überschreiben, z.B. Auswertung
Bei Bedarf ein Bild eingeben mit Klick auf den schwarzen Punkt im grossen OI-Feld
Unter System-Prompt eingeben: Use provided context only
Unten Speichern & Erstellen anklicken
Klick links unten auf orangen Punkt. Dann Klick auf Einstellungen>Allgemein.
Bei System-Prompt Use provided context only eintragen und speichern.
Wissen hinzufügen
Oben auf "Wissen" klicken
Rechts auf + Neues Wissen klicken
Den grauen Text Benennen Sie Ihren Wissensspeicher überschreiben, bei mir Merck
Den grauen Text Beschreiben Sie Ihren Wissensspeicher .. überschreiben, bei mir Ausgabe
Klick rechts unten auf Wissen erstellen
Klick rechts oben auf +
Bei mir klicken auf Ordner hochladen, alternativ auf Datei hochladen
Bei mir wähle ich den Ordner aus, in dem ich die pdf-Dateien für die englisch-sprachigen Kapitel des Merck-Manual-of-Diagnosis-and-Therapy habe
Anmerkung: Bisher habe ich noch kein gutes zweisprachiges Embedding Modell för Deutsch und Englisch zum Laufen gebracht.
Ich nehme deshalb zum Embedding nur Texte in englischer Sprache. Deutsche Texte übersetze ich vorher mit Google-Translate.
Klick rechts oben auf Hochladen
Firefox fragt nochmal nach, auch hier Klick auf Hochladen
Fortschritt und Erfolg werden angezeigt. Abwarten. Bei laufendem Embedding nicht (!) gleichzeitig Abfragen machen.
Klick Arbeitsbereich
Klick auf das Bild für meinen Arbeitsbereich
Klick auf Wissensspeicher auswählen
Klick bei mir auf auf Merck
Klick auf Speichern & Aktualisieren
Die erste Abfrage
Klick auf Arbeitsbereich
Klick auf - bei mir - "MeineFrage"
Die Beispielfrage - Welche Krankheiten machen Gelbsucht - gibt eine schlechte Antwort
Die Beispielfrage - Give diseases with icterus - gibt eine gute Antwort
Antworten sind begrenzt auf die Wissenstexte. Genutzte Kapitel werden angegeben.
Guten Erfolg beim Testen!
21.3.2026 Peter G. Sende Mail