🧬So bauen Sie ein vollständig lokales medizinisches AI-System mit Proxmox und Ollama auf

Eines der interessantesten AI-Projekte, das Sie zu Hause realisieren können, ist ein vollständig lokales medizinisches Expertensystem, das offline, ohne Inhaltseinschränkungen und ohne Abhängigkeit von externen Diensten funktionieren kann. In dieser vollständigen Anleitung erfahren Sie, wie Sie ein solches System mithilfe von Proxmox, Ollama und einem für den lokalen Gebrauch optimierten medizinischen AI-Modell erstellen.


🎯 Endziel

Wir werden einen medizinischen AI-Assistenten aufbauen, der vollständig auf Ihrer lokalen Infrastruktur läuft, ohne Cloud-Verbindung, und der später in eine bestehende Website integriert werden kann (z. B. über AI Engine).
Der vollständige Ablauf sieht folgendermaßen aus:

Website → AI Engine → Ollama Lokal → Medizinische Antwort


🧱 Kapitel 1: Grundlegende Proxmox-Konfiguration

Minimale Hardwareanforderungen

  • 8 GB RAM (16 GB empfohlen)
  • 50 GB freier Speicherplatz
  • Root-/SSH-Zugriff
  • Proxmox auf dem Host-Server installiert

Überprüfung der verfügbaren Ressourcen

In der Proxmox-Weboberfläche:

  • CPU und RAM überwachen
  • Freien Speicherplatz überprüfen

📦 Kapitel 2: Erstellung des LXC-Containers

Wir empfehlen einen LXC-Container anstelle einer virtuellen Maschine, da dieser einfacher und schneller ist.

Empfohlene Konfiguration

  • Template: ubuntu-22.04-standard_22.04-1_amd64.tar.zst
  • RAM: 4 GB + 512 MB Swap
  • CPU: 2 Kerne
  • Speicher: 40 GB (20 GB Root + 20 GB für Modelle)
  • Statische IP: 192.168.0.27
  • Firewall aktiviert

Netzwerkkonfiguration

  • Bridge: vmbr0
  • Gateway: 192.168.0.1
  • DNS: 192.168.0.1 oder 8.8.8.8

Klicken Sie nach Abschluss auf **Fertigstellen** und überprüfen Sie die Einstellungen.


🔑 Kapitel 3: Konfiguration von SSH im Container

Installation und Aktivierung von SSH

apt update && apt upgrade -y
apt install openssh-server sudo curl wget -y
systemctl enable ssh
systemctl start ssh
passwd root

Root-Login erlauben

Bearbeiten Sie die Datei:

nano /etc/ssh/sshd_config

Und ändern Sie die Zeile:

PermitRootLogin yes

Starten Sie dann den Dienst neu:

systemctl restart ssh

Test:

ssh [email protected]

🦙 Kapitel 4: Installation von Ollama

Dedizierten Speicher für Modelle konfigurieren

export OLLAMA_HOME=/var/lib/ollama
echo 'export OLLAMA_HOME=/var/lib/ollama' >> ~/.bashrc
source ~/.bashrc

Installation von Ollama

curl -fsSL https://ollama.ai/install.sh | sh
systemctl enable ollama
systemctl start ollama
ollama --version

🧠 Kapitel 5: AI-Modelle

Ollama ermöglicht das Herunterladen und lokale Ausführen von Open-Source-Modellen. Für dieses Projekt verwenden wir **Llama 3.2 (3B)** – ausreichend leistungsfähig für grundlegende medizinische Inferenz.

Modell herunterladen

ollama pull llama3.2:3b

Installationsprüfung

ollama list

Schnelltest

ollama run llama3.2:3b "Erkläre diabetische Polyneuropathie"

Das Modell wird vollständig offline, direkt aus Ihrem Container, antworten.

🧬 Kapitel 6: Empfohlene AI-Modelle für Ollama (medizinisch und allgemein)

Ollama unterstützt eine breite Palette von Modellen, sowohl allgemeine (für Konversationen, Programmierung oder Textanalyse) als auch spezialisierte (medizinische, wissenschaftliche oder zur Zusammenfassung).
Unten finden Sie eine Vergleichstabelle, die Ihnen hilft, das richtige Modell entsprechend den verfügbaren Ressourcen und dem Anwendungszweck auszuwählen.

Vergleichstabelle Medizinische AI-Modelle

text
MODELL           TYP       PARAMETER   MIN RAM      GPU-ANFORDERUNG GRÖSSE          STÄRKEN                   EMPFOHLENE ANWENDUNG
--------------- --------- ----------- ------------ ----------------- ------------ ---------------------------- -----------------------------------------
Llama 3.2:3b    Allgemein 3B          4 GB         Optional         ~2.8 GB      Schnell und kompakt         Allgemeiner Chat, Basis-AI-Medizin
Llama 3.1:8b    Allgemein 8B          8 GB         Empfohlen        ~7.8 GB      Kohärente und klare Analyse  Komplexe medizinische Erklärungen
Mistral 7B      Allgemein 7B          8 GB         Empfohlen        ~6.9 GB      GPT-3.5-Qualität, Geschwindigkeit  Allgemeine Konversationen
Gemma 7B        Allgemein 7B          8 GB         Empfohlen        ~6.5 GB      Mehrsprachig, gut trainiert  Übersetzungen und medizinische Erklärungen
MedLlama2:7b    Medizinisch 7B          8 GB         Optional         ~6.8 GB      Spezialisierte klinische Sprache  Differentialdiagnose
BioMedLM        Medizinisch 2.7B        4 GB         Optional         ~2.5 GB      Basierend auf PubMed-Artikeln

🔍 Praktische Empfehlungen

  • Für Proxmox LXC mit 4 GB RAM empfehle ich Llama 3.2:3b oder BioMedLM.

  • Für einen Server mit dedizierter GPU (RTX 3060 / 8 GB) können Sie MedLLama2:7b oder Gemma 7B problemlos ausführen.

  • Wenn Sie Antworten in kombinierter rumänischer/englischer natürlicher Sprache wünschen, ist Phi-3 Mini das ausgewogenste Leichtgewichtsmodell.

  • Große Modelle (>8B) können nur teilweise in den RAM geladen werden und erfordern schnellen Swap oder eine GPU.


Möchten Sie die Arbeit mit diesem vollständig integrierten und stilisierten Abschnitt (mit Emojis, Überschriften und im identischen Format wie der Rest des Dokuments), als Version v1.1 der Anleitung fortsetzen?
Ich kann auch die genauen Anweisungen zum Herunterladen jedes Modells (ollama pull) und die Nutzungsempfehlungen im Terminal hinzufügen.


🌐 Kapitel 7: Lokale Weboberfläche (Einfaches Web UI)

Sie können eine minimale Web-Oberfläche in Flask für schnelles Testen des Systems erstellen.

Erstellen Sie die Datei simple_webui.py:

from flask import Flask, request, jsonify, render_template_string
import requests

app = Flask(__name__)

HTML = '''
<!DOCTYPE html>
<html>
<body>
    <h2>🦙 Ollama Medical Chat</h2>
    <input id="input" placeholder="Fragen Sie das medizinische Modell..." style="width:300px">
    <button onclick="ask()">Senden</button>
    <div id="response" style="margin-top:20px; padding:10px; border:1px solid #ccc"></div>

    <script>
        async function ask() {
            const input = document.getElementById('input').value;
            document.getElementById('response').innerText = "Wird verarbeitet...";
            const response = await fetch('/chat', {
                method: 'POST',
                headers: {'Content-Type': 'application/json'},
                body: JSON.stringify({prompt: input})
            });
            const data = await response.json();
            document.getElementById('response').innerText = data.response;
        }
    </script>
</body>
</html>
'''

@app.route('/')
def home():
    return render_template_string(HTML)

@app.route('/chat', methods=['POST'])
def chat():
    data = request.json
    response = requests.post('http://localhost:11434/api/generate', json={
        "model": "llama3.2:3b",
        "prompt": data['prompt'],
        "stream": False
    })
    return jsonify(response.json())

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000, debug=True)

Flask installieren und starten:

apt install python3-pip -y
pip3 install flask requests
python3 simple_webui.py

Dann im Browser aufrufen:

http://192.168.0.27:3000

🩺 Kapitel 8: Tests und Validierung

Testen Sie den gesamten Ablauf:

  • Website → AI Engine → Ollama Lokal
  • Komplexe medizinische Fragen (z. B.: *Behandlung von Polyneuropathie*, *Anwendung von Botulinumtoxin*)
  • Überprüfen Sie, ob die Antworten nicht zensiert oder unvollständig sind

🟢 Kapitel 9: Ollama und WebUI permanent und extern sichtbar

Um zu vermeiden, dass Ollama und das WebUI beim Schließen des Terminals beendet werden, erstellen wir systemd-Dienste:

Ollama-Dienst

Erstellen Sie /etc/systemd/system/ollama.service:

[Unit]
Description=Ollama Service
After=network-online.target
Wants=network-online.target

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
User=ollama
Group=ollama
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

[Install]
WantedBy=multi-user.target

Aktivieren und starten:

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl restart ollama
ss -tuln | grep 11434

Ollama lauscht nun auf allen Schnittstellen und startet automatisch beim Booten.

WebUI-Dienst

Erstellen Sie /etc/systemd/system/ollama-webui.service:

[Unit]
Description=Ollama Simple WebUI
After=network.target ollama.service
Requires=ollama.service

[Service]
Type=simple
WorkingDirectory=/root
ExecStart=/usr/bin/python3 /root/simple_webui.py
Restart=always
RestartSec=5
User=root
Environment=PATH=/usr/bin:/usr/local/bin

[Install]
WantedBy=multi-user.target

Aktivieren und starten:

sudo systemctl daemon-reload
sudo systemctl enable ollama-webui
sudo systemctl start ollama-webui
sudo systemctl status ollama-webui

Jetzt startet Ihr WebUI automatisch nach dem Booten und verbindet sich direkt mit Ollama.

🩺 Kapitel 10: Überwachung und Wartung

Ressourcenüberwachung:

htop
df -h
ollama ps

Empfohlenes Backup:

  • Vollständiger Snapshot des Containers in Proxmox
  • Regelmäßiges Backup von /var/lib/ollama

🧭 Fazit

Durch die korrekte Konfiguration eines Proxmox-Containers, die Installation von Ollama mit lokalen AI-Modellen und das automatisierte WebUI-System verfügen Sie über ein vollständig autonomes, komplett offline funktionierendes medizinisches Expertensystem, das bereit zur Integration in Websites oder andere lokale Anwendungen ist.

Dieses Setup gewährleistet:

  • Stabilität und automatischen Start
  • Externe Sichtbarkeit für Cloudflare Tunnel
  • Volle Kapazität für AI-Tests und -Entwicklung ohne Einschränkungen