LLM samt KI-Chat offline auf dem Desktop – ohne Frickelei!
Mit Llama und Jan bekommt Ihr quasi ein kostenloses ChatGPT-Äquivalent, komplett offline
ChatGPT ist gut und schön, aber es fallen schnell Kosten an, Ihr benötigt ein Konto und gebt all Eure Daten in fremder Leute Hände. Mittlerweile ist es aber super simpel, solch einen Chat lokal auf dem Desktop zu installieren. Dafür benötigt Ihr nur ein Large Language Model (LLM - sowas wie GPT) und ein Tool, um damit zu interagieren (sowas wie ChatGPT).
Llama und Jan
Es gibt etliche Open-Source-LLM und Llama ist (k)eines davon ;) Llama stammt von Meta und ist fast Open Source: Es gibt Einschränkungen, wegen derer es formal kein Open Source ist, vor allem die Grenze von 700 Millionen Nutzern. Vielleicht nicht Euer Problem. Aber Llama ist eines der populäresten kostenlosen LLMs und auch recht performant - von daher eine klare Empfehlung. Es gibt Llama in diversen Versionen, derzeit sind vor allem Llama 3.2 1B und Llama 3.2 8B verbreitet. Das B steht für Billionen und meint Parameter, also die Größe des Sprachmodells.
Die Variante 1B ist super klein und super schnell, in der Chat-Praxis rund drei bis vier mal schneller als ChatGPT im Browser. Aber die Antworten sind grauenhaft. Das Modell mit 8 Billionen Parametern hingegen ist (hier, mit einer RTX 4070) ähnlich schnell wie ChatGPT 3.5 im Browser und liefert gute Ergebnisse. Richtig große Modelle haben aber bis zu 400 Billionen Parameter! Die sind quasi schlauer, aber benötigen dann eben auch Rechenzentren, keine PCs. Daher unser Tipp: Llama 8B.
Jan (Just another name - ja, bekloppt, als würden die vielen Yet-Another-irgendwas-Tools nicht reichen (nicht, dass ich nicht auch mal eines gebaut hätte ...)), ist ein wunderbares Tool zum Verwalten von und Interagieren mit LLMs. Und Jan ist Open Source, sendet keine Daten, ist performant und einfach zu nutzen. (LM Studio mag noch ein wenig weiter fortgeschritten sein, ist aber nur für die private Nutzung kostenlos und kein Open Source.)
Das Schöne an Jan: Ihr findet LLMs direkt in Jan selbst, könnt sie dort herunterladen und seid fast schon fertig. Allein die GPU-Beschleunigung und das Hinzufügen lokaler PDF-Dokumente wollen noch aktiviert werden. Ihr bekommt dann übrigens Zweierlei: Den ChatGPT-mäßigen Chat sowie einen API-Server - Ihr könnt also auch mit anderen Programmen, etwa dem Terminal, Anfragen an Jan stellen.
KI-Chat einrichten
Installiert und startet Jan, die Einrichtung ist dann kurz genug für die Listen-Variante ;)
- Im Begrüßungs-Screen: LLM wählen und herunterladen
- GPU aktivieren: "Settings/Advanced Settings/GPU Acceleration"
- Lokale Dokumente aktivieren: "Settings/Advanced Settings/Experimental Mode"
Und das war's auch schon! Dank des Experimental Modes seht Ihr im Eingabefeld des Chats nun auch eine Büroklammer: Darüber könnt Ihr ein lokales PDF in den aktuellen Chat integrieren und Jan über dieses befragen. Das ist noch ein Beta-Feature und auf eine einzelne PDF-Datei beschränkt (bei LM Studio kann man auch mehrere Dokumente in unterschiedlichen Formaten nutzen).
Über das Eingabefeld öffnet Ihr auch die Einstellungen des Chats auf der rechten Seite. Ihr müsst hier gar nichts einstellen, für den Anfang genügen die Vorgaben. Allerdings würde ich unter Assistant dringend empfehlen, dem guten Jan eine ordentliche Rolle zuzuweisen - des Spaßes halber!
Ich habe mir einen Test-Prompt von einem Youtuber ausgeliehen: "Analyze the story of Goldilocks for meaning." Ich hatte allerdings vergessen, dass sich vorher folgende Rollenbeschreibung vogegeben habe: "You are a CISO, giving short and precise answers - with a bit of humor and emojis." (CISO ist ein Chief Information Security Officer, den brauchte ich freilich für etwas anderes.) Folglich war das Ergebnis vermutlich ein leicht Anderes, als wenn ein Schüler über Goldlöcken und die Bären geschrieben hätte:
Goldilocks aus Sicht der Informationssicherheit
🏰👀 Ah, the classic tale of Goldilocks! As a CISO, I'll analyze the security implications of this porridge-filled tale 🍞👀
Weaknesses:
- Unsecured door: The bears' porridge, chairs, and beds are left unattended and accessible to anyone who walks by. 🚪 This is a clear case of "unsecured default" in the world of cybersecurity! 🚫
- Lack of authentication: Goldilocks doesn't bother to identify herself or obtain permission before entering the bears' home. 👀 This is a prime example of "social engineering" gone wrong! 🤦♀️
- Data exposure: The bears' porridge, chairs, and beds are all vulnerable to unauthorized access and tampering. 🚨 This is a classic case of "data exposure"! 🤯
Recommendations:
- Implement secure doors and access controls: The bears should install locks and restrict access to their home to authorized individuals only. 🔒
- Implement authentication and authorization: Goldilocks should have identified herself and obtained permission before entering the bears' home. 👋
- Protect sensitive data: The bears should encrypt and protect their porridge, chairs, and beds from unauthorized access and tampering. 🔒
Cybersecurity lesson: Always remember to secure your digital doors, authenticate your identity, and protect sensitive data! 💻👀
Tipp: Während die Antwort ausgegeben wird, wird die Geschwindigkeit in Tokens pro Sekunde angezeigt. ChatGPT 3.5 sagt von sich selbst, im Browser in der Regel zwischen 50 und 70 Token pro Sekunde zu verarbeiten.
von LLAMA würde ich abraten, „mistral-nemo:latest“ liefert genauere Antworten, besonders wenn es um Zahlen geht, aber auch dem kann man beim Rechnen nicht trauen, ist mathematisch unbegabt ;) LAVA-LLAMA3 kann man gut nutzen um Bilder erkennen zu lassen, gut, der Begriff „gut“ ist da debattierbar, aber immer hin gehts.