Indexation de millions d'articles Wikipédia avec Upstash Vector
Ce référentiel contient le code et la documentation de notre projet d'indexation de millions d'articles Wikipédia à l'aide d'Upstash Vector, comme décrit dans notre article de blog.
Aperçu du projet
Nous avons créé un moteur de recherche sémantique et le SDK Upstash RAG Chat en utilisant les données Wikipedia pour démontrer les capacités d'Upstash Vector et du SDK RAG Chat. Le projet implique :
- Préparation et intégration d'articles Wikipédia
- Indexation des vecteurs à l'aide d'Upstash Vector
- Construire un moteur de recherche sémantique Wikipédia
- Implémentation d'un chatbot RAG
Principales fonctionnalités
- Indexé plus de 144 millions de vecteurs à partir d'articles Wikipédia en 11 langues
- Modèle d'intégration BGE-M3 utilisé pour le support multilingue
- Recherche sémantique implémentée avec des capacités multilingues
- Création d'un chatbot RAG à l'aide du SDK Upstash RAG Chat
Technologies utilisées
- Upstash Vector : pour stocker et interroger des intégrations vectorielles
- Upstash Redis : pour stocker les sessions de discussion
- SDK Upstash RAG Chat : pour créer l'application RAG Chat
- SentenceTransformers : pour générer des intégrations
- Meta-Llama-3-8B-Instruct : en tant que fournisseur LLM via les API QStash LLM
Développement
Pour exécuter le projet localement, procédez comme suit :
- Accédez à la console Upstash pour gérer vos bases de données :
- Créez une nouvelle base de données Vector avec prise en charge du modèle d'intégration. Vous pouvez choisir le modèle BGE-M3 pour un support multilingue.
- Créez une nouvelle base de données Redis pour stocker les sessions de discussion.
- Copiez les informations d'identification pour Redis et Vector. Copiez également les informations d'identification QStash pour utiliser les modèles LLM hébergés par upstash.
Placez les informations d'identification dans un fichier .env
à la racine du projet. Votre fichier .env
devrait ressembler à ceci :
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- Remplissez votre index vectoriel.
Ce projet utilise des espaces de noms pour stocker des articles dans différentes langues. Vous devez donc insérer les vecteurs dans le bon espace de noms. Pour l'anglais, insérez vos vecteurs dans l'espace de noms en
.
- Installez les dépendances :
- Exécutez le serveur de développement :
Contribuer
Nous apprécions les contributions pour améliorer ce projet. N'hésitez pas à soumettre des problèmes ou des demandes de tirage.
Remerciements
- Wikipédia pour avoir fourni l'ensemble de données
- Upstash pour leur base de données vectorielles et le SDK RAG Chat
- Tous les contributeurs aux bibliothèques open source utilisées dans ce projet
Contact
Pour toute question ou commentaire sur le projet ou Upstash Vector, veuillez nous contacter à (ajouter les coordonnées).
Consultez notre démo en direct pour voir le projet en action !