Blank white background with no objects or features visible.

Werden Sie Teil unseres VAR- und VAD-Ökosystems – und ermöglichen Sie die Governance von Unternehmens-KI über LLMs, MCPs und Agents hinweg. Read →

RAG mit TrueFoundry und MongoDB Atlas erstellen

Aktualisiert: December 11, 2024

Fassen Sie zusammen mit
Metallic silver knot design with interlocking loops and circular shape forming a decorative pattern.
Blurry black butterfly or moth icon with outstretched wings on white background.
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Einführung

Retrieval-Augmented Generation (RAG) kombiniert die Stärken von Abrufsystemen und generativen Modellen, um hochrelevante, kontextsensitive Ergebnisse zu erzeugen. Es fragt externe Wissensquellen — wie Datenbanken oder Suchindexe — ab, um relevante Informationen abzurufen, die dann durch ein generatives Modell verfeinert werden.

Warum RAG?
  1. Hochgradig relevante und kontextsensitive Ergebnisse.
  2. Durch das Einbeziehen dynamisches und aktuelles Wissen, RAG-Systeme überwinden die Einschränkungen des statischen Vortrainings in generativen Modellen und sind daher äußerst effektiv für Anwendungen wie die Beantwortung von Fragen, wissensintensive Aufgaben und die Generierung personalisierter Inhalte.
  3. Das modulare Die Natur von RAG ermöglicht eine Optimierung sowohl in der Abruf- als auch in der Generierungsphase, was eine größere Flexibilität und Skalierbarkeit beim Systemdesign ermöglicht.

Cognita von TrueFoundry: Vereinfachung von RAG für skalierbare Anwendungen

Trotz ihres Potenzials kann die Implementierung von RAG komplex sein, da sie Modellauswahl, Datenorganisation und bewährte Verfahren erfordert. Bestehende Tools vereinfachen das Prototyping, es fehlt jedoch eine Open-Source-Vorlage für eine skalierbare Implementierung — geben Sie ein Cognita.

Cognita ist ein Open-Source-RAG-Framework, das die Erstellung und Bereitstellung skalierbarer Anwendungen vereinfacht. Durch die Aufteilung von RAG in modulare Schritte gewährleistet es eine einfache Wartung, Interoperabilität mit anderen KI-Tools, Anpassung und Konformität. Cognita balanciert Anpassungsfähigkeit und Benutzerfreundlichkeit und ist gleichzeitig skalierbar für zukünftige Weiterentwicklungen.

Vorteile von Cognita

  1. Ein zentrales wiederverwendbares Repository für Parser, Loader, Embedder und Retriever.
  2. Möglichkeit für Benutzer ohne technische Kenntnisse, mit der Benutzeroberfläche zu spielen — Laden Sie Dokumente hoch und führen Sie QnA mithilfe von Modulen durch, die vom Entwicklungsteam erstellt wurden.
  3. Vollständig API-gesteuert — was die Integration mit anderen Systemen ermöglicht.
  4. Large Language Models (LLMs) für die einfache Interaktion mit generativen Modellen wie den GPT-, Hugging Face-Modellen oder anderen LLM-APIs von OpenAI.
  5. Vorgefertigte Integrationen für die einfache Verbindung zu Pinecone, Weaviate, ChromaDB oder MongoDB Atlas Vector Search.
Know more about Cognita
Click Here

Warum MongoDB für RAG?

Verwenden MongoDB als Vektordatenbank für Ihre Retrieval-Augmented Generation (RAG) -Anwendung kann je nach Ihren Anforderungen von Vorteil sein. Hier ist der Grund, warum MongoDB eine gute Wahl sein könnte:

1. Unterstützung für die native Vektorsuche

MongoDB unterstützt Vektorindizierung durch seine Atlas-Vektorsuche. Dies ermöglicht eine effiziente Ähnlichkeitssuche in hochdimensionalen Daten, was für RAG-Workflows von zentraler Bedeutung ist. Die wichtigsten Vorteile:

  • Integration mit der Abfragesprache von MongoDB: Kombiniert die Vektorsuche mit herkömmlichen Abfragen und ermöglicht so eine flexiblere und leistungsfähigere Zusammenstellung von Abfragen.
  • Leistungsstarke Suche: Verwendet Algorithmen für den ungefähren nächsten Nachbarn (ANN) wie HNSW (Hierarchical Navigable Small World) für einen skalierbaren und schnellen Vektorabruf.

2. Einheitliches Datenmanagement

RAG-Anwendungen erfordern oft die Verwaltung von beidem, unstrukturierte Daten (z. B. Text und Einbettungen) und strukturierte Daten (z. B. Metadaten, Benutzereinstellungen).

MongoDB ist eine Dokumentdatenbank und ermöglicht es Ihnen, Einbettungen zusammen mit den zugehörigen Metadaten in einem einzigen Datensatz zu speichern. Zum Beispiel:

{
  "embedding": [0.1, 0.2, 0.3, ...],
  "text": "This is a sample document.",
  "metadata": {
    "source": "document_1",
    "timestamp": "2024-12-06T10:00:00Z"
  }
}

Dadurch wird die Komplexität der Verwaltung von Einbettungen in ein separates System vermieden.

3. Flexibilität und Skalierbarkeit

Schemaloses Design: Die Schemaflexibilität von MongoDB macht es einfach, an Ihrem Datenmodell zu iterieren, während sich Ihre RAG-Anwendung weiterentwickelt.

Horizontale Skalierung: Die Sharding-Funktion von MongoDB ermöglicht die Verarbeitung großer Datensätze und die Skalierung, wenn Ihre Anwendung wächst.

Cloud-native Funktionen: MongoDB Atlas bietet vollständig verwaltete Dienste, einschließlich Skalierung, Backups und Überwachung.

Know more about TrueFoundry
Book Demo

Implementierung von RAG mit Cognita+ MongoDB

Schritt 1: MongoDB einrichten

Für ein Video-Tutorial, in dem Sie sehen, wie Sie Ihren kostenlosen MongoDB Atlas-Cluster erhalten, klicken Sie auf hier.

  1. Richten Sie ein MongoDB Atlas-Konto ein, indem Sie die Registriere dich Seite, falls Sie noch kein Konto haben.
  1. Um einen Cluster auf der Registerkarte „Übersicht“ einzurichten, klicken Sie auf „Erstellen“, wählen Sie den Cluster gemäß Ihren Anforderungen aus und klicken Sie auf „Bereitstellung erstellen“.
  1. Um die erforderlichen Authentifizierungen hinzuzufügen, erstellen Sie im Fenster „Mit Cluster verbinden“ einen Datenbankbenutzer.
  2. Stellen Sie eine Verbindung zum MongoDB-Treiber her
    • Wählen Sie die Python-Version
    • Die Verbindungszeichenfolge enthält Ihren Benutzernamen und Ihr Passwort. Kopieren Sie die Verbindungszeichenfolge. Dies würde im nächsten Schritt verwendet werden.

Schritt 2: Cognita für die Verwendung von MongoDB einrichten

  1. Klonen Sie das Cognita-Github-Repository: https://github.com/truefoundry/cognita/tree/main
  2. Bevor wir die Dienste starten, müssen wir Modellanbieter konfigurieren, die wir zum Einbetten und Generieren von Antworten benötigen würden. Kopieren Sie zunächst models_config.sample.yaml nach models_config.yaml.

cp models_config.sample.yaml models_config.yaml

  1. Erstellen Sie eine Mongo-DB-Sammlung in der neu erstellten Datenbank, sagen Sie „Cognita“. Dies ist die Sammlung, in der alle Chunks gespeichert und beim Abrufvorgang verwendet werden.
  2. Die Compose-Datei verwendet die Datei compose.env für Umgebungsvariablen. Sie können es nach Ihren Bedürfnissen ändern.
  3. Bearbeiten Sie den Schlüssel „VECTOR_DB_CONFIG“ in der Umgebungsdatei. Diese Konfiguration wird im Bootstrap-Prozess verwendet, um sicherzustellen, dass MongoDB während der gesamten Laufzeit als Vektorspeicher verwendet wird. Die Verbindungszeichenfolge für die Mongo-DB wird hier verwendet. Es folgt ein Beispiel dafür, wie das aussehen würde:

VECTOR_DB_CONFIG=' {"provider“ :"mongo“, "url“ :"mongodb+srv: //username: password@clustername.mongodb.net/? retrywrites=true&w=majority&appname=cluster0", „config“: {"database_name“: „cognita"}} '

  1. Standardmäßig sind in der Konfiguration lokale Anbieter aktiviert, die Infinity und einen Ollama-Server benötigen, um Embedding und LLMs lokal auszuführen. Wenn Sie jedoch einen OpenAI-API-Schlüssel haben, können Sie den openai-Anbieter in models_config.yaml auskommentieren und OPENAI_API_KEY in compose.env aktualisieren. Jetzt können Sie den folgenden Befehl ausführen, um die Dienste zu starten:

docker-compose --env-file compose.env --profile ollama --profile unendlich hoch

  1. Die Compose-Datei startet die folgenden Dienste
    • cognita-db — Postgres-Instanz, die zum Speichern von Metadaten für Sammlungen und Datenquellen verwendet wird.
    • cognita-backend — Wird verwendet, um den FastAPI-Backend-Server für Cognita zu starten.
    • cognita-frontend - Wird verwendet, um das Frontend für Cognita zu starten.
  2. Sobald die Dienste verfügbar sind, können Sie unter http://localhost:5001 auf das Frontend zugreifen.

Schritt 3: Richten Sie eine Datensammlung in Cognita ein

Sobald Sie Cognita eingerichtet haben, zeigen die folgenden Schritte, wie Sie die Benutzeroberfläche verwenden, um Dokumente abzufragen:

Datasource

1. Datenquelle erstellen

  • Klicken Sie auf die Registerkarte Datenquellen
  • Klicken Sie auf + Neue Datenquelle
  • Der Datenquellentyp kann entweder Dateien aus dem lokalen Verzeichnis, Web-URL, Github-URL oder der Bereitstellung des Truefoundry-Artefakts FQN sein. Beispiel: Wenn Localdir ausgewählt ist, lade Dateien von deinem Computer hoch und klicke auf Senden.
  • Die Liste der erstellten Datenquellen wird auf der Registerkarte Datenquellen verfügbar sein.

2. Sammlung erstellen

  • Klicken Sie auf den Tab Sammlungen
DataSourceList
  • Klicken Sie auf + Neue Kollektion
collection
  • Namen der Sammlung eingeben
  • Wählen Sie das Einbettungsmodell
  • Fügen Sie eine zuvor erstellte Datenquelle und die erforderliche Konfiguration hinzu
  • Klicken Sie auf Verarbeiten, um die Sammlung zu erstellen und die Daten zu indizieren
ingestionstarted

3. Bei der Erstellung einer neuen Kollektion passiert Folgendes hinter den Kulissen

  • Erstellen Sie eine neue Sammlung in der konfigurierten MongoDB-Datenbank. Wenn der Name der Datenbank beispielsweise `cognita` ist, erstellt dieser Schritt eine Sammlung mit dem angegebenen Eingabenamen in der Cognita-Datenbank in Mondo DB.
  • Beim Erstellen einer Sammlung wird ein Vektorsuchindex mit dem folgenden Codeausschnitt erstellt:
from pymongo.operations import SearchIndexModel

search_index_model = SearchIndexModel(
            definition={
                "fields": [
                    {
                        "type": "vector",
                        "path": "embedding",
                        "numDimensions": self.get_embedding_dimensions(embeddings),
                        "similarity": "cosine",
                    }
                ]
            },
            name="vector_search_index",
            type="vectorSearch",
        )

        # Create the search index
        result = self.db[collection_name].create_search_index(model=search_index_model)

Dadurch wird sichergestellt, dass die neu erstellte Sammlung für Vektor-Suchanfragen bereit ist. Beachten Sie, dass das Erstellen eines Indexes auf MongoDB bis zu einer Minute dauern kann.

4. Sobald Sie die Sammlung erstellt haben, beginnt die Datenaufnahme. Sie können ihren Status einsehen, indem Sie Ihre Sammlung im Tab Sammlungen auswählen. In diesem Schritt werden Ihre Dateien analysiert, aufgeteilt und zu Ihrer MongoDB hinzugefügt. Sie können später auch zusätzliche Datenquellen hinzufügen und sie in der Sammlung indizieren. Fahren Sie mit dem nächsten Schritt fort, sobald der Status „Abgeschlossen“ lautet.

ingestioncomplete

Schritt 4: Finden Sie die richtige Konfiguration für Ihre Anwendung

responsegen
  1. Verwenden Sie auf der Registerkarte DocsQA den Spielplatz von Cognita, um mit den verschiedenen Einstellungen zu spielen und herauszufinden, was für Ihre Anwendung am besten funktioniert. Sie können verschiedene Dinge ausprobieren:
    • Techniken zum Abrufen
    • LLM-Modelle, Temperaturen usw.
    • LLM-Eingabeaufforderungen
    • Modelle einbetten
  2. Welche Einstellung für Ihre Anwendung am besten geeignet ist, klicken Sie dafür auf „Anwendung erstellen“ und ein API-Endpunkt wird für Ihre Anwendung bereitgestellt. Sie können zum Tab „Anwendungen“ gehen, um alle Ihre bereitgestellten Anwendungen zu sehen.

Fazit

In diesem Tutorial wurde gezeigt, wie Sie mit Cognita und MongoDB in nur 10 Minuten eine produktionsbereite RAG-Anwendung erstellen. Die Synergie zwischen der Anpassungsfähigkeit und Benutzerfreundlichkeit von Cognita und dem flexiblen Dokumentenmodell von MongoDB mit Vektorsuche bietet eine solide Grundlage für die Erstellung fortschrittlicher KI-Anwendungen.

Know more about TrueFoundry
Book Demo

Der schnellste Weg, deine KI zu entwickeln, zu steuern und zu skalieren

Melde dich an
Inhaltsverzeichniss

Steuern, implementieren und verfolgen Sie KI in Ihrer eigenen Infrastruktur

Buchen Sie eine 30-minütige Fahrt mit unserem KI-Experte

Eine Demo buchen

Der schnellste Weg, deine KI zu entwickeln, zu steuern und zu skalieren

Demo buchen

Entdecke mehr

October 5, 2023
|
Lesedauer: 5 Minuten

<Webinar>GenAi Showcase for Companies

Best Fine Tuning Tools for Model Training
May 3, 2024
|
Lesedauer: 5 Minuten

Die 6 besten Tools zur Feinabstimmung für das Modelltraining im Jahr 2026

May 25, 2023
|
Lesedauer: 5 Minuten

Open-Source-LLMs: Umarmen oder untergehen

August 27, 2025
|
Lesedauer: 5 Minuten

Kartierung des KI-Marktes vor Ort: Von Chips bis zu Steuerflugzeugen

May 16, 2026
|
Lesedauer: 5 Minuten

The Agent Sprawl Problem: Why Enterprises Need Control Before Autonomy

Keine Artikel gefunden.
May 15, 2026
|
Lesedauer: 5 Minuten

Introducing Skills Registry: Reusable Agent Skills for Production AI Systems

Keine Artikel gefunden.
Types of AI agents governed by TrueFoundry enterprise control plane
May 15, 2026
|
Lesedauer: 5 Minuten

Types of AI Agents: Definitions, Roles, and What They Mean for Enterprise Deployment

Keine Artikel gefunden.
May 15, 2026
|
Lesedauer: 5 Minuten

OAuth at the MCP Layer: How We Solved Enterprise Token Management for AI Agents

Keine Artikel gefunden.
Keine Artikel gefunden.

Aktuelle Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.
Machen Sie eine kurze Produkttour
Produkttour starten
Produkttour