From 83a141cff4e853d9efea959be4d424a33b96314c Mon Sep 17 00:00:00 2001 From: "Christoph K." Date: Tue, 10 Mar 2026 21:12:54 +0100 Subject: [PATCH] Restructure docs: move architecture to doc/, simplify README Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 2 ++ README.md | 71 ++++----------------------------------------- doc/architecture.md | 60 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 65 deletions(-) create mode 100644 .gitignore create mode 100644 doc/architecture.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7c53b1f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +bin/ +config.yml diff --git a/README.md b/README.md index 1e2173d..c6b0824 100755 --- a/README.md +++ b/README.md @@ -2,66 +2,12 @@ Persönlicher Wissens-Agent für den AI_Brain. Importiert Markdown-Notizen und Bildbeschreibungen in eine Qdrant-Vektordatenbank und beantwortet Fragen darüber mit einem lokalen LLM. -## Architektur +## Voraussetzungen -``` -AI_Brain/ - *.md Dateien - │ - ▼ - bin/ingest Embeddings via LocalAI - │ - ▼ - Qdrant (NAS) ◄──── bin/ask ──► LM Studio (Chat) -``` - -- **Embeddings**: LocalAI unter `embedding.url` (Modell konfigurierbar) -- **Vektordatenbank**: Qdrant auf dem NAS -- **Chat-Completion**: LocalAI unter `chat.url` (Modell konfigurierbar) - -## Projektstruktur - -``` -AI-Agent/ - cmd/ - ingest/main.go Entry Point für ingest-Binary - ask/main.go Entry Point für ask-Binary - internal/ - config/config.go Config-Struct, Clients, Verbindungen - brain/ - ingest.go Markdown-Import, Chunking - ingest_json.go JSON-Import (Bildbeschreibungen) - ask.go Suche + LLM-Antwort - bin/ Kompilierte Binaries (von build.sh erzeugt) - config.yml Alle Einstellungen - build.sh Baut beide Binaries -``` - -## Konfiguration - -Alle Einstellungen in `config.yml` (muss im Arbeitsverzeichnis liegen): - -```yaml -qdrant: - host: "192.168.1.4" - port: "6334" - api_key: "..." - collection: "jacek-brain" - -embedding: - url: "http://192.168.1.118:8080/v1" - model: "qwen3-embedding-4b" - dimensions: 2560 # muss zum Modell passen - -chat: - url: "http://192.168.1.118:8080/v1" - model: "qwen3.5-4b-claude-4.6-opus-reasoning-distilled" - -brain_root: "/mnt/c/Users/jacek/AI_Brain" -top_k: 3 -``` - -> **Wichtig:** Wenn du `embedding.model` oder `dimensions` änderst, muss die Qdrant-Collection neu erstellt werden (im Dashboard löschen, dann `ingest` erneut ausführen). +- Go 1.22+ +- LocalAI läuft auf `embedding.url` mit dem konfigurierten Embedding-Modell geladen +- LocalAI läuft auf `chat.url` mit dem konfigurierten Chat-Modell geladen +- Qdrant läuft auf dem NAS (Port 6334 gRPC, Port 6333 Dashboard) ## Build @@ -94,9 +40,4 @@ Kein Löschen der Datenbank nötig — einfach `./bin/ingest` erneut ausführen: - Bestehende Chunks → gleiche SHA256-ID → Qdrant überschreibt - Neue Dateien → neue IDs → werden hinzugefügt -## Voraussetzungen - -- Go 1.22+ -- LocalAI läuft auf `embedding.url` mit dem konfigurierten Embedding-Modell geladen -- LocalAI läuft auf `chat.url` mit dem konfigurierten Chat-Modell geladen -- Qdrant läuft auf dem NAS (Port 6334 gRPC, Port 6333 Dashboard) +Architektur und Konfiguration: [doc/architecture.md](doc/architecture.md) diff --git a/doc/architecture.md b/doc/architecture.md new file mode 100644 index 0000000..e6298ec --- /dev/null +++ b/doc/architecture.md @@ -0,0 +1,60 @@ +# Architektur + +``` +AI_Brain/ + *.md Dateien + │ + ▼ + bin/ingest Embeddings via LocalAI + │ + ▼ + Qdrant (NAS) ◄──── bin/ask ──► LM Studio (Chat) +``` + +- **Embeddings**: LocalAI unter `embedding.url` (Modell konfigurierbar) +- **Vektordatenbank**: Qdrant auf dem NAS +- **Chat-Completion**: LocalAI unter `chat.url` (Modell konfigurierbar) + +## Projektstruktur + +``` +AI-Agent/ + cmd/ + ingest/main.go Entry Point für ingest-Binary + ask/main.go Entry Point für ask-Binary + internal/ + config/config.go Config-Struct, Clients, Verbindungen + brain/ + ingest.go Markdown-Import, Chunking + ingest_json.go JSON-Import (Bildbeschreibungen) + ask.go Suche + LLM-Antwort + bin/ Kompilierte Binaries (von build.sh erzeugt) + config.yml Alle Einstellungen + build.sh Baut beide Binaries +``` + +## Konfiguration + +Alle Einstellungen in `config.yml` (muss im Arbeitsverzeichnis liegen): + +```yaml +qdrant: + host: "192.168.1.4" + port: "6334" + api_key: "..." + collection: "jacek-brain" + +embedding: + url: "http://192.168.1.118:8080/v1" + model: "qwen3-embedding-4b" + dimensions: 2560 # muss zum Modell passen + +chat: + url: "http://192.168.1.118:8080/v1" + model: "qwen3.5-4b-claude-4.6-opus-reasoning-distilled" + +brain_root: "/mnt/c/Users/jacek/AI_Brain" +top_k: 3 +``` + +> **Wichtig:** Wenn du `embedding.model` oder `dimensions` änderst, muss die Qdrant-Collection neu erstellt werden (im Dashboard löschen, dann `ingest` erneut ausführen).