Ein Laptop mit einem Finanzdiagramm im Hintergrund, auf dem Tisch liegen ein 100-Euro-Schein und mehrere Bitcoin-Münzen nebeneinander.
Lassen wir die KI an unser Eingemachtes? Natürlich nur dann, wenn die Vertraulichkeit gewährleistet ist (Alesia Kozik, Pexels-Lizenz).

KI im Browser: So gelingt der Spagat zwischen Komfort und Datenschutz

Zu­ge­geben, diese An­lei­tung ist nichts für schwache Nerven: Aber wenn ihr euch auf dieses Aben­teuer ein­lasst, könnt ihr im Browser höchst sen­sible In­for­ma­tio­nen wie eure Fi­nanz­da­ten mittels KI ana­ly­sieren.

Es ist ein Dilemma: Einerseits ist eine KI-Unterstützung im Browser unglaublich hilfreich. Das Sprachmodell fasst Webseiten zusammen, übersetzt oder interpretiert Sachverhalte, ohne dass wir mit der Zwischenablage jonglieren müssten. Andererseits steht ständig ein Elefant namens Datenschutz im Raum: Wir müssen konstant im Hinterkopf behalten, dass unsere Aufträge in einem fremden Rechenzentrum abgewickelt werden. Sie können dort mitgeschnitten und zu einem Profil unserer Aktivitäten, Interessen und Lebensumstände aggregiert werden.

Ein konkretes Beispiel: Neulich sah ich mir online meine Ausgaben an und fand, es wäre praktisch, die automatisch nach Kategorien sortieren zu lassen. Das hilft beim Erkennen von Sparpotenzialen. Früher gab es in der Mobile-Banking-App der ZKB dafür den Finanzassistenten, der bei einem Update leider ersatzlos gestrichen wurde. Also: Wäre es nicht toll, wenn wir dieses Manko eigenständig mittels künstlicher Intelligenz beseitigen könnten? Aber natürlich ohne gegenüber OpenAI oder Anthropic in finanzieller Hinsicht unsere Hosen herunterzulassen?

Ein bisschen KI geht auch ohne Cloud

Die Lösung könnte, natürlich, ein lokales Sprachmodell sein. Das betreiben wir auf unserem Rechner oder im Heimnetzwerk. Es lässt sich in den Browser einbinden, sodass wir es verwenden können, als ob es direkt eingebaut wäre.

Die gute Nachricht ist: Das klappt tatsächlich. Wie, erkläre ich in diesem Blogpost hier. Die schlechte Nachricht ist, dass ein lokales LLM nicht allen Aufgaben gewachsen ist, die ChatGPT oder Claude mit Links erledigen würden. Für den (wirklich aussagekräftigen) Finanzassistenten ist es zu schwachbrüstig – die Detaildiskussion führe ich am Ende des Beitrags.

Screenshot einer Benutzeroberfläche mit zwei Bereichen: links eine Eingabeaufforderung für eine Tabelle von Ausgaben, rechts eine Übersicht über einen Kontoauszug mit Buchungsdetails und Transaktionsdaten.
Mit Claude würde ich das nicht tun: eine KI-Analyse der jüngsten Banktransaktionen.

Immerhin: Einfachere Aufgaben wie eine Zusammenfassung oder einen Blogteaser für die sozialen Medien liefert uns die lokale KI – allerdings nicht in dem Tempo, das wir verwöhnten ChatGPT-Kinder uns gewohnt sind.

Trotzdem sollten wir uns nicht abschrecken lassen. So funktioniert unser selbstbetriebenen Browser-KI-Helfer:

1) Sprachmodelle im lokalen Netzwerk betreiben

Um lokale Sprachmodelle zu betreiben, gibt es diverse Möglichkeiten. Ich verwende (sowohl am Mac als unter Windows das hier vorgestellte) LM Studio. Das hält in der Rubrik Developer im Bereich Local Server die Möglichkeit bereit, ein Sprachmodell auf dem gleichen Gerät oder aber über das lokale Netzwerk zur Verfügung zu stellen.

Dazu tun wir folgendes:

  • Wir schalten bei Status um auf Running.
  • Falls wir auf dem selben Computer auf die lokale zugreifen möchten, kopieren wir die Adresse mit dem Localhost und der Portnummer bei Reachable at, die http://127.0.0.1:1234 lautet.
  • Falls wir auf einem anderen Gerät mit dem Sprachmodell arbeiten möchten, klicken wir auf Server Settings und aktivieren dort die Option Im lokalen Netzwerk bereitstellen. Nun erscheint anstelle der Localhost-Adresse die IP-Adresse, die in meinem Fall http://192.168.178.22:1234lautet. Wir können die Adresse unter Windows auch via Eingabeaufforderung mit ipconfig in Erfahrung bringen.
  • Gleichzeitig sollte die Windows-Firewall aufpoppen und nachfragen, ob wir den Zugriff von aussen erlauben wollen. Falls die Anfrage nicht auftaucht, müssen wir den Zugriff manuell erlauben. Wir suchen nach Windows Defender Firewall mit erweiterter Sicherheit, wählen im Ast der Regeln den Bereich Eingehende Regeln, klicken rechts auf Neue Regel, wählen Port, dann TCP, geben die Portnummer 1234 an, setzen die Option Verbindung zulassen, setzen unter Profil die Option Privat und/oder Domäne und benennen die Regel passend. Um die Sicherheit zu erhöhen, können wir den Zugriff auf LM Studio beschränken, indem wir in den Einstellungen bei Programme und Dienste via Dieses Programm den ganzen Pfad für LM Studio.exe übergeben.
  • Nebenbei bemerkt haben wir die Möglichkeit, via Portweiterleitung (Port Forwarding) und dynamischem DNS das LLM für Zugriffe aus dem Internet zu öffnen.
  • In LM Studio stellen wir sicher, dass das gewünschte Modell geladen ist.
Screenshot einer Benutzeroberfläche mit Servereinstellungen. Es sind Optionen zur Authentifizierung, Netzwerkkonfiguration und Modellverwaltung sichtbar. Der Status ist aktiv und die Portnummer ist angezeigt.
Die Server-Einstellungen in LM Studio: Diese Option hier erlaubt die Nutzung im lokalen Netz.

2) Die Browser-Erweiterung in Betrieb nehmen

In Firefox sorgt die Browser-Erweiterung Page Assist für die Einbindung der LLMs.

Screenshot einer Benutzeroberfläche zur Bearbeitung eines API-Anbieters, mit Feldern für Anbietername, Basis-URL, API-Schlüssel und Optionen zur Behebung von CORS-Problemen.
Page Assist: Mit dieser Konfiguration ist das LLM auch über das lokale Netzwerk erreichbar.

Hier sind folgende Handgriffe nötig:

  • Nach der Installation klicken wir in der Symbolleiste auf den Knopf mit dem Puzzleteilchen-Symbol, der das Menü mit den Erweiterungen aufruft. Wir betätigen Page Assist.
  • Es erscheint eine Seite mit einem Eingabefeld, auf der wir oben rechts aufs Zahnradsymbol klicken. Auf der Seite mit den Einstellungen klicken wir im Bereich OpenAI-kompatible API auf Anbieter hinzufügen.
  • Wir wählen im Bereich Custom die Vorgabe LM Studio aus. Bei Basis-URL lassen wir die Einstellung auf http://localhost:1234/v1, falls die LLMs auf dem gleichen Rechner laufen. Für die Nutzung im lokalen Netzwerk tragen wir die vorher kopierte Adresse mit dem Anhang /v1 ein. Dieser Suffix gibt an, welche Schnittstellen-Version benutzt wird (es kommt eine OpenAI-kompatible API zum Zug). In meinem Fall lautet die ganze Adresse also http://192.168.178.22:1234/v1.
  • Ein kleiner Tipp: Die Kommunikation zwischen Server (LM Studio) und Client (Firefox) lässt sich in LM Studio im Bereich Developer im Panel Developer Logs verfolgen: Im Protokoll sind allfällige Fehlermeldungen ersichtlich. Dank dieses Logs fand ich heraus, dass ich die Adresse versehentlich mit einem Leerzeichen am Schluss eingegeben hatte. Das goutiert die Software nicht.

3) Ein lokales LLM im Browser verwenden

Nun ist es vollbracht: Unser lokales LLM steht im Browser bereit.

  • Über die Page Assist-Erweiterung führen wir unsere Anfragen durch. Wir arbeiten bei Bedarf mit Bildern und Dateien und berücksichtigen über den Knopf neben dem Erdkugel-Symbol Informationen aus dem Web in unseren Anfragen. Das gewünschte LLM wählen wir über das Dropdown-Menü neben dem Knopf Neuer Chat.
  • Der eigentliche Clou besteht darin, die Page Assist-Erweiterung in der Seitenleiste zu öffnen. Wir klicken auf den entsprechenden Knopf in der Menüleiste oder betätigen im Menü Ansicht > Sidebar > Page Assist.
  • Jetzt ist es entscheidend, bei Mit aktueller Seite chatten ein Häkchen zu setzen. Dann wird der Inhalt der ausgewählten Website ans LLM übergeben und in der Antwort berücksichtigt.
Screenshot einer Benutzeroberfläche für eine KI-Anwendung im Browser. Es zeigt Optionen zum Hinzufügen von Beiträgen, sowie eine Chat-Funktion und eine Auswahl an Modellen.
Page Assist in der Seitenleiste: Mit der Option «Mit aktueller Seite chatten» nehmen wir in unserem Prompt Bezug auf den Inhalt der aktuellen Webseite.

Möglichkeiten und Grenzen

Wie eingangs angedeutet, dürfen wir an diese lokalen LLMs nicht die gleichen Erwartungen stellen wie an die Dickschiffe aus den Rechenzentren. Was funktioniert, sind Textänderungen, einfache Informationsabfragen, Zusammenfassungen und ähnliche Dinge.

Was nicht funktioniert, sind die etwas aufwändigeren Datenanalysen. Hier eine Einschätzung, warum mein Plan, einen eigenen Finanzberater zu basteln, fehlgeschlagen ist.

Ich brachte die KI lediglich dazu, mir eine Handvoll Transaktionen zu analysieren. Damit das hilfreich wäre, müsste sie zumindest in der Lage sein, ein ganzes Jahr abzudecken. Das ist bei der Ausstattung eines gängigen Laptops nicht der Fall:

  • Das Sprachmodell, das als Erstes zum Zug kam (openai/gpt-oss-20b), verarbeitet zwar um die 128’000 bis 131’000 Token, doch bei meinem Test war trotz 32 GB RAM nach rund tausend bis 1500 Token Schluss.
  • Llama-3.1-8b-instruct liefert in der Auswertungstabelle einige Zeilen mehr, aber längst nicht so viele, wie für eine aussagekräftige Analyse notwendig wären.
  • Der Dritte im Bund (r3ge_quen2.5_7b) liegt beim Umfang zwischen den beiden anderen.

Die Voreinstellung in LM Studio (unter Settings > Model Defaults) beträgt 4096. Man kann in den Einstellungen die Option auf Model Maximum umschalten, aber mit dieser Einstellung konnte LM Studio das Modell nicht mehr laden. Vielleicht liesse sich der Wert erhöhen und es gibt die Möglichkeit, mit der Option Modell-Ladeschutz zu experimentieren. Standardmässig steht sie auf Streng. Man könnte die Einstellungen Ausgewogen, Entspannt oder gar Aus ausprobieren. Und natürlich könnten wir Ausschau nach einem LLM halten, das auf Json-Dateien spezialisiert ist.

Eines liegt jedenfalls auf der Hand: Solche Experimente brauchen Zeit, und an der Tatsache, dass ein handelsüblicher Laptop nicht die optimale Umgebung für ein fettes LLM ist, ändern sie grundsätzlich nichts.

Kommentar verfassen