00_RAG_Core

Dieses Verzeichnis enthĂ€lt die entkoppelte, reine Bash-Implementierung fĂŒr RAG
(Retrieval-Augmented Generation) mit Ollama und Qdrant. Es wurde entworfen, um
völlig unabhÀngig von statischen Ordnerstrukturen jedweden Textbestand in die
Qdrant Vektordatenbank aufzunehmen und per curl abzufragen.

Voraussetzungen

  • Ollama lĂ€uft auf localhost:11434
  • Qdrant lĂ€uft auf localhost:6333
  • Hilfsprogramme auf dem Server: curl und jq

Sollten die Dienste auf anderen IPs laufen, kannst du die Umgebungsvariablen
OLLAMA_URL und QDRANT_URL vor dem AusfĂŒhren setzen, z.B.:
export OLLAMA_URL="http://192.168.1.10:11434"

Die drei Hauptskripte

1. 00_setup_qdrant.sh

Bereitet die Datenbank vor. Setzt eine Collection (Standard: ozmai_kb) mit der
passenden VektorgrĂ¶ĂŸe (Standard: 768 fĂŒr nomic-embed-text) auf.
Verwendung: ./00_setup_qdrant.sh [collection_name]

2. 01_import_folder.sh

Importiert rekursiv alle .md und .txt Dateien aus einem beliebigen
Zielordner in Qdrant. Es konvertiert den Text via Ollama zu Vektoren und
speichert Dateipfad + Inhalt als Payload. Verwendung:
./01_import_folder.sh /pfad/zum/ordner [collection_name] Beispiel:
./01_import_folder.sh /Users/bmt/Desktop/OZMAI_RAG/CrumbCrew_Deploy_OS-v.0.0/OZMAI

3. 02_ask_ozmai.sh

Die "Rolle". Nimmt die Frage des Benutzers, sucht nach dem thematisch
passendsten Kontext in der Datenbank und beauftragt Ollama (llama3.2 oder ein
anderes Modell) eine Antwort ausschließlich basierend auf diesem Kontext zu
generieren. Das Skript speichert alle Anfragen und Antworten in der
chat_history.json. Verwendung: ./02_ask_ozmai.sh "Deine Frage hier"
Beispiel: ./02_ask_ozmai.sh "Welche Rolle spielt Operational Security?"

4. 03_import_git_repo.sh

Ein Wrapper-Skript, das es dir extrem leicht macht, ein beliebiges
Git-Repository (z.B. von deinem lokalen Gitea) in Qdrant zu importieren. Es
klont das Repo in einen temporÀren Ordner, ruft 01_import_folder.sh auf und
rÀumt den temporÀren Ordner danach wieder auf! Verwendung:
./03_import_git_repo.sh <git_url> [collection_name] Beispiel:
./03_import_git_repo.sh http://gitea.local/crew/dokumentation.git