Herunterladen

Kontexte & RAG — Benutzerhandbuch | YoBench

So verwenden Sie das Modul „Kontexte & RAG" in YoBench: PDF/DOCX/XLSX hochladen, Embedding-Anbieter, LanceDB-Vektorsuche, AI-Chat-Integration.

Was das Modul „Kontexte & RAG" leistet

Das Modul macht aus Ihren Dokumenten Wissensbasen, die dem AI Chat zur Verfügung stehen. Sie erstellen einen Kontext, laden Dateien (PDF, DOCX, XLSX, CSV, Bilder) oder Text hinein, das Modul zerlegt den Inhalt automatisch in Chunks, berechnet Embeddings über den gewählten Anbieter und speichert die Vektoren in einer lokalen LanceDB. Bei einer Anfrage holt YoBench die relevantesten Chunks und schiebt sie in den System-Prompt — das Modell antwortet aus Ihren Dokumenten, nicht nur aus Allgemeinwissen.

Was Sie bekommen:

  • Benannte Wissensbasen — getrennter Kontext pro Projekt / Thema.
  • Unterstützte Formate — PDF, DOCX, XLSX/XLS, CSV, TXT, MD, Bilder (PNG, JPG, GIF, WebP). Bilder und PDFs durchlaufen die eingebaute OCR; XLSX/CSV werden je Blatt in flachen Text konvertiert.
  • Lokale LanceDB — Vektoren liegen unter userData/lancedb/, je Kontext eine Tabelle (ctx_{id}).
  • Mehrere Embedding-Anbieter — OpenAI, LM Studio, Ollama (jeder OpenAI-kompatible Endpoint). Genau einer ist aktiv; ein Wechsel markiert alle Kontexte als stale und löst asynchrones Re-Indexing aus.
  • AI-Chat-Integration — relevante Chunks werden bei der ersten Benutzeranfrage automatisch in den System-Prompt geschoben.

Datenstruktur

  • Kontextname, embedding_provider_id, embedding_model (Snapshot), vectorization_status (ready / stale / indexing / error).
  • Kontext-Items — Einheiten geladenen Inhalts: Typ (text / file / image / module_ref), content, Datei-Metadaten, chunk_count.
  • Vektoren (LanceDB) — Tabelle ctx_{id} mit item_id, chunk_index, text, vector.

Embedding-Anbieter

In Kontext-Manager → Embedding-Anbieter fügen Sie einen Anbieter hinzu:

  • Name — beliebiges Label.
  • Base URL — OpenAI-kompatibler /v1/embeddings-Endpoint. Beispiele:
    • OpenAI: https://api.openai.com/v1, Modell text-embedding-3-small.
    • LM Studio (lokal): http://localhost:1234/v1, Modell text-embedding-nomic-embed-text-v1.5.
    • Ollama (lokal): http://localhost:11434/v1, Modell bge-m3.
  • API-Key — wenn nötig (lokale Server oft leer).
  • Modell — Name des Embedding-Modells am Server.

Genau ein Anbieter ist aktiv — wird für alle Kontexte verwendet. Ein Wechsel markiert alle Kontexte als stale und löst Re-Indexing im Hintergrund aus.

Chunking und Suche

Chunking-Parameter sind im Code festgelegt:

  • Heading-aware Chunking — bei Markdown und strukturiertem Text nutzt der Splitter Überschriften als Schnittstellen, damit ein Chunk eine semantische Einheit bleibt. Bei reinem Text fällt er auf Chunks fester Größe zurück.
  • Overlap zwischen benachbarten Chunks — bewahrt den Kontext an der Grenze.
  • Top-K bei der Suche — Standard 5 Chunks pro Anfrage.

Diese Werte sind im UI nicht änderbar — sie sind für typische Modelle und die meisten Szenarien optimiert.

Suchmodi

Jede Chat-Sitzung wählt einen von zwei Suchmodi:

  • Fast (Standard) — hybride Suche (Vector + Keyword) im Kontext. Liefert Ergebnisse in Sekundenbruchteilen; gut für alltägliche Fragen.
  • Accurate — dieselbe hybride Suche, danach ordnet ein Reranker die Top-Kandidaten nach Relevanz neu. Etwas langsamer, deutlich besser bei langen oder mehrdeutigen Anfragen.

Unterstützte Formate

Typ Was das Modul tut
PDF OCR via eingebauten Service, Textauslesen pro Seite.
DOCX Plain-Text-Auslesen via mammoth.
XLSX, XLS, CSV Blätter zu CSV-Text konvertiert und zusammengeführt.
TXT, MD Wie ist gelesen.
PNG, JPG, GIF, WebP OCR-basierte Texterkennung auf dem Bild.

AI-Chat-Integration

Im AI Chat wählen Sie einen Kontext für die Sitzung. Bei der ersten Benutzeranfrage:

  1. Sendet das Modul Ihre Anfrage als Suchphrase an LanceDB.
  2. Bekommt die Top-K-Chunks aus dem Kontext.
  3. Formatiert sie als Markdown-Block (# Reference context: {name} + ## [N] {title} + Chunktext).
  4. Schiebt den Block in den System-Prompt zusammen mit Überschrift und Anweisungen.

In späteren Iterationen wiederholt sich Retrieval nicht (Kontext ist bereits im System-Prompt).

Retrieval wird übersprungen, wenn:

  • Der Kontext im Status indexing ist (noch nicht bereit).
  • Kein aktiver Embedding-Anbieter konfiguriert ist.
  • Der Modell-Snapshot im Kontext nicht zum aktiven Anbieter passt — Re-Indexing abwarten.

In diesen Fällen läuft der Chat weiter, nur ohne Kontext-Einspielung.

Globale Einstellungen

Es gibt keine speziellen context*-Schlüssel in den zentralen Einstellungen — die gesamte Konfiguration steckt in der DB (Tabellen embedding_providers und contexts). Verwaltung erfolgt über das Modul selbst.

Ablauf

1. Embedding-Anbieter einrichten

  1. Öffnen Sie Kontext-Manager im linken Menü.
  2. Gehen Sie zu Embedding-Anbieter.
  3. Anbieter hinzufügen: Name, Base URL, API-Key, Modell.
  4. Als aktiv markieren.

2. Kontext anlegen

  1. Auf der Modul-Startseite Neuer Kontext klicken.
  2. Benennen (z. B. „Produkt-Doku", „Rechtliches").
  3. Speichern.

3. Dokumente hochladen

  1. Im Kontext Datei hinzufügen klicken oder eine Datei auf die Fläche ziehen.
  2. Unterstützte Formate: PDF, DOCX, XLSX, CSV, TXT, MD, PNG/JPG/GIF/WebP.
  3. Sie können auch Text direkt einfügen oder Artikel über das RSS-Modul anhängen.
  4. Auf das Ende der Indexierung warten (Badge wechselt zu „Vektoren aktuell").

4. Kontext mit Chat verbinden

Im AI Chat den Kontext in den Sitzungseinstellungen wählen. Jetzt fragen — das Modell antwortet aus Ihren Dokumenten.

5. Kontext verwalten

  • Element entfernen — ein bestimmtes Dokument aus dem Kontext löschen.
  • Neu indexieren — Vektor-Neuaufbau erzwingen.
  • Kontext löschen — entfernt zusammen mit der LanceDB-Tabelle.

Nächste Schritte

  • Konfigurieren Sie KI-Anbieter für die Antwort-Generierung.
  • Nutzen Sie das RSS-Modul, um Artikel in Kontexte zu spielen.
  • Der Web-Parser kann Site-Daten in JSON sammeln, die Sie später in einen Kontext importieren.

Hilfe und Feedback

Wünschen Sie standardmäßig lokale Embeddings oder UI-konfigurierbares Chunking? Schreiben Sie uns über das Feedback-Formular.