Codex Omnia

Ein vollständig offline-fähiges Wissenssystem auf einem Raspberry Pi 2W. Wikipedia, Kiwix-Server und eine RAG-Pipeline mit lokalem LLM – komplett ohne Internet.

Konzept

Die Idee

Codex Omnia ist ein lokales KI-Frage-Antwort-System. Die Wissensquelle ist eine vollständige englische Wikipedia-Kopie im ZIM-Format (~115 GB). Der Kiwix-Server stellt sie als Webinterface bereit, die RAG-Pipeline verbindet sie mit einem lokalen LLM.

Hardware

Raspberry Pi 2W

  • BCM2710A1 (Quad-Core ARM)
  • 512 MB LPDDR2
  • 2.4 / 5 GHz WLAN
  • microSD + USB-Storage
  • ~1W idle
Server

Kiwix Serve

  • Wikipedia EN (115 GB ZIM)
  • WiFi-Hotspot „Codex_Archive"
  • Port 8080, systemd-Service
  • Kein Internet nötig
  • Auto-Start nach Reboot
Pipeline

RAG — Retrieval-Augmented Generation

Nutzerfrage: "Wer war Albert Einstein?" [1] get_search_keywords() KI-Prompt → Ollama (llama3) Antwort: "Albert Einstein, Theory of Relativity" [2] build_context() find_titles() → FTS5-Suche in titles.db get_article_text()ZIM-Archiv → HTML → Klartext [3] final_answer() KI-Prompt + Kontext → Ollama (llama3) Antwort auf Deutsch mit Quellenangabe
Architektur

System-Übersicht

┌───────────────────────────────────────────────────────┐ app.py │ AntigravityApp │ │ │ get_search_keywords() ──► Ollama LLM (llama3) build_context() ──► Librarian final_answer() ──► Ollama LLM (llama3) └───────────────────────┬───────────────────────────────┘ ┌───────────▼───────────┐ core/librarian.py │ Librarian │ │ │ find_titles() ──► SQLite FTS5 (titles.db) get_article_text()─► libzim Archive (.zim) └───────────────────────┘
Stack

Technologien

Python Ollama libzim SQLite FTS5 BeautifulSoup Kiwix
Setup

Pi-Installation

  • IPv6 deaktivieren & System updaten
  • Kiwix Tools installieren (aarch64)
  • ZIM-Dateien per USB kopieren
  • WiFi-Hotspot „Codex_Archive" einrichten
  • systemd-Service aktivieren
  • Kiwix auf Port 8080 erreichbar
Zahlen

Projekt in Zahlen

115 GB
Wikipedia ZIM-Archiv
2,8 GB
FTS5-Suchindex
~7 Mio.
Artikel indexiert
~1W
Stromverbrauch (idle)
0
API-Kosten