Zum Inhalt springen

Navigation

Modelle und Rechner

Sprachmodelle sind das Herz der KI. Hier erfährst du, wie du Modelle installierst und entfernst, wie die Plattform sie verteilt und wie du weitere Rechner für mehr Leistung anhängst.

11 Min. Lesezeit Kapitel 8

Was ist ein Sprachmodell?#

Ein Sprachmodell ist die eigentliche «Intelligenz», die Fragen beantwortet und Texte schreibt. Es gibt kleine, schnelle Modelle und grosse, besonders fähige. Grössere Modelle brauchen mehr Arbeitsspeicher und profitieren stark von einer Grafikkarte.

swaiz startet ohne Modell. Erweiterungen installieren die Modelle, die sie brauchen, selbst. Für den Chat kannst du zusätzlich eigene Modelle wählen.

Alle Anfragen laufen über die KI-Zentrale. Sie kennt jedes installierte Modell und weiss, auf welchem Rechner es läuft. Kein Bereich der Plattform spricht ein Modell direkt an.

Welches Modell passt?#

Als grobe Orientierung:

Grösse Arbeitsspeicher Geeignet für
Klein ca. 6 GB schnelle Antworten, einfache Aufgaben, Server ohne Grafikkarte
Mittel ca. 9 GB gute Qualität für die meisten Büroaufgaben
Gross ca. 15 GB und mehr anspruchsvolle Texte, lange Dokumente, beste Qualität

Gerne empfehlen wir dir Modelle, die zu deiner Hardware und deinen Aufgaben passen: [email protected].

Modelle installieren#

sudo aictl model install <modell>

Statt install kannst du auch pull schreiben. Den Modellnamen gibst du so an, wie ihn die Modellbibliothek führt, zum Beispiel llama3.1:8b.

Der Befehl:

  1. prüft deine Lizenz: Ist sie abgelaufen oder eingeschränkt, ist das Hinzufügen von Modellen gesperrt (siehe Lizenz),
  2. lädt das Modell herunter und zeigt den Fortschritt in Prozent,
  3. trägt es in der KI-Zentrale ein. Danach steht es im Chat zur Auswahl.

Ohne --node landet das Modell auf dem Hauptserver. Mit --node <name> installierst du es auf einem bestimmten Modell-Rechner:

sudo aictl model install llama3.1:8b --node gpu-1

Der Rechner, auf dem das Modell landet, lädt es selbst aus dem Internet. Jeder Rechner braucht dafür einen Internetzugang.

Gut zu wissen#

  • Kommt der Download fünf Minuten lang nicht voran, bricht der Befehl ab: «the download stalled; retry when the network or upstream recovers». Führe ihn einfach erneut aus, sobald das Netz wieder stabil ist.
  • Installierst du ein Modell auf einem Rechner, den du vorübergehend aus der Verteilung genommen hast, wird es zwar heruntergeladen, aber noch nicht genutzt. aictl weist dich darauf hin.
  • Ist die Lizenz eingeschränkt, ist model install gesperrt. Das Entfernen von Modellen geht dagegen immer.

Modelle anzeigen#

sudo aictl model ls

Statt ls geht auch list. Die Liste zeigt jedes Modell und die Rechner, auf denen es bereitsteht. Mit --json erhältst du dieselben Angaben maschinenlesbar.

  • Der Zusatz :latest wird im Namen weggelassen: Aus bge-m3:latest wird bge-m3. Andere Zusätze wie :8b bleiben stehen.
  • model ls zeigt nur Modelle, die die KI-Zentrale gerade tatsächlich nutzt. Modelle auf einem Rechner, der nicht erreichbar ist oder den du aus der Verteilung genommen hast, fehlen hier. node ls zählt sie trotzdem mit.

Modelle entfernen#

sudo aictl model rm <modell>
sudo aictl model rm <modell> --node gpu-1

Statt rm geht auch remove. Das Modell wird vom Rechner gelöscht und aus der KI-Zentrale ausgetragen. Ist es dort gar nicht installiert, meldet der Befehl das und ändert nichts.

Automatische Erkennung#

Der Hintergrunddienst prüft etwa alle 30 Sekunden alle Rechner und trägt jedes Modell, das er dort findet, in die KI-Zentrale ein. Das gilt auch für Modelle, die nicht über aictl installiert wurden. Ein Modell, das nur Texte in Zahlenvektoren umwandelt (für die Suche in Dokumenten), erkennt die Plattform automatisch und trägt es entsprechend ein.

Weitere Rechner hinzufügen#

Wird der Hauptserver zu langsam, hängst du weitere Rechner als Modell-Rechner an, zum Beispiel einen Rechner mit starker Grafikkarte. Auf diesen Rechnern läuft nur die Modell-Engine, keine weitere Plattform. Die KI-Zentrale verteilt die Anfragen automatisch auf alle Rechner, die ein Modell bereitstellen.

  1. Erzeuge auf dem Hauptserver den Befehl zum Anhängen:

    sudo aictl node join-command gpu-1
    

    Er gibt eine fertige Zeile aus, zum Beispiel:

    sudo aictl join https://10.0.0.5:7700 --token <token> --fingerprint sha256:<fingerabdruck> --name gpu-1
    

    Das Token in dieser Zeile gilt eine Stunde. Mit --ttl 4h gilt es länger, höchstens sieben Tage. Ist es abgelaufen, erzeugst du einfach eine neue Zeile.

  2. Installiere auf dem neuen Rechner das Werkzeug aictl:

    curl -fsSL https://swaiz.ch/install | sh
    
  3. Führe dort die Zeile aus, die der Hauptserver ausgegeben hat.

Danach installierst du Modelle gezielt auf dem neuen Rechner:

sudo aictl model install <modell> --node gpu-1

Was join tut#

  1. Es prüft den Namen und ob der Hauptserver erreichbar ist. Dabei vergleicht es den Fingerabdruck des Hauptservers mit dem aus der Zeile und bricht ab, bevor es das Token sendet, wenn er nicht passt.
  2. Es kopiert aictl nach /usr/local/bin.
  3. Es meldet den Rechner beim Hauptserver an. Ein falsches oder abgelaufenes Token fällt so schon nach wenigen Sekunden auf. Der Rechner erhält dabei einen eigenen Zugangsschlüssel, mit dem er sich später selbst abmeldet.
  4. Es installiert die Modell-Engine, falls sie fehlt, und richtet sie für den Zugriff vom Hauptserver ein.
  5. Es lässt den Hauptserver prüfen, ob er den neuen Rechner erreicht. Klappt das nicht, gibt es eine Warnung, der Beitritt bleibt aber gültig.

Schlägt die Einrichtung der Modell-Engine fehl, ist der Rechner bereits angemeldet. Behebe die Ursache und führe denselben join-Befehl noch einmal aus. Ist sein Token inzwischen abgelaufen, erzeuge auf dem Hauptserver eine neue Zeile.

Optionen von join#

Option Bedeutung
--name <name> eindeutiger Name des Rechners (Pflicht)
--token <token> Beitritts-Token des Hauptservers (Pflicht)
--fingerprint <wert> Fingerabdruck des Hauptservers, wie ihn node join-command ausgibt (Pflicht)
--advertise <adresse> Adresse, unter der der Hauptserver diesen Rechner erreicht. Ohne Angabe wird sie automatisch ermittelt. Die Modell-Engine hört immer auf Port 11434. Gibst du einen anderen Port an, warnt join, denn dann muss ihn etwas auf 11434 weiterleiten.

Zwei weitere Optionen legen die Version der Modell-Engine fest oder lassen sie unverändert, sudo aictl join --help zeigt sie. Ohne sie hebt ein erneuter join eine ältere Modell-Engine auf die Version an, die mit aictl kommt. Eine neuere Version bleibt unverändert.

Namen bestehen aus 1 bis 63 Kleinbuchstaben, Ziffern und Bindestrichen und beginnen mit einem Buchstaben oder einer Ziffer. Der Name der Modell-Engine des Hauptservers (Standard local) ist reserviert.

Gut zu wissen#

  • Der Hauptserver muss seinen Hintergrunddienst laufen haben, sonst schlägt der Beitritt fehl: «services node not reachable at …».
  • join lässt sich nicht auf dem Hauptserver selbst ausführen.
  • node join-command setzt die Adresse ein, über die der Hauptserver ins Internet geht, ohne Internetzugang die erste Adresse eines Netzwerks. Hat der Server weitere Adressen, etwa ein VPN, nennt der Befehl sie. Mit --host <adresse> setzt er die gewünschte ein.
  • Die ausgegebene Zeile enthält das Beitritts-Token. Behandle sie vertraulich.

Netzwerk zwischen den Rechnern#

Verbindung Port Wann
Modell-Rechner → Hauptserver 7700 nur beim Beitritt und beim Entfernen mit uninstall
Hauptserver → Modell-Rechner 11434 dauerhaft, für jede Anfrage an ein Modell

Achtung: Beitritt und Abmeldung über Port 7700 sind verschlüsselt, und join prüft den Fingerabdruck des Hauptservers. Die Anfragen an die Modell-Engine auf Port 11434 sind dagegen weder verschlüsselt noch durch eine Anmeldung geschützt. Betreibe mehrere Rechner deshalb nur in einem vertrauenswürdigen internen Netz oder verbinde sie über ein VPN und tritt mit der VPN-Adresse bei. Port 7700 darf nicht aus dem Internet erreichbar sein.

  • Akzeptiert werden nur Adressen aus privaten Netzen: 10.x.x.x, 172.16.x.x bis 172.31.x.x, 192.168.x.x, der Bereich 100.64.0.0/10, den viele VPN-Lösungen nutzen, sowie private IPv6-Adressen. Ein Name wird aufgelöst, und jede Adresse dahinter muss erlaubt sein.
  • Öffentliche Adressen lehnt der Hauptserver ab, solange in der Einstellungsdatei nicht controlPlane.allowPublicNodeEndpoints: true steht. Wir raten davon ab.
  • Mit controlPlane.bindAddress in der Einstellungsdatei nimmt der Hauptserver Beitritte nur auf einer Adresse an, etwa seiner VPN-Adresse. node join-command setzt dann diese Adresse ein.
  • Läuft auf dem Hauptserver eine Firewall, musst du Port 7700 für die Modell-Rechner selbst freigeben. Ist es ufw ohne passende Regel, weist sudo aictl doctor darauf hin.
  • Nach fünf falschen Tokens innerhalb von 15 Minuten sperrt der Hauptserver die Absenderadresse für 15 Minuten.

Rechner verwalten#

Befehl Wirkung
sudo aictl node ls zeigt alle Rechner mit Adresse, Zustand und Anzahl Modelle, auch die Modell-Engine des Hauptservers. Mit --json maschinenlesbar.
sudo aictl node drain gpu-1 nimmt einen Rechner aus der Verteilung, zum Beispiel für eine Wartung
sudo aictl node undrain gpu-1 nimmt ihn wieder auf
sudo aictl node rm gpu-1 entfernt einen Rechner aus der Liste und aus der Verteilung
sudo aictl node token erzeugt ein neues Beitritts-Token, das eine Stunde gilt. Mit --revoke-all werden alle offenen Tokens ungültig.
sudo aictl node join-command [name] gibt die fertige join-Zeile aus
  • drain ist der sanfte Weg für Wartungen: Der Rechner bleibt angemeldet und wird weiter geprüft, bekommt aber keine Anfragen mehr. Laufende Anfragen werden nicht abgebrochen.
  • node rm verändert den Rechner selbst nicht. Seine Modell-Engine und seine Modelle bleiben dort bestehen.
  • Die Modell-Engine des Hauptservers lässt sich weder entfernen noch aus der Verteilung nehmen.
  • Ein Beitritts-Token gilt eine Stunde, mit --ttl höchstens sieben Tage, und lässt sich bis dahin für mehrere Rechner verwenden. Angemeldete Rechner brauchen es nicht mehr. Ablauf und --revoke-all betreffen sie nicht.
  • Zusätzliche Modell-Rechner brauchen keine eigene Lizenz.

Lastverteilung#

Läuft dasselbe Modell auf mehreren Rechnern, verteilt die KI-Zentrale die Anfragen zufällig und gleichmässig auf sie. Fällt ein Rechner aus, merkt das der Hintergrunddienst bei seiner nächsten Prüfung, also innerhalb von etwa 30 Sekunden, und nimmt ihn aus der Verteilung. Ein kurzer Aussetzer wirft einen Rechner nicht gleich hinaus: Jede Prüfung wird einmal wiederholt.

aictl status zeigt jeden Modell-Rechner an. Ein nicht erreichbarer Rechner erscheint als Warnung, nicht als Fehler.

Beitritt erneut ausführen#

  • Gleicher Name, gleiche Adresse: Der Beitritt lässt sich gefahrlos wiederholen. Ein Rechner, den du aus der Verteilung genommen hast, bleibt es.
  • Gleicher Name, neue Adresse, zum Beispiel weil der Rechner eine neue IP-Adresse bekommen hat: Der Hauptserver lehnt ab, weil der Name schon unter der alten Adresse angemeldet ist. Entferne den Rechner mit sudo aictl node rm <name> und tritt erneut bei. Gib Modell-Rechnern am besten feste Adressen.
  • Gleiche Adresse, anderer Name: wird ebenfalls abgelehnt.

Rechner stilllegen#

Führe auf dem Modell-Rechner aus:

sudo aictl uninstall

Der Befehl meldet den Rechner beim Hauptserver ab, damit er keine Anfragen mehr bekommt. Danach ist die Modell-Engine nur noch auf dem Rechner selbst erreichbar, und die Ordner /etc/aictl und /var/lib/aictl werden gelöscht. Die Modell-Engine und ihre Modelle bleiben installiert.

Läuft der Rechner nicht mehr oder erreicht er den Hauptserver nicht, nimm ihn auf dem Hauptserver aus der Liste:

sudo aictl node rm gpu-1

Ein Rechner, der mit einer älteren Version von aictl beigetreten ist, kann sich nicht selbst abmelden. uninstall weist darauf hin. Entferne ihn dann ebenfalls mit node rm.

Auf einem Modell-Rechner zeigt aictl status die Rolle des Rechners, den zugehörigen Hauptserver und den Zustand der Modell-Engine. aictl doctor meldet den Rechner ebenfalls als Modell-Rechner.

Modelle von Erweiterungen#

Erweiterungen bringen ihre Modelle mit. Bei aictl extension install gilt:

  • Benötigte Modelle werden immer installiert.
  • Empfohlene Modelle werden mit einer Ja/Nein-Frage angeboten. Standard ist Ja.
  • Optionale Modelle werden nur erwähnt. Du kannst sie jederzeit mit model install nachholen.

Danach wählst du für jedes Modell den Rechner:

  • Liegt das Modell schon auf einem erreichbaren Rechner, wird es dort wiederverwendet, ohne Rückfrage und ohne zweiten Download.
  • Gibt es nur den Hauptserver, landet es automatisch dort.
  • Bei mehreren Rechnern wählst du aus einer Liste. Rechner, die du aus der Verteilung genommen hast, stehen nicht zur Wahl.
  • Mit --yes oder ohne Terminal gilt die Vorauswahl.

Deine Antworten werden gespeichert. Updates und Abgleiche fragen nie erneut.

Hinweis: Entfernst du einen Rechner mit node rm oder benennst du die Modell-Engine des Hauptservers mit install --node-name um, lädt aictl die Modelle, die dort lagen, beim nächsten Abgleich auf den Hauptserver und warnt dich. Soll ein Modell wieder auf einen eigenen Rechner, melde einen Rechner mit dem alten Namen an oder passe die Wahl in /etc/aictl/spec.yaml unter extensions → modelTargets an und führe sudo aictl apply aus.

Mehr zu Erweiterungen steht unter Erweiterungen verwalten.

Cloud-Modelle zuschalten#

Möchtest du für bestimmte Aufgaben ein Cloud-Modell nutzen, richtest du es in der Administrationsoberfläche der KI-Zentrale ein, nicht über aictl. model install ist nur für lokale Modelle.

  1. Veröffentliche die KI-Zentrale, falls noch nicht geschehen. Wähle sie in der Auswahl aus (Standard-Subdomain api) und übernimm die Änderung:

    sudo aictl proxy hostname
    sudo aictl apply
    
  2. Öffne https://api.<deine-domain>/ui und melde dich als Administrator über den Firmen-Login oder als aictl-admin an (Passwort mit sudo aictl auth info --show-password).

  3. Lege das Modell an und hinterlege den Schlüssel des Anbieters. Er wird verschlüsselt gespeichert.

Die Plattform lässt Modelle, die du dort einrichtest, in Ruhe. Modelle der lokalen Modell-Engine richtest du trotzdem besser mit aictl model ein, dann verteilt die Plattform sie selbst auf die Rechner.

Wichtig: Ein Cloud-Modell schickt Anfragen und damit Inhalte an einen externen Anbieter. Prüfe vorher die datenschutzrechtlichen Folgen und informiere dein Team. Ohne Cloud-Modelle bleibt alles auf deiner Hardware.

Gut zu wissen#

  • Die Modell-Engine des Hauptservers heisst standardmässig local. Bei der Installation kannst du mit --node-name einen anderen Namen wählen. Er darf nicht schon von einem Modell-Rechner belegt sein.
  • aictl aktualisiert eine bereits installierte Modell-Engine nie, weder auf dem Hauptserver noch auf Modell-Rechnern.
  • Die Liste der Modell-Rechner ist im Backup und kommt mit einer Wiederherstellung zurück. Erreicht ein neuer Server einen Rechner nicht, lass ihn neu beitreten. Siehe Backup und Wiederherstellung.
  • Sprachmodelle sind ebenfalls nicht im Backup, da sie jederzeit neu heruntergeladen werden können.

Nicht gefunden, was du suchst?

Unser Support hilft dir gerne weiter.

Support kontaktieren

Dokumentation durchsuchen

Esc

    Gesucht wird in Titeln und im Text aller Kapitel.