Wichtigste Erkenntnisse
- Stack: Ollama führt das LLM aus, AnythingLLM besitzt die UI + Vector Store, Llama 3.3 8B Q4_K_M antwortet, nomic-embed-text-v1.5 ruft ab.
- Zeit: 30 Minuten gesamt. Der längste einzelne Schritt ist das Model-Download (~8 Min. bei 50 Mbps).
- Hardware: 16 GB RAM ist die praktische Untergrenze. 8 GB funktioniert nur mit Phi-4 Mini und kleinen Dokumentmengen — siehe den Abschnitt Alternative Modelle.
- Datenschutz: Nach der Installation verlässt nichts deine Maschine. PDFs, Embeddings, Prompts und Ausgaben bleiben lokal.
- Kein Code: Null Python, null Terminal außer die zwei Ollama-Befehle. AnythingLLM ist eine Desktop-App mit Drag-and-Drop-Dokumentimport.
- Standard-Embedder ist falsch: AnythingLLM bringt einen winzigen Standard-Embedder mit. Wechsle zu nomic-embed-text-v1.5 in Schritt 4 — die Abruf-Qualität steigt messbar.
- Standard-Chunk-Größe ist auch falsch für PDFs: 1000-Token-Chunks mit 200-Token-Überlappung ist ein besserer Startpunkt als die Standard-Einstellung 512/0. Abgestimmt in Schritt 7.
Was du bauen wirst
Ein eigenständiges Desktop-RAG-System: ein Chat-Fenster, in das du PDFs ziehst und Fragen dazu stellst. Vier Open-Source-Komponenten, alle kostenlos, alle auf deinem Laptop:
📍 In einem Satz
Ein lokales RAG-System ist vier Teile — eine Laufzeit (Ollama), ein Antwortmodell (Llama 3.3 8B), eine UI plus Vector Store (AnythingLLM) und ein Embedding-Modell (nomic-embed-text-v1.5) — auf einer Maschine miteinander verbunden, ohne Cloud-Aufrufe.
💬 In einfachen Worten
Ziehe ein PDF rein, stelle eine Frage, erhalte eine fundierte Antwort mit Quellenangaben — vollständig offline. Die vier Teile teilen sich die Arbeit: Ollama führt die Modelle aus, Llama 3.3 8B schreibt die Antwort, AnythingLLM verwaltet die Chunks und Vektoren, nomic-embed-text-v1.5 wandelt Text in die Vektoren um, die das Abrufen möglich machen. Gesamtinstallation: ~30 Minuten; Gesamtkosten: 0 €.
- Ollama — lokale LLM-Laufzeit. Verwaltet Model-Dateien, stellt eine OpenAI-kompatible API auf localhost:11434 bereit. Liefert das Antwortmodell.
- Llama 3.3 8B Instruct (Q4_K_M) — Metas 8B-Parameter-Chat-Modell, quantisiert um in ~5 GB RAM zu passen. Gute Antwortqualität bei dokumentgestützten Fragen in 2026.
- AnythingLLM Desktop — die UI + Vector Store + RAG-Orchestrierung. Bringt LanceDB eingebaut mit, analysiert PDFs/DOCX/TXT/MD nativ, kommuniziert mit Ollama als LLM-Provider.
- nomic-embed-text-v1.5 — Embedding-Modell. 768-dim Vektoren, läuft durch Ollama mit ~600 Chunks/Sek. auf einer modernen CPU. Ersetzt AnythingLLMs underpowered Standard.
📌Note: AnythingLLM hat auch ein eingebautes Standard-LLM und einen eingebauten Standard-Embedder. Beide sind absichtlich winzig, damit die App auf schwacher Hardware schnell startet. Wir ersetzen beide in den Schritten 4 und 6, weil Abruf-Qualität das ganze Spiel bei einem RAG-System ist.
Was du vor dem Start brauchst
Ein Laptop mit 16 GB RAM, 20 GB freiem Speicher, einer Internet-Verbindung und 30 Minuten Zeit. Das Betriebssystem kann macOS 12+, Windows 10/11 oder eine moderne Linux-Desktop-Distribution sein.
- RAM: 16 GB ist die praktische Untergrenze für Llama 3.3 8B Q4 + AnythingLLM + deine üblichen Desktop-Apps. 8 GB funktioniert mit Phi-4 Mini Q4 stattdessen — siehe Schritt-2-Alternativen.
- Speicher: 20 GB frei. Llama 3.3 8B Q4_K_M ist ~5 GB, das Embedding-Modell ist ~280 MB, AnythingLLM ist ~600 MB, und du brauchst Spielraum für Embeddings (~10–30 MB pro 100 PDF-Seiten).
- Netzwerk: ~50 Mbps Minimum für das Model-Download. Bei 25 Mbps dauert derselbe Schritt ~16 Minuten; der Rest des Tutorials wird nicht beeinflusst.
- Berechtigungen: Kein Admin/Root benötigt für AnythingLLM. Ollama installiert sich auf
/usr/local/binauf macOS/Linux (fragt einmal nach Passwort) oder%LOCALAPPDATA%auf Windows (kein Admin). - Dokumente bereit: 5–20 PDFs zum Starten. Alles Größere funktioniert, aber eine kleine Menge ist schneller zum Testen der Abruf-Qualität.
Schritt 1: Ollama installieren (3 Min.)
**Lade das Ollama-Installationsprogramm für dein OS von ollama.com/download herunter und führe es aus. Das Installationsprogramm fügt die ollama-CLI zu PATH hinzu und startet einen Hintergrund-Service.** Es gibt keine Konfigurationswahlmöglichkeiten.
- macOS: lade die
.dmgherunter, ziehe Ollama in Programme, starte es einmal um den CLI-Helper zu installieren. Die Menüleiste zeigt ein Lama-Icon wenn der Service läuft. - Windows: lade die
.exeherunter, führe sie aus, akzeptiere die Standardeinstellungen. Ollama läuft als Hintergrund-Service nach der Installation — kein separater Start benötigt. - Linux: Einzeiler-Installation:
curl -fsSL https://ollama.com/install.sh | sh. Das Skript registriert eine systemd-Unit; starten mitsudo systemctl start ollama. - Überprüfen: Öffne ein Terminal und führe
ollama --versionaus. Du solltest eine Versionsnummer sehen. Falls der Befehl nicht gefunden wird, starte das Terminal neu, damit es den aktualisierten PATH aufgreift.
ollama --version
# ollama version is 0.5.x (any 0.5+ build works for this tutorial)⚠️Warning: Falls ollama --version funktioniert, aber spätere Schritte mit "Verbindung abgelehnt auf localhost:11434" fehlschlagen, wurde der Hintergrund-Service nicht auto-gestartet. macOS: starte die App aus Programme. Linux: sudo systemctl start ollama. Windows: öffne das Ollama-Tray-Icon.
Schritt 2: Llama 3.3 8B ziehen (8 Min.)
**Führe ollama pull llama3.3:8b-instruct-q4_K_M in einem Terminal aus. Dies lädt die quantisierte 4,9 GB GGUF herunter und registriert sie bei Ollama.** Der Großteil der 30-Minuten-Gesamtdauer ist dieser einzelne Schritt bei einer typischen Haushaltsverbindung.
- Download-Größe: ~4,9 GB (Q4_K_M-Quantisierung). Bei 50 Mbps wirst du ungefähr 8 Minuten warten; bei 100 Mbps ungefähr 4 Minuten; bei 25 Mbps ungefähr 16 Minuten.
- Fortschritt beobachten: Ollama druckt einen Prozentsatz und eine Rate. Der Download wird fortgesetzt, wenn er unterbrochen wird — führe denselben Befehl erneut aus.
- Smoke-Test des Modells: Nach dem Download-Abschluss, führe
ollama run llama3.3:8b-instruct-q4_K_Maus und frage "Was ist 2+2?". Bestätige, dass du eine angemessene Antwort bekommst. Gib/byeein um zu beenden. - RAM-arme Alternative: Falls du 8 GB RAM statt 16 GB hast, führe
ollama pull phi3:miniaus (Phi-4 Mini, ~2,4 GB auf Disk). Verwende diesen Model-Namen stattdessen in Schritt 3. Die Qualität ist bei langen Dokumenten niedriger, aber das System funktioniert.
# Empfohlen für 16 GB RAM
ollama pull llama3.3:8b-instruct-q4_K_M
# Alternative für 8 GB RAM
ollama pull phi3:mini
# Schneller Smoke-Test (gib /bye ein zum Beenden)
ollama run llama3.3:8b-instruct-q4_K_M💡Tip: Hast du bereits andere Ollama-Modelle? ollama list zeigt sie alle. Du kannst mehrere Modelle installiert behalten und zwischen ihnen in AnythingLLMs Workspace-Einstellungen wechseln.
Schritt 3: AnythingLLM Desktop installieren (4 Min.)
Lade AnythingLLM Desktop von useanything.com (oder anythingllm.com) herunter und führe das Installationsprogramm aus. Starte die App und überspringe die Aufforderung "Cloud-Konto erstellen" — der Nur-lokal-Modus wird im nächsten Bildschirm angeboten. Die Installation läuft automatisch ab.
- macOS: lade die
.dmgherunter, ziehe AnythingLLM in Programme, starten. macOS könnte dich auffordern, zu bestätigen, dass die App von einem bekannten Entwickler ist; klicke "Öffnen" in Systemeinstellungen → Datenschutz, falls aufgefordert. - Windows: lade das
.exe-Installationsprogramm herunter. Windows SmartScreen könnte es als "nicht häufig heruntergeladen" kennzeichnen — klicke "Weitere Informationen" → "Trotzdem ausführen". Die App installiert sich zu%LOCALAPPDATA%\anythingllm-desktop(kein Admin). - Linux: lade die
.AppImageherunter, markiere sie als ausführbar (chmod +x AnythingLLMDesktop.AppImage), Doppelklick zum Ausführen. - Erste-Ausführungs-Wahl: AnythingLLM bietet einen gehosteten Cloud-Workspace ODER eine Nur-lokal-Einrichtung. Wähle Lokale Einrichtung. Das ist die Wahl, die das gesamte System offline hält.
- Workspace-Erstellung: Wenn aufgefordert, benenne deinen ersten Workspace aussagekräftig ("Forschungspapiere", "Verträge", "Persönliche Notizen"). Jeder Workspace bekommt seine eigene Dokumentsammlung und Embedding-Store.
⚠️Warning: Das Standard-LLM von AnythingLLM ist ein winziges eingebautes Modell, gedacht nur für die Willkommens-Demo. Wir zeigen ihm in den nächsten Schritt deinen lokalen Ollama. Verwende nicht das Standard-Modell für echte Queries — die Antworten werden unbrauchbar schwach sein.
Schritt 4: AnythingLLM mit Ollama verbinden und den Embedder wechseln (3 Min.)
**Öffne AnythingLLM Einstellungen → LLM-Präferenz. Wähle "Ollama" als Provider, stelle die URL auf http://127.0.0.1:11434 und wähle llama3.3:8b-instruct-q4_K_M aus dem Model-Dropdown. Speichern. Dann gehe zu Embedding-Präferenz und wechsle vom Standard zu nomic-embed-text via Ollama.**
- LLM-Präferenz-Panel: Provider = Ollama, Endpoint =
http://127.0.0.1:11434, Model =llama3.3:8b-instruct-q4_K_M. Klicke "Änderungen speichern". Ein grünes Häkchen bestätigt die Verbindung. - Embedding-Präferenz-Panel: Der Standard ist "AnythingLLM Native Embedder" — ein winziger Eingebauer. Ändere Provider zu Ollama, führe dann
ollama pull nomic-embed-textin deinem Terminal zuerst aus (~280 MB), aktualisiere dann die Model-Liste im Panel und wählenomic-embed-text:latest. Speichern. - Re-Embedding-Warnung: Falls du bereits Dokumente mit dem alten Embedder hinzugefügt hast, wird AnythingLLM dich auffordern, sie erneut zu embedden. Bei einer Neuinstallation hast du noch keine Dokumente, also wird die Aufforderung nicht angezeigt.
- Vector DB: auf Standard belassen (LanceDB). Es ist lokal, datei-gestützt und braucht keine Konfiguration. Wechsle nur wenn du speziell PGVector oder Qdrant brauchst.
# Führe dies in deinem Terminal aus, bevor du das Embedding-Präferenz-Panel öffnest
ollama pull nomic-embed-text💡Tip: Warum nomic-embed-text-v1.5 speziell? Im Mai 2026 liegt es in den Top 5 der MTEB-Retrieval-Leaderboard für jedes Modell unter 500 MB, läuft mit 400–800 Chunks/Sek. auf einer modernen CPU und 2000+ Chunks/Sek. auf Apple Silicon und ist Apache-2.0-lizenziert. Es ist das Standard-erste-Upgrade für fast jeden lokalen RAG-Stack — siehe den Embedding-Modell-Vergleich für Alternativen.
Schritt 5: Deine ersten PDFs hochladen (5 Min.)
Öffne deinen Workspace, klicke "Dokumente hochladen" und ziehe 5–20 PDFs rein. AnythingLLM extrahiert Text, teilt ihn in Chunks auf (Standard 512 Token, 0 Überlappung), embeddet jeden Chunk durch Ollama und speichert Vektoren in LanceDB. Eine Fortschrittsleiste zeigt analysierte Seiten und eingebettete Chunks.
- Unterstützte Formate: PDF (textbasiert), DOCX, TXT, MD, EPUB, plus URL-Scraping. Eingescannte-Bild-PDFs brauchen zuerst OCR — siehe den Fehlerbehebungsabschnitt.
- Geschwindigkeit: 400–800 Chunks/Sek. auf einer modernen CPU und 2000+ Chunks/Sek. auf Apple Silicon sobald Ollama warm ist. Eine 20-PDF-Menge mit ~50 Seiten pro Stück (~3000 Chunks gesamt) beendet sich in 5–8 Sekunden Embedding-Zeit auf einer modernen CPU und 1–2 Sekunden auf Apple Silicon, plus Analyse-Zeit. Rechne mit ~5 Minuten gesamt zum Hochladen, Analysieren und Embedden von 20 PDFs.
- RAM während des Embeddens: Ollama lädt das Embedding-Modell (~280 MB) beim ersten Request und hält es gecacht. Nachfolgende Embeds verwenden den Cache wieder.
- "In Workspace verschieben": Nach dem Upload platziert AnythingLLM Dokumente in einem "Limbo"-Pool. Du musst explizit "In Workspace verschieben" → "Speichern und Embedden" klicken um sie abfragbar zu machen. Dieser zwei-Schritt-Fluss ist absichtlich — er lässt dich eine Vorschau machen, bevor du die Embedding-Kosten zahlst.
⚠️Warning: PDFs von älteren OCR-Scans enthalten oft beschädigte oder leere Text-Layer — die Datei sieht für menschliche Augen gut aus, aber AnythingLLM extrahiert "[image]" oder leere Strings. Öffne die PDF in einem Text-Editor (oder führe pdftotext file.pdf - aus poppler-utils aus) um zu bestätigen, dass die Text-Layer existiert, bevor du sie hochlädst.
Schritt 6: Queries testen (5 Min.)
Gib eine Frage in den Workspace-Chat ein. AnythingLLM embeddet die Frage, ruft die Top-N Chunks aus LanceDB ab, erstellt einen Prompt mit diesen Chunks als Kontext, sendet zu Ollama und zeigt die Antwort. Latenz auf einem 16 GB RAM Laptop beträgt ungefähr 3–10 Sekunden pro Query.
- Starten mit einer Fakten-Abruf-Query: "Was bedeutet [spezifischer Term aus einem deiner PDFs]?" — das testet Abruf-Fundierung. Die Antwort sollte die PDF zitieren und die exakte Phrasing anführen.
- Dann eine Synthese-Query: "Fasse das Hauptargument von [Autor/Dokumenttitel] zusammen." — das testet wie gut das Modell mehrere Chunks integriert.
- Dann eine Vergleichs-Query (nur wenn deine PDFs vergleichbaren Inhalt enthalten): "Vergleiche wie [doc A] und [doc B] [Thema] behandeln." — das testet Document-übergreifenden Abruf.
- Quellenangaben überprüfen: AnythingLLM zeigt die Quell-Chunks unter jeder Antwort. Klicke sie um zu überprüfen, dass das Modell auf den richtigen Passagen gründet. Falls die Quellenangaben irrelevant sind, ist Abruf kaputt — siehe Schritt 7.
Schritt 7: Chunk-Größe abstimmen (2 Min.)
Öffne Workspace-Einstellungen → Vector Database. Ändere Chunk-Größe von 512 auf 1000 und Chunk-Überlappung von 0 auf 200. Klicke Speichern, dann re-embedde deine Dokumente (die UI fragt danach). Das ist der einzelne größte Abruf-Qualitäts-Hebel in AnythingLLM.
- Warum 1000/200 statt 512/0: PDF-Absätze und Abschnitte passen selten sauber in 512 Token. Die 200-Token-Überlappung bedeutet, dass ein Satz, der eine Chunk-Grenze überbrückt, trotzdem ganz in mindestens einem Nachbarn erscheint, so dass Abruf ihn aufgreift.
- Re-Embedding-Kosten: Die 20-PDF / 3000-Chunk-Menge re-embeddet sich in ~5 Sekunden. Größere Mengen dauern proportional länger. Der Chunk-Store wird überschrieben, nicht angefügt.
- Top-K-Abruf: Der Standard-Top-K ist 4 (die 4 besten Chunks werden Kontext). Erhöhe auf 6–8 falls deine Antworten zu wenig gegründet fühlen; senke auf 2–3 falls das Modell sich von verrauschten Chunks ablenken lässt.
- Prompt-Vorlage: AnythingLLM zeigt den Systemprompt unter Workspace → Chat-Einstellungen → Prompt. Der Standard ist gut; stimme nur ab falls du einen spezifischen Fehlermodus hast.
💡Tip: Empirische Abstimmung schlägt Theorie: stelle dieselben 5 Test-Queries vor und nach der Chunk-Größen-Änderung und vergleiche. Falls Abruf bei 1000/200 schlechter ist, hast du wahrscheinlich sehr kurze Dokumente (Einseiten-Memos, Code-Docstrings) — versuche stattdessen 256/64.
Wie sollten die Antworten tatsächlich aussehen?
Ein richtig abgestimmtes lokales RAG-System antwortet auf Fakten-Abruf-Fragen wörtlich aus der Quelle, synthetisiert wenn aufgefordert und zitiert die Chunks die es verwendet. Drei Beispiel-Queries auf einem Forschungspapier-Workspace mit dem was ein gesundes System zurückgibt:
📍 In einem Satz
Eine gesunde lokale RAG-Antwort zitiert den Quell-Chunk wörtlich für Fakten-Abruf, synthetisiert über Chunks für Zusammenfassungs-Fragen und zitiert die spezifischen Chunk-IDs die es verwendet — generische Antworten ohne Zitate signalisieren ein Abruf-Problem, nicht ein Modell-Problem.
💬 In einfachen Worten
Falls die Antwort wie "üblicherweise verwenden Forscher 100-500 Teilnehmer" statt "Smith et al. verwendeten 287 Teilnehmer (Methoden, S.4)" klingt, ist Abruf kaputt und das Modell wingt es aus Trainingsdaten. Behebe zuerst Abruf (Chunk-Größe, Embedder, Ähnlichkeits-Schwelle) bevor du das Antwortmodell wechselst.
| Query-Typ | Beispiel | Gesundes Antwortnuster | Fehlermuster |
|---|---|---|---|
| Fakten-Abruf | Welche Stichprobengröße verwendete Smith et al. 2024? | Direktes Zitat aus dem Methoden-Abschnitt + Quellenangabe zum Chunk | Generische Antwort ("üblicherweise verwenden Forscher 100–500 Teilnehmer") ohne Zitat |
| Synthese | Fasse den Hauptbeitrag dieses Papers zusammen. | 3–5 Sätze aus Abstract + Conclusion-Chunks | Wiederholt den Titel oder zitiert einen Satz aus dem Abstract |
| Document-übergreifend | Wie widersprechen Smith und Jones sich bei Chunk-Überlappung? | Zitate aus beiden Papers mit expliziter Zuschreibung | Zitiert nur ein Paper oder erfindet einen Widerspruch der nicht in den Chunks ist |
💡Tip: Verwende diese drei Query-Muster als dein Test-Set nach jeder Abruf-Konfigurations-Änderung. Falls Fakten-Abruf immer noch verfehlt aber Synthese funktioniert, sind deine Chunks zu grob. Falls Synthese verfehlt aber Fakten-Abruf funktioniert, ist dein Top-k zu niedrig. Das Muster was verfehlt sagt dir welcher Knopf zu drehen ist.
Wenn etwas kaputt geht: Sechs häufige Fehlermodi und Fixes
Die meisten Fehler fallen in eine von sechs Kategorien. Ordne das Symptom der Zeile zu, wende den Fix an.
| Symptom | Wahrscheinliche Ursache | Fix |
|---|---|---|
| AnythingLLM zeigt "Kann keine Verbindung zu Ollama herstellen" | Ollama-Service läuft nicht oder falscher Endpoint | Führe ollama serve aus (oder starte die App/den Service neu). Bestätige Endpoint ist http://127.0.0.1:11434 nicht localhost:11434 auf Windows wo der Alias manchmal fehlschlägt. |
| Model-Download hält bei 0% oder 99% an | CDN-Edge-Problem oder Disk voll | Abbrechen mit Ctrl+C, führe df -h aus um Disk-Platz zu bestätigen, dann führe denselben ollama pull erneut aus — Ollama nimmt vom letzten Byte wieder auf. |
| Embedding-Schritt erscheint zu hängen | Ollama lädt das Embedding-Modell zum ersten Mal | Warte 30–60 Sekunden. Erstes-Mal-Model-Load dauert 10–40 Sekunden abhängig von Disk-Geschwindigkeit. Nachfolgende Embeds sind schnell. |
| Abruf gibt Chunks zurück die unrelevant zur Query sind | Standard 512/0 Chunking + schwacher Standard-Embedder | Bestätige Schritt 4 (nomic-embed-text) und Schritt 7 (1000/200 Chunking) wurden beide angewendet. Re-embedde den Workspace. |
| Antworten sind kurz, generisch oder weigern sich mit der Quelle zu engagieren | Falsches LLM immer noch ausgewählt (winziger Standard) oder Kontext zu klein | Bestätige LLM-Präferenz zeigt llama3.3:8b-instruct-q4_K_M. Erhöhe Top-K von 4 auf 6. |
| Eingescannte-Bild-PDFs laden hoch, aber produzieren leere Chunks | Keine Text-Layer im PDF — reine Raster-Image | OCR die PDF zuerst. macOS: ocrmypdf input.pdf output.pdf. Linux/Windows: installiere Tesseract + ocrmypdf. Dann lade die OCR'd-Output erneut hoch. |
Im DACH-Kontext: Datenschutz und Sicherheitsstandards
Ein lokales RAG-System wie dieses adressiert kritische Datenschutz- und Sicherheitsanforderungen in Deutschland, Österreich und der Schweiz direkt. Im Gegensatz zu Cloud-RAG-Lösungen, die Daten an externe Anbieter senden, bleibt alles auf deiner Maschine.
- DSGVO Artikel 28 (Auftragsverarbeiter): Wenn deine PDFs Kundendaten, Mitarbeiterdaten oder andere persönliche Informationen enthalten, ist eine lokale Inferenz eine saubere Architektur zur Erfüllung von Auftragsverarbeitungspflichten. Du brauchst keine Cloud-LLM-APIs, deren Datenverarbeitungsverträge (DVAs) fragil sind oder mit lokalen Anforderungen konkurrieren. Deine Daten verlassen die Maschine nicht.
- BSI-Grundschutz-Kataloge: Das Bundesamt für Informationssicherheit empfiehlt für sensible Geschäftsfunktionen (Finanzdienstleistungen, Gesundheit, Rechtsberatung) Datenschutz-by-Design. Lokale Inferenz mit open-source Komponenten (Ollama, AnythingLLM) erfüllt den BSI-Rahmen — du kennst genau, wo deine Daten fließen und hast Kontrolle über die Modelle.
- Für den Mittelstand: Viele deutsche, österreichische und Schweizer Mittelstands-Unternehmen (KMUs) haben Kundendaten in PDFs — Verträge, Rechnungen, Support-Dokumente. Ein lokales RAG-System kostet praktisch null € zum Betreiben und eliminiert Cloud-Abhängigkeit. Der Einsatz ist sofort produktiv: starte es auf deinem Laptop oder Server und schließe deine PDFs an.
FAQ
Was wenn Ollama nicht installiert wird?
Auf macOS ist der häufigste Fehler Gatekeeper blockiert einen unsigniert Helper — öffne Systemeinstellungen → Datenschutz & Sicherheit und klicke "Trotzdem zulassen". Auf Windows könnte Defender SmartScreen das Installationsprogramm isolieren; Rechtsklick → Eigenschaften → Entsperren. Auf Linux braucht das Installationsskript sudo um die systemd-Unit zu schreiben; falls sudo nicht verfügbar ist, lade die statische Binärdatei von github.com/ollama/ollama/releases herunter und platziere sie manuell auf deinem PATH.
Warum ist der Embedding-Schritt langsam?
Der erste Embed einer Session ist langsam, weil Ollama das Embedding-Modell lazy-lädt in den RAM (10–40 Sekunden abhängig von Disk-Geschwindigkeit). Danach läuft Embedding mit 400–800 Chunks/Sek. auf einer modernen CPU und 2000+ Chunks/Sek. auf Apple Silicon. Falls anhaltender Durchsatz unter 100 Chunks/Sek. ist, läuft das Modell wahrscheinlich auf Swap-Disk — schließe andere Apps um RAM freizugeben und versuche es nochmal.
Wie viele PDFs kann ich auf einmal hochladen?
AnythingLLM akzeptiert hunderte Dateien in einem einzelnen Drag-and-Drop. Die praktische Grenze ist RAM während des Parse-Schritts: ~1 GB Peak für 100 mittelgroße PDFs (50 Seiten pro Stück). Nach dem Embedding ist der On-Disk-Vector-Store klein (~10–30 MB pro 100 PDF-Seiten). Für 1000+ PDFs siehe die Spezial-Anleitung Chatten mit 1000 PDFs lokal.
Kann ich das für passwortgeschützte PDFs verwenden?
AnythingLLM kann passwortgeschützte PDFs nicht direkt entschlüsseln. Entschlüssele sie zuerst mit qpdf --password=DEINPASSWORT --decrypt input.pdf output.pdf (qpdf ist kostenlos, verfügbar auf allen drei OSes), dann lade die ungeschützte Ausgabe hoch. Lösche die ungeschützte Kopie nach dem Embedding falls dein Threat-Modell es benötigt — die Embeddings selbst sind nicht menschenlesbar.
Was wenn mein Abruf falsche Chunks zurückgibt?
Drei Knöpfe in Reihenfolge der Auswirkung: Wechsle von Standard-Embedder zu nomic-embed-text (Schritt 4), ändere Chunking von 512/0 auf 1000/200 und re-embedde (Schritt 7), und erhöhe Top-K von 4 auf 6 in Workspace-Einstellungen. Falls Abruf immer noch falsch ist nach allem drei, könnten deine Dokumente Vorverarbeitung benötigen — entferne Header/Footer, normalisiere Whitespace oder teile sehr lange PDFs in Pro-Kapitel-Dateien.
Sollte ich ein anderes Modell als Llama 3.3 8B verwenden?
Llama 3.3 8B Q4_K_M ist das beste Qualitäts-pro-RAM-Verhältnis 2026 für 16 GB Systeme. Auf 8 GB RAM verwende Phi-4 Mini Q4_K_M (~2,4 GB). Auf 24 GB+ probiere Qwen 2.5 14B Q4 für merklich bessere Synthese bei langen Dokumenten. Für mehrsprachige Arbeitsbereiche, Mistral Nemo 12B behandelt Nicht-Englisch besser als Llama 3.3.
Wie aktualisiere ich das Modell später?
Führe ollama pull llama3.3:8b-instruct-q4_K_M erneut aus um den neuesten Build zu erhalten, dann starte AnythingLLM neu damit es die Model-Version neu-erkennt. Um zu einem anderen Modell ganz zu wechseln, führe ollama pull <neues-modell> aus dann ändere das LLM-Präferenz-Dropdown in AnythingLLM-Einstellungen — kein Re-Embedding benötigt, weil Embeddings nur auf dem Embedder abhängen, nicht auf dem Antwortmodell.
Kann ich das auf einen anderen Computer verschieben?
Ja. Ollama-Modelle leben in ~/.ollama/models (macOS/Linux) oder %USERPROFILE%\.ollama\models (Windows) — kopiere den Ordner. AnythingLLM-Workspaces leben in ~/.anythingllm/storage — kopiere das auch. Auf der neuen Maschine installiere Ollama und AnythingLLM Desktop, dann lege die kopierten Ordner an den richtigen Stellen hin. Workspaces und Embeddings kommen identisch hoch.
Funktioniert das falls meine PDFs eingescannte Bilder sind?
Nicht direkt — AnythingLLM extrahiert Text, kann aber keine Bilder OCR-ieren. Vorverarbeite eingescannte PDFs mit ocrmypdf input.pdf output.pdf (plattformübergreifend, MIT-lizenziert, verwendet Tesseract). Auf Apple Silicon, ocrmypdf -l eng+deu+fra behandelt 70+ Sprachen. Nach OCR hat die Output-PDF beide die Original-Bilder und eine durchsuchbar Text-Layer, und AnythingLLM extrahiert den Text korrekt.
Wie sichere ich meine Dokumentdatenbank?
AnythingLLM speichert alles unter ~/.anythingllm/storage (macOS/Linux) oder %LOCALAPPDATA%\anythingllm-desktop\storage (Windows). Tar/zip diesen Ordner und kopiere ihn auf ein Backup-Laufwerk. Der Ordner inkludiert Original-Dokumente, geparste Chunks, Vector-Indexe und Chat-Verlauf. Wiederherstellen ist Kopie-zurück-und-Neustart — kein spezieller Import-Flow benötigt.
Muss ich bei der Verwendung von AnythingLLM die DSGVO beachten?
Ja, falls deine PDFs personenbezogene Daten enthalten — Namen, E-Mails, Mitarbeiterdaten, Kundendaten etc. DSGVO Artikel 28 verpflichtet dich, Auftragsverarbeiter zu verwenden (oder Infrastruktur, wo Verarbeitung unter deiner Kontrolle bleibt). AnythingLLM auf deinem lokalen Server erfüllt dies: die Daten verlässt nicht deine Infrastruktur. Dokumentiere deine Datenschutz-Maßnahmen in deinem Verfahrensverzeichnis nach Artikel 30 DSGVO.
Ist AnythingLLM für den deutschen Mittelstand geeignet?
Sehr geeignet. Deutsche KMUs mit sensiblen Dokumenten (Verträge, Finanzunterlagen, Patientendaten) gewinnen von lokaler Inferenz, weil: (1) Null Cloud-Abhängigkeit, (2) Kein Datenfluss zu US-Unternehmen, (3) Erfüllung von BSI-Grundschutz-Katalogen für sichere Systeme, (4) Null Lizenzkosten (alles Open Source), (5) Sofortige Produktivität (auf deinem Server). Ein typisches Mittelstands-Szenario: Archiviere 5 Jahre Kundenverträge, indexiere sie mit AnythingLLM, führe Due-Diligence und Kundendaten-Anfragen lokal durch.