Hallo, Miteinander.
kennt ihr diesen Moment … ihr lest ein dürres Blatt … eine einzige Seite und dann entwickelt sich in eurem Gehirn so etwas in der Art, als würdet ihr durch ein Teleskop auf Andromeda gucken und sich die Weite des Weltalls entfalten.
So ging es mir mit einer Information zu LLM Wiki nach Karpathy.
Wer zum Teufel ist dieser Karpathy?
Ooops, ein heller Junge anscheindend. Er hat tatsächlich mehr oder weniger in einer Skizze beschrieben, wie wir Informationen so aufsplitten und aufteilen, dass sie auch in Zukunft erhalten und auswertbar und verwendbar sind:
Besser bekannt als LLM Wiki.
Die Grundzüge aus meiner Sicht:
-
Die /raw Daten bleiben erhalten, unangetastet, read-only, wer weiß was in 20 Jahren kommt.
-
Dann in einer zweiten Schicht die aktuelle Darstellung, auch hier reiner Text als md Datei
-
in der dritten Schicht die Bearbeitung, Abarbeitung und Auswertung KI
Irgendwie hat mich das angezündet. In meiner Familie ist noch eine Ur-Oma da, noch einigermaßen fit zum Bedienen eines Diktiergerätes.
Aber das Ur-Enkel mit fünf Jahren ist auch schon da, die alten Geschichten, Erlebnisse und Rezepte und Dokumente verschwinden aber mit an Sicherheit grenzender Wahrscheinlichkeit spätestens in 10 Jahren.
Dann nehmen wir noch eine Prise Interesse von mir hinzu und schon geht es los: Ein eigenes Wiki für unsere Familie muss her, genau nach diesen Grundzügen. Die Stimme der Ur-Oma soll erhalten bleiben, eine KI soll die Daten auswerten, ein Wiki erzeugen und Fragen ggf. mit der Stimme der Ur-Oma beantworten.
Genau dies möchte ich euch hier in einer losen Reihenfolge vorstellen:
Ein Working-Modell, einfachste kostengünstige Hardware, dauert dafür auch länger und manchmal halluziniert oder erfindet die KI einiges, aber los geht es:
Bedingung:
Alles lokal, kein Internet, keine Anmeldung, kein API-Token, es hat sich niemand dafür zu interessieren was einer der Erzähler mitzuteilen hat.
Hardware: Als Working-Modell sollte vorhandene Hardware im Austausch gegen Zeit einsetzbar sein, also der Mini Rechner darf gerne mal ne Nacht durcharbeiten. ich gehe dann mal schlafen.
Es sollten im Endstand nicht nur ein Wiki entstehen, sondern gestellte Fragen, also zum Beispiel: « Erzähle mir mal eine Geschichte meiner Oma mit der Stimme von Oma » sollten / müssen möglich sein.
Schritt 1:
Mini PC, Fedora System, 8 GB Arbeitsspeicher.
Kein CPU , kein GPU RAM… Schnick Schnack für die Profis
![]()
Schritte 2:
Wir benötigen auf jeden Fall ein Ollama, hier am Beispiel für Fedora, aber gleichzeitig mit Lösung des QNAP virtuellen Switch Schwierigkeit ( alles ins gleiche Netz ):
============================================================
2/3: Ollama (KI-Server)
Führt die Sprachmodelle und das Embedding-Modell aus.
Wird als Zweites gestartet.
============================================================
services:
test-ollama:
image: docker.io/ollama/ollama:latest
# Dieser Name wird später in AnythingLLM als Adresse benutzt:
# http://test-ollama:11434
container_name: test-ollama
restart: unless-stopped
user: "root"
ports:
# Von außen erreichbar, z. B. für andere Geräte im Heimnetz.
# Auf Fedora zusätzlich in der Firewall freigeben:
# sudo firewall-cmd --permanent --add-port=11434/tcp
# sudo firewall-cmd --reload
- "11434:11434"
volumes:
# Heruntergeladene Modelle liegen hier und bleiben bei
# Neustarts erhalten. ":Z" wegen SELinux.
- /srv/ki/ollama:/root/.ollama:Z
environment:
# Größe des Textfensters pro Anfrage. Ollama nutzt sonst einen
# kleinen Standardwert. 8192 ist ein Kompromiss für 8 GB RAM,
# ein größerer Wert braucht deutlich mehr Speicher.
# Kontrolle nach dem Start: podman exec -it test-ollama ollama ps
- OLLAMA_CONTEXT_LENGTH=8192
networks:
- my-ki-netz
networks:
my-ki-netz:
external: true
In Ollama pullt ihr euer, zum Speicher passendes Modell rein. Bei 8 GB RAM dürft ihr erwarten: Lange Antwortzeit und viele Halluzinationen ![]()
Schritt 3: Dann braucht ihr natürlich noch einen Podman/Docker zum Anzeigen des Wiki:
============================================================
Wiki-Viewer (SilverBullet)
Zeigt die Markdown-Seiten des Wikis im Browser an, damit die
Familie nichts installieren muss. Nur Lesen.
Aufruf im Heimnetz: http://:3000
Firewall auf Fedora öffnen:
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload
Hinweis: SilverBullet ist für HTTPS ausgelegt. Über reines HTTP
funktioniert die Anzeige eventuell nur eingeschränkt. Das zeigt
erst ein Test im Browser.
============================================================
services:
wiki-viewer-thomas:
# Voller Image-Name mit Registry, sonst fragt Podman nach.
image:
container_name: wiki-viewer-thomas
restart: unless-stopped
ports:
# Links: Port auf dem Server, rechts: Port im Container.
# Für ein zweites Wiki (z. B. marlis) eine eigene Kopie dieser
# Datei mit anderem container_name und Port, etwa "3001:3000".
- "3000:3000"
volumes:
# Nur der Ordner wiki/ wird gezeigt, NICHT raw/ (dort liegen
# die ungeprüften Originaltexte).
# ":z" (klein) statt ":Z": Der Ordner wird auch von wiki.py und
# später evtl. von einem Pflege-Container benutzt. Mit ":Z"
# (groß) würde SELinux ihn exklusiv diesem einen Container geben.
- /srv/ki/llm-wiki/rueger/wiki:/space:z
environment:
# Zugang für die Familie als Benutzername:Passwort.
# BITTE ÄNDERN. Das Passwort nicht mit Doppelpunkt oder
# Leerzeichen wählen.
- SB_USER=familie:mannheim-2007
# Schreibschutz: Seiten lassen sich im Browser nur ansehen,
# nicht ändern. Sie werden ausschließlich von wiki.py gepflegt.
- SB_READ_ONLY=true
- SB_INDEX_PAGE=web/index
… und was bekommt ihr dafür:
Eine Kühlschranktür, voll mit Magneten und Notizzetteln:
Im oberen Bereich, die runden Buttons sind « Magnete » mit Links auf die Personen.
Darunter eine Reihe von « Notizzetteln » mit Links zu
Audio : Liste aller enthaltenen Audio aufnahmen.
Personen: Liste aller von der KI erzeugten Personen
Orte: das gleiche, von der KI, alle Orte
Ereignisse: das gleiche, KI, alle gefundenen Ereignisse
Geschichten: alle Geschichten
Rezepte: Ur-Omas Kochrezepte
Quellen: Wird noch ersetzt mit Dokumente ( Hochzeitsurkunde etc. etc.)
Darunter:
Link zu einem Eingabeformular, hierüber können der KI Textfragen gestellt werden, sie antwortet in Abhängigkeit ihres Modells und RAM und Zeit meist zutreffend ![]()
Im unteren Bereich unserer Kühlschranktür noch ein wenig Hilfe und Unterstützung:
Coming Up: Noch manuell einzutragen, wenn im Wiki ein Tag entdeckt wurde, dann erscheint er hier im Monat des Aufrufes, sprich: Wenn im November jemand das Wiki öffnet, bekommt er alle genannten Termine für den Monat November, vom Todestag bis zum Hochzeitstag.
Darunter noch Links für
Hilfe
Daten
Administration.
Der Weg ist grundsätzlich immer gleich, die Daten kommen nach /raw. Dort holt die KI sich die neuen Dateien, verarbeitet sie und erzeugt das Wiki.
Das ganze mit einem einzigen Script… aber das kommt später.
Wie immer: Anregungen, Hinweise, Ergänzungen willkommen.
Grüße
Tom

