Vektor-Speicher

Dieser Leitfaden hilft Ihnen zu verstehen, wie Sie den Rememberizer Vector Store als Entwickler nutzen können.

Vektor-Speicher

Der Rememberizer Vektor-Speicher vereinfacht den Umgang mit Vektordaten, sodass Sie sich auf die Texteingabe konzentrieren und die Leistungsfähigkeit von Vektoren für verschiedene Anwendungen wie Suche und Datenanalyse nutzen können.

Einführung

Der Rememberizer Vector Store bietet eine benutzerfreundliche Schnittstelle zur Handhabung von Vektordaten und abstrahiert dabei die Komplexität von Vektor-Embeddings. Angetrieben von PostgreSQL mit der pgvector-Erweiterung ermöglicht der Rememberizer Vector Store die direkte Arbeit mit Text. Der Dienst kümmert sich um das Chunking, die Vektorisierung und das Speichern der Textdaten, sodass Sie sich leichter auf Ihre Kernanwendungslogik konzentrieren können.

Für ein tieferes Verständnis der theoretischen Konzepte hinter Vektor-Embeddings und Vektordatenbanken siehe Was sind Vektor-Embeddings und Vektordatenbanken?.

Technische Übersicht

Wie Vektor-Speicher funktionieren

Rememberizer Vektor-Speicher wandeln Text in hochdimensionale Vektor-Darstellungen (Embeddings) um, die die semantische Bedeutung erfassen. Dies ermöglicht:

  1. Semantische Suche: Dokumente basierend auf Bedeutung und nicht nur auf Schlüsselwörtern finden

  2. Ähnlichkeitsabgleich: Konzeptuell verwandte Inhalte identifizieren

  3. Effiziente Abrufung: Relevante Informationen schnell aus großen Datensätzen lokalisieren

Schlüsselkomponenten

  • Dokumentenverarbeitung: Texte werden in optimal große Abschnitte mit überlappenden Grenzen zur Kontextbewahrung aufgeteilt

  • Vektorisierung: Abschnitte werden mit modernsten Modellen in Einbettungen umgewandelt

  • Indizierung: Spezialisierte Algorithmen organisieren Vektoren für eine effiziente Ähnlichkeitssuche

  • Abfrageverarbeitung: Suchanfragen werden vektorisiert und mit gespeicherten Einbettungen verglichen

Architektur

Rememberizer implementiert Vektorspeicher mit:

  • PostgreSQL mit pgvector-Erweiterung: Für effiziente Vektorspeicherung und -suche

  • Sammlungsbasierte Organisation: Jeder Vektorspeicher hat seine eigene isolierte Sammlung

  • API-gesteuerter Zugriff: Einfache RESTful-Endpunkte für alle Operationen

Erste Schritte

Erstellen eines Vektor-Speichers

  1. Navigieren Sie zum Abschnitt Vektor-Speicher in Ihrem Dashboard

  2. Klicken Sie auf "Neuen Vektor-Speicher erstellen":

    • Ein Formular wird angezeigt, das Sie auffordert, Details einzugeben.

  3. Füllen Sie die Details aus:

    • Name: Geben Sie einen eindeutigen Namen für Ihren Vektor-Speicher an.

    • Beschreibung: Schreiben Sie eine kurze Beschreibung des Vektor-Speichers.

    • Einbettungsmodell: Wählen Sie das Modell aus, das Text in Vektoren umwandelt.

    • Indexierungsalgorithmus: Wählen Sie aus, wie Vektoren für die Suche organisiert werden.

    • Suchmetrik: Definieren Sie, wie die Ähnlichkeit zwischen Vektoren berechnet wird.

    • Vektor-Dimension: Die Größe der Vektor-Einbettungen (typischerweise 768-1536).

  4. Reichen Sie das Formular ein:

    • Klicken Sie auf die Schaltfläche "Erstellen". Sie erhalten eine Erfolgsmeldung, und der neue Speicher wird in Ihrer Liste der Vektor-Speicher angezeigt.

Konfigurationsoptionen

Einbettungsmodelle

Modell
Dimensionen
Beschreibung
Am besten geeignet für

openai/text-embedding-3-large

1536

Hochgenaues Einbettungsmodell von OpenAI

Produktionsanwendungen, die maximale Genauigkeit erfordern

openai/text-embedding-3-small

1536

Kleineres, schnelleres Einbettungsmodell von OpenAI

Anwendungen mit höheren Durchsatzanforderungen

Indexierungsalgorithmen

Algorithmus
Beschreibung
Kompromisse

IVFFLAT (Standard)

Umgekehrte Datei mit flacher Kompression

Gute Balance zwischen Geschwindigkeit und Genauigkeit; funktioniert gut für die meisten Datensätze

HNSW

Hierarchisches navigierbares kleines Welt

Bessere Genauigkeit für große Datensätze; höhere Speicheranforderungen

Suchmetriken

Metrik
Beschreibung
Am besten geeignet für

cosinus (Standard)

Misst den Winkel zwischen Vektoren

Allgemeine Ähnlichkeitsabgleichung

inneres Produkt (ip)

Skalarprodukt zwischen Vektoren

Wenn die Vektormagnitude wichtig ist

L2 (Euklidisch)

Luftlinienentfernung zwischen Vektoren

Wenn räumliche Beziehungen wichtig sind

Verwaltung von Vektor-Speichern

  1. Vektor-Speicher anzeigen und bearbeiten:

    • Greifen Sie auf das Verwaltungs-Dashboard zu, um Vektor-Speicher anzuzeigen, zu bearbeiten oder zu löschen.

  2. Dokumente anzeigen:

    • Durchsuchen Sie einzelne Dokumente und deren zugehörige Metadaten innerhalb eines bestimmten Vektor-Speichers.

  3. Statistiken:

    • Sehen Sie sich detaillierte Statistiken wie die Anzahl der gespeicherten Vektoren, die Abfrageleistung und betriebliche Kennzahlen an.

API-Schlüsselverwaltung

API-Schlüssel werden verwendet, um den Zugriff auf die API-Endpunkte des Rememberizer Vector Store zu authentifizieren und zu autorisieren. Eine ordnungsgemäße Verwaltung der API-Schlüssel ist entscheidend für die Aufrechterhaltung der Sicherheit und Integrität Ihrer Vektor-Stores.

Erstellen von API-Schlüsseln

  1. Gehen Sie zu Ihrer Seite mit den Details zum Vector Store

  2. Navigieren Sie zum Abschnitt zur Verwaltung von API-Schlüsseln:

    • Er kann im Tab "Konfiguration" gefunden werden

  3. Klicken Sie auf "API-Schlüssel hinzufügen":

    • Ein Formular wird angezeigt, das Sie auffordert, Details einzugeben.

  4. Füllen Sie die Details aus:

    • Name: Geben Sie einen Namen für den API-Schlüssel an, um Ihnen zu helfen, seinen Anwendungsfall zu identifizieren.

  5. Reichen Sie das Formular ein:

    • Klicken Sie auf die Schaltfläche "Erstellen". Der neue API-Schlüssel wird generiert und angezeigt. Stellen Sie sicher, dass Sie ihn kopieren und sicher aufbewahren. Dieser Schlüssel wird verwendet, um Anfragen an diesen speziellen Vector Store zu authentifizieren.

Widerrufen von API-Schlüsseln

Wenn ein API-Schlüssel nicht mehr benötigt wird, können Sie ihn löschen, um möglichen Missbrauch zu verhindern.

Aus Sicherheitsgründen möchten Sie möglicherweise Ihre API-Schlüssel regelmäßig rotieren. Dies beinhaltet das Generieren eines neuen Schlüssels und das Widerrufen des alten.

Verwendung der Vector Store API

Nachdem Sie einen Vector Store erstellt und einen API-Schlüssel generiert haben, können Sie über die REST API mit ihm interagieren.

Codebeispiele

Dokument in den Vektor-Speicher hochladen

def upload_document(file_path, document_name=None): if document_name is None: document_name = file_path.split("/")[-1]

Textinhalt in den Vektorstore hochladen

def upload_text(content, document_name): headers = { "x-api-key": API_KEY, "Content-Type": "application/json" }

Suche im Vektor-Store

def search_vector_store(query, num_results=5, prev_chunks=1, next_chunks=1): headers = {"x-api-key": API_KEY}

Beispielverwendung

dokument_hochladen("pfad/zum/dokument.pdf")

upload_text("Dies ist ein Beispieltext, der vektorisiert werden soll", "sample-document.txt")

search_vector_store("Wie funktioniert die Vektorsimilarität?")

{% endtab %}

{% tab title="Ruby" %}

Beispielverwendung

=begin client = VectorStoreClient.new('your_api_key', 'vs_abc123')

Suche nach Dokumenten

results = client.search('Was sind die besten Praktiken für Datensicherheit?') puts "Gefunden #{results['matched_chunks'].length} Ergebnisse"

Zeige das beste Ergebnis an

if results['matched_chunks'].any? top_match = results['matched_chunks'].first puts "Bester Treffer (Distanz: #{top_match['distance']}):" puts "Dokument: #{top_match['document']['name']}" puts "Inhalt: #{top_match['matched_content']}" end =end

Leistungsüberlegungen

Demnächst: Architekturdiagramm des Vektor-Speichers

Dieses technische Architekturdiagramm wird veranschaulichen:

  • Die Architektur der PostgreSQL + pgvector-Grundlage

  • Strukturen der Indexierungsalgorithmen (IVFFLAT vs. HNSW)

  • Wie Suchmetriken im Vektorraum funktionieren (visueller Vergleich)

  • Dokumentchunking-Prozess mit Überlappungsvisualisierung

  • Leistungsüberlegungen, die über verschiedene Skalen visualisiert werden

Optimierung für verschiedene Datenmengen

Datenmenge
Empfohlene Konfiguration
Hinweise

Klein (<10k Dokumente)

IVFFLAT, Kosinusähnlichkeit

Einfache Konfiguration bietet gute Leistung

Mittel (10k-100k Dokumente)

IVFFLAT, regelmäßige Neuanordnung sicherstellen

Balance zwischen Suchgeschwindigkeit und Indexpflege

Groß (>100k Dokumente)

HNSW, Erwägung der Erhöhung der Vektordimensionen

Höherer Speicherverbrauch, aber hält die Leistung im großen Maßstab

Chunking-Strategien

Der Chunking-Prozess hat einen erheblichen Einfluss auf die Suchqualität:

  • Chunk-Größe: Rememberizer verwendet eine Standard-Chunk-Größe von 1024 Bytes mit einer Überlappung von 200 Bytes

  • Kleinere Chunks (512-1024 Bytes): Präzisere Übereinstimmungen, besser für spezifische Fragen

  • Größere Chunks (1500-2048 Bytes): Mehr Kontext in jeder Übereinstimmung, besser für breitere Themen

  • Überlappung: Stellt sicher, dass der Kontext an den Chunk-Grenzen nicht verloren geht

Abfrageoptimierung

  • Kontextfenster: Verwenden Sie prev_chunks und next_chunks, um umgebende Inhalte abzurufen

  • Ergebnisanzahl: Beginnen Sie mit 3-5 Ergebnissen (n-Parameter) und passen Sie diese je nach Präzisionsbedarf an

  • Schwellenwert: Passen Sie den t-Parameter an, um Ergebnisse nach Ähnlichkeitspunktzahl zu filtern

Erweiterte Nutzung

Neuindizierung

Rememberizer löst automatisch eine Neuindizierung aus, wenn die Vektoranzahlen vordefinierte Schwellenwerte überschreiten, aber ziehen Sie eine manuelle Neuindizierung in Betracht nach:

  • Hochladen einer großen Anzahl von Dokumenten

  • Ändern des Einbettungsmodells

  • Modifizieren des Indizierungsalgorithmus

Abfrageverbesserung

Für bessere Suchergebnisse:

  1. Seien Sie spezifisch in Suchanfragen

  2. Fügen Sie Kontext hinzu, wenn möglich

  3. Verwenden Sie natürliche Sprache anstelle von Schlüsselwörtern

  4. Passen Sie die Parameter an basierend auf der Ergebnisqualität

Migration von anderen Vektor-Datenbanken

Wenn Sie derzeit andere Vektor-Datenbanklösungen verwenden und zu Rememberizer Vector Store migrieren möchten, helfen Ihnen die folgenden Anleitungen, Ihre Daten effizient zu übertragen.

Migrationsübersicht

Die Migration von Vektordaten umfasst:

  1. Exportieren von Daten aus Ihrer Quell-Vektordatenbank

  2. Konvertieren der Daten in ein mit Rememberizer kompatibles Format

  3. Importieren der Daten in Ihren Rememberizer Vektor-Speicher

  4. Überprüfen, ob die Migration erfolgreich war

Vorteile der Migration zu Rememberizer

  • PostgreSQL-Grundlage: Basierend auf reifer Datenbanktechnologie mit integrierter Sicherung und Wiederherstellung

  • Integriertes Ökosystem: Nahtlose Verbindung mit anderen Rememberizer-Komponenten

  • Vereinfachte Verwaltung: Einheitliche Schnittstelle für Vektoroperationen

  • Erweiterte Sicherheit: Zeilenbasierte Sicherheit und feingranulare Zugriffskontrollen

  • Skalierbare Architektur: Leistungsoptimierung, während Ihre Daten wachsen

Migration von Pinecone

Migration von Qdrant

Migration von Supabase pgvector

Wenn Sie bereits Supabase mit pgvector verwenden, ist die Migration zu Rememberizer besonders einfach, da beide PostgreSQL mit der pgvector-Erweiterung verwenden.

Migrationsbest Practices

Befolgen Sie diese Empfehlungen für eine erfolgreiche Migration:

  1. Vorausplanen:

    • Schätzen Sie das Datenvolumen und die für die Migration benötigte Zeit

    • Planen Sie die Migration während verkehrsärmerer Zeiten

    • Erhöhen Sie den Speicherplatz, bevor Sie große Migrationen starten

  2. Zuerst Testen:

    • Erstellen Sie einen Test-Vektor-Speicher in Rememberizer

    • Migrieren Sie eine kleine Teilmenge von Daten (100-1000 Vektoren)

    • Überprüfen Sie die Suchfunktionalität mit wichtigen Abfragen

  3. Datenvalidierung:

    • Vergleichen Sie die Dokumentenzahlen vor und nach der Migration

    • Führen Sie Benchmark-Abfragen durch, um ähnliche Ergebnisse sicherzustellen

    • Validieren Sie, dass Metadaten korrekt erhalten bleiben

  4. Leistung optimieren:

    • Verwenden Sie Batch-Operationen für Effizienz

    • Berücksichtigen Sie die geografische Nähe von Quell- und Ziel-Datenbanken

    • Überwachen Sie die API-Ratenlimits und passen Sie die Batch-Größen entsprechend an

  5. Nach der Migration:

    • Überprüfen Sie die Indexerstellung in Rememberizer

    • Aktualisieren Sie die Anwendungs-Konfigurationen, um auf den neuen Vektor-Speicher zu verweisen

    • Halten Sie die Quell-Datenbank als Backup, bis die Migration verifiziert ist

Für detaillierte API-Referenzen und Endpunktdokumentationen besuchen Sie die Vektor-Speicher-APIs-Seite.


Stellen Sie sicher, dass Sie die API-Schlüssel sicher verwalten und bewährte Praktiken für das Management von API-Schlüsseln befolgen.

Last updated