Zum Inhalt springen

Was wir gebaut haben

Echte Projekte, immer gleich beschrieben: was nicht funktionierte, was wir gemacht haben, was sich geändert hat. Wo uns noch eine gemessene Zahl fehlt, ist die Lücke markiert.

01

Eine private KI für ein Büroteam, auf vorhandenen GPUs

Internes Projekt, kein Kundenauftrag · 2026

Problem
Das Team wollte einen KI-Assistenten für Chat und Programmierung, aber Firmencode und Dokumente sollten nicht zu einem öffentlichen Dienst gehen. Keine einzelne Workstation hatte genug GPU-Speicher für ein 27B-Modell mit langem Kontext.
Was wir gemacht haben
Wir haben ein Modell mit 27 Milliarden Parametern mit llama.cpp RPC auf vier vorhandene GPU-Workstations verteilt, drei mit NVIDIA und eine mit AMD, und llama.cpp dafür selbst für CUDA, ROCm/HIP und Vulkan gebaut. Genutzt wird es über Open WebUI zum Chatten und über eine OpenAI-kompatible API direkt in den Entwicklungswerkzeugen. Das Deployment läuft über Bash und systemd, mit Health-Checks und Rollback. Der RPC-Port ist per Firewall abgeschottet, der Dienst hat ein eigenes Konto und die API verlangt einen Schlüssel.
Ergebnis
Lasttest mit 10–16 Personen gleichzeitig: 0 Fehler, etwa 22 Tokens pro Sekunde für jeden, 262K Tokens Kontext.
Technik

llama.cpp RPC · CUDA · ROCm/HIP · Vulkan · Open WebUI · Linux · systemd · Bash

Wie der Cluster aufgebaut istKlicken Sie auf ein Kästchen, um zu sehen, was es tut.

Diagramm: Nutzer verbinden sich mit Open WebUI oder der API, die Anfragen an llama-server senden. llama-server verteilt das Modell über llama.cpp RPC auf vier GPU-Worker: drei mit NVIDIA, einer mit AMD. Die Antworten werden zurückgestreamt.

↑ Antworten zurückgestreamt

Koordinator

llama-server

llama-server lädt das 27B-Modell und legt jeweils einen Teil davon in den GPU-Speicher jedes Workers. Für jedes Token koordiniert er die Worker über das Netzwerk. Er läuft unter einem eigenen Dienstkonto.

Hier wird ein Modell auf vier Rechner aufgeteilt; das ist kein Load Balancing. Jede Anfrage nutzt alle vier GPUs, weil jede einen Teil desselben Modells hält.

Wofür es genutzt wird

Die meisten Fragen drehen sich um Code. Weil das Modell im Haus läuft, kann internes Material eingefügt werden, ohne dass es das Netzwerk verlässt.

Beispielhafte Unterhaltung

Open WebUI

Entwickler

Dieses Deploy-Skript startet den Inferenzserver neu, prüft aber nie, ob er wieder läuft. Wie warte ich mit einem Timeout darauf, dass er bereit ist?

systemctl restart llama-server
echo "deploy finished"

Lokales Modell · 27B

Fragen Sie nach dem Neustart den /health-Endpunkt von llama-server ab. Beenden Sie das Skript, sobald er antwortet, und brechen Sie mit einem Fehlercode ab, wenn er nach 60 Sekunden noch nicht erreichbar ist, damit das Deployment zurückrollen kann:

systemctl restart llama-server

for attempt in $(seq 1 30); do
  if curl -fsS http://127.0.0.1:8080/health > /dev/null; then
    echo "llama-server is healthy"
    exit 0
  fi
  sleep 2
done

echo "llama-server not healthy after 60 s" >&2
exit 1

Gemessen im Lasttest

GPU-Workstations
4
Parameter
27B
Tokens Kontext
262K
Personen gleichzeitig
10–16
Fehler
0
Tokens/s pro Person
≈22

Zahlen aus dem Lasttest dieses Aufbaus, keine Zusage für andere Hardware.

02

Warum die Firewall im Büro bei 100 % lag

Internes Projekt, kein Kundenauftrag · SonicWall NSA 4700 (Gen7)

Problem
Die Data Plane der Firewall lief fast bei 100 %, und niemand wusste, welcher Verkehr dahintersteckte.
Was wir gemacht haben
Mit App Flow Monitor haben wir die größten Verkehrsquellen in den internen Subnetzen gefunden und danach Sicherheitsrichtlinien, Segmentierung und VLANs verschärft. Der Fernzugriff läuft über OpenVPN und LogonBox VPN, das auf WireGuard basiert.
Ergebnis
Wir haben gefunden, welcher Verkehr die Firewall auslastete, und die Richtlinien gezielt verschärft. Mitarbeitende von außen verbinden sich per VPN.
Technik

SonicWall NSA 4700 · SonicOS 7 · App Flow Monitor · VLANs · OpenVPN · WireGuard

03

Phishing-Simulationen, bevor es ein echter Angreifer versucht

Internes Projekt, kein Kundenauftrag · Microsoft 365

Problem
Niemand wusste, wie das Team auf eine überzeugende Phishing-Mail reagieren würde.
Was wir gemacht haben
Wir haben E-Mail-Phishing-Simulationen mit Microsoft Defender Attack Simulation Training durchgeführt, auch Credential-Harvest-Kampagnen mit eigenen Landingpages, und kleine selbst gehostete Schulungs-Apps gebaut. Außerdem haben wir vorgeschlagen, die Tests mit einem GoPhish-Pilot auf Slack auszuweiten.
Ergebnis
Ein gemessenes Bild davon, wie das Team auf Phishing reagiert, aus realistischen Kampagnen statt Vermutungen.
Technik

Microsoft Defender for Office 365 · Attack Simulation Training · Microsoft 365

04

Skripte ausführen, ohne Zugang zum Server

Internes Projekt, kein Kundenauftrag · internes Werkzeug

Problem
Mitarbeitende mussten einige Wartungsskripte ausführen. Allen Shell-Zugang zu einem Server zu geben, ist der sichere Weg zu Unfällen.
Was wir gemacht haben
Ein kleiner Python/Flask-Dienst im Büronetz, mit HTTP-Authentifizierung, einer Allowlist freigegebener Skripte und Zeitlimits. Man klickt einen Knopf, und es läuft nur freigegebener Code.
Ergebnis
Die Mitarbeitenden führen die freigegebenen Skripte selbst aus, und niemand braucht Shell-Zugang zum Server.
Technik

Python · Flask · Linux · HTTP-Authentifizierung

05

bazarescu.ro, unsere eigene Angebotsseite, überwiegend von Skripten betrieben

Eigenes Projekt · Rumänien · laufend

Problem
Rabatte in rumänischen Onlineshops ändern sich täglich. Sie von Hand zu prüfen, skaliert nicht.
Was wir gemacht haben
Zeitgesteuerte Python-Jobs importieren die Produkt-Feeds der Händler, bereinigen die Daten, prüfen Preise und Rabatte und veröffentlichen die Angebote mit Affiliate-Links und KI-gestützter Suche. Welche Kategorien eine eigene Seite bekommen, entscheidet die Recherche zur Suchnachfrage.
Ergebnis
Angebote werden von zeitgesteuerten Jobs importiert, geprüft und veröffentlicht, ohne Handarbeit.
Technik

Python · Zeitgesteuerte Jobs · Affiliate-Feeds · SEO · KI-Suche

Wie ein Angebot auf die Seite kommt
  1. Produkt-Feeds der Händler
  2. Python-Importjobs nach Zeitplan
  3. Produkte in ein einheitliches Format
  4. Preis und Rabatt geprüft
  5. Suchnachfrage bestimmt die Kategorien
  6. Kategorien und KI-Suche
  7. Seite mit Affiliate-Link
bazarescu.ro besuchen

06

Dokumente und Kampagnenmessung ohne Handarbeit

Für unser eigenes Unternehmen

Problem
Wiederkehrende Dokumente wurden von Hand zusammengestellt, und Werbekampagnen liefen ohne verlässliche Messung.
Was wir gemacht haben
Python-Skripte mit python-docx und ReportLab erzeugen die Dokumente aus Daten. Im Marketing: Google Ads mit Conversion-Tracking über den Google Tag Manager, technisches SEO und Schema.org-Auszeichnung.
Ergebnis
Wiederkehrende Dokumente kommen aus einem Skript statt aus Handarbeit, und Kampagnen laufen mit Conversion-Tracking.
Technik

Python · python-docx · ReportLab · Google Ads · Google Tag Manager · Schema.org

Erzählen Sie uns, was nicht funktioniert oder was Sie bauen möchten.

Buchen Sie ein Gespräch, schreiben Sie uns oder nutzen Sie das Formular. Antworten bekommen Sie von dem Ingenieur, der die Arbeit machen würde.

Praktisches

  • Wir arbeiten nach Bukarester Zeit (EET); unsere Nachmittage überschneiden sich mit den Vormittagen an der US-Ostküste.
  • Remote in Europa und den USA; vor Ort in Bukarest.

Oder schreiben Sie hier

Das öffnet eine E-Mail an uns in Ihrem eigenen E-Mail-Programm. Diese Website sendet und speichert nichts.