Retrieval Augmented Generation mit OpenSearch
Retrieval Augmented Generation mit OpenSearch
Diese Demo zeigt eine RAG-Pipeline, die Antworten großer Sprachmodelle mittels semantischer Suche in einer konkreten Wissensbasis verankert, vollständig auf Kubernetes (keine GPU erforderlich).
SO GEHT'S LOS
Mit einem Kubernetes-Cluster genügt ein einziger Befehl:
Funktionen
Hybride OpenSearch-Suche
Kombiniert k-NN-Vektorähnlichkeit mit BM25-Keyword-Matching für eine Trefferqualität, die jedes Verfahren einzeln übertrifft.
768-dim Embeddings
Nutzt nomic-embed-text für Open-Source-Dense-Retrieval, vorab aus der Stackable-Doku geladen.
Transparentes Retrieval
Sieh genau, welche Doku-Abschnitte jede Antwort gestützt haben, inklusive Relevanz-Scores und Quell-URLs.
Lokale LLM-Inferenz
Führt Llama 3.1 8B vollständig im Cluster über Ollama aus, ohne externe API-Aufrufe, und keine Daten verlassen deine Umgebung.
Interaktives Notebook
Ein vorkonfiguriertes JupyterLab-Notebook führt Schritt für Schritt durch die gesamte RAG-Pipeline.
Von Grund auf erweiterbar
Tausche den Dokumentenkorpus aus, probiere andere Embedding- oder Generierungsmodelle oder justiere die Gewichtung der Hybridsuche.
Demo-Komponenten
OpenSearch
Suche & Vektoren
Verteilte Suchmaschine mit k-NN-Plugin für HNSW-Nearest-Neighbor-Suche plus BM25-Rescoring in einer hybriden Abfrage. Speichert ~4.200 Doku-Abschnitte mit 768-dim Embeddings.
OpenSearch Dashboards
Inspektions-UI
Web-UI zum Inspizieren indexierter Dokumente, Durchsuchen der Vektor-Embeddings und Testen roher Abfragen über die Dev-Tools-Konsole.
Ollama
LLM-Runtime
Lokale LLM-Runtime, die beim Start zwei Modelle lädt: nomic-embed-text:v1.5 (~274 MB) für Embeddings und llama3.1:8b (~4,7 GB) für die Antwortgenerierung.
JupyterLab
Notebook-Server
Vorkonfigurierter Notebook-Server mit vollständigem RAG-Pipeline-Notebook, per Init-Container geladen: Setup, Retrieval, Kontextaufbereitung und gestreamte Generierung.
Demo-Ablauf
Installation
Deploye die Demo mit einem einzigen stackablectl-Befehl auf deinem bestehenden Kubernetes-Cluster. Operatoren und alle Datenprodukte werden automatisch bereitgestellt.
Embeddings automatisch geladen
Ein Kubernetes-Job lädt vorab generierte Embeddings (~89 MB, ~4.200 Abschnitte) von GitHub und indexiert sie mit k-NN-Vektor-Mappings in OpenSearch.
JupyterLab öffnen
Per Port-Forward das Notebook unter localhost:8888 öffnen. Es prüft die Verbindung, zeigt Dokumentzahlen und führt Schritt für Schritt.
RAG-Abfragen erkunden
Stelle Fragen zur Stackable-Doku. Beobachte Produkterkennung, abgerufene Abschnitte mit Scores und die gestreamte LLM-Antwort, alles im Notebook.
In Dashboards inspizieren
Durchsuche den Index rag-documents in OpenSearch Dashboards, um Vektoren und Metadaten zu sehen.
Starte die komplette RAG-Pipeline auf deinem eigenen Kubernetes-Cluster oder sprich mit uns über deinen Use Case.