Indizieren von Millionen von Wikipedia-Artikeln mit Upstash Vector
Dieses Repository enthält den Code und die Dokumentation für unser Projekt zur Indizierung von Millionen von Wikipedia-Artikeln mit Upstash Vector, wie in unserem Blogbeitrag beschrieben.
Projektübersicht
Wir haben eine semantische Suchmaschine und das Upstash RAG Chat SDK unter Verwendung von Wikipedia-Daten erstellt, um die Fähigkeiten von Upstash Vector und RAG Chat SDK zu demonstrieren. Das Projekt umfasst:
- Vorbereiten und Einbetten von Wikipedia-Artikeln
- Indizieren der Vektoren mit Upstash Vector
- Aufbau einer semantischen Wikipedia-Suchmaschine
- Implementierung eines RAG-Chatbots
Hauptmerkmale
- Indiziert über 144 Millionen Vektoren aus Wikipedia-Artikeln in 11 Sprachen
- Verwendetes BGE-M3-Einbettungsmodell für mehrsprachige Unterstützung
- Semantische Suche mit sprachübergreifenden Funktionen implementiert
- Mit dem Upstash RAG Chat SDK wurde ein RAG-Chatbot erstellt
Verwendete Technologien
- Upstash Vector: Zum Speichern und Abfragen von Vektoreinbettungen
- Upstash Redis: Zum Speichern von Chat-Sitzungen
- Upstash RAG Chat SDK: Zum Erstellen der RAG Chat-Anwendung
- SentenceTransformers: Zum Generieren von Einbettungen
- Meta-Llama-3-8B-Instruct: Als LLM-Anbieter über QStash-LLM-APIs
Entwicklung
Um das Projekt lokal auszuführen, gehen Sie folgendermaßen vor:
- Gehen Sie zur Upstash-Konsole, um Ihre Datenbanken zu verwalten:
- Erstellen Sie eine neue Vector-Datenbank mit Unterstützung für Einbettungsmodelle. Für mehrsprachige Unterstützung können Sie das Modell BGE-M3 wählen.
- Erstellen Sie eine neue Redis-Datenbank zum Speichern von Chat-Sitzungen.
- Kopieren Sie die Anmeldeinformationen für Redis und Vector. Kopieren Sie auch die QStash-Anmeldeinformationen für die Verwendung der im Upstash gehosteten LLM-Modelle.
Legen Sie die Anmeldeinformationen in einer .env
Datei im Stammverzeichnis des Projekts ab. Ihre .env
Datei sollte so aussehen:
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- Füllen Sie Ihren Vector-Index.
Dieses Projekt verwendet Namespaces, um Artikel in verschiedenen Sprachen zu speichern. Sie müssen die Vektoren also in den richtigen Namensraum einfügen. Für Englisch fügen Sie Ihre Vektoren in den en
-Namespace ein.
- Installieren Sie die Abhängigkeiten:
- Führen Sie den Entwicklungsserver aus:
Mitwirken
Wir freuen uns über Beiträge zur Verbesserung dieses Projekts. Bitte zögern Sie nicht, Probleme einzureichen oder Anfragen zu stellen.
Danksagungen
- Wikipedia für die Bereitstellung des Datensatzes
- Upstash für ihre Vektordatenbank und das RAG Chat SDK
- Alle Mitwirkenden der in diesem Projekt verwendeten Open-Source-Bibliotheken
Kontakt
Bei Fragen oder Rückmeldungen zum Projekt oder zu Upstash Vector wenden Sie sich bitte an uns unter (Kontaktinformationen hinzufügen).
Schauen Sie sich unsere Live-Demo an, um das Projekt in Aktion zu sehen!