Ce projet met en œuvre un système de recherche de similitude efficace pour le contenu de la conférence à l'aide d'incorporation, de la quantification FAIS et du produit avec les implémentations Index Custom Index & Kmeans. Il vous permet de trouver des conférences similaires basées sur du contenu textuel, permettant une récupération rapide et une recommandation de conférences.
Cloner le référentiel
git clone https://github.com/bariscamli/Vector-Search-with-FAISS.git
cd Vector-Search-with-FAISSCréer un environnement virtuel (facultatif mais recommandé)
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`Créer un environnement virtuel (facultatif mais recommandé)
pip install -r requirements.txt Données de conférence: placez vos textes de conférence dans un fichier spécifié par LECTURE_FILE dans config.py. Chaque ligne doit contenir une conférence.
Données de requête: placez vos textes de requête dans un fichier spécifié par QUERY_FILE dans config.py. Chaque ligne doit contenir une requête. Exemple de format pour les conférences.txt:
Introduction to Machine Learning
Advanced Topics in Deep Learning
Statistical Methods in Data Science
...
Exemple de format pour requêtes.txt:
Basics of Neural Networks
Regression Analysis Techniques
Clustering Algorithms Overview
...
Toutes les configurations sont gérées via le fichier config.py. Les paramètres clés comprennent:
File Paths
- LECTURE_FILE: Path to the lecture data file.
- QUERY_FILE: Path to the query data file.
Embedding Model
- EMBEDDING_MODEL_NAME: Name or path of the embedding model to use.
- BATCH_SIZE: Batch size for computing embeddings.
FAISS Parameters
- FAISS_EFSEARCH_VALUES: List of efSearch values for performance evaluation.
Quantization Parameters
- PQ_M: Number of sub-vector quantizers.
- PQ_NBITS: Number of bits per sub-vector.
- KMEANS_MAX_ITER: Maximum iterations for k-means during PQ training.
Exécutez le script principal pour exécuter le pipeline complet:
python main.pyChargement des données et prétraitement
Calcul d'intégration
EMBEDDING_MODEL_NAME .Calcul de base
Bâtiment et évaluation de l'index Faish
efSearch .Visualisation des performances

Quantification
CustomIndexPQ ) est créé.Exemple de recherche

numpymatplotlibfaiss (Installer via pip install faiss-cpu ou faiss-gpu si vous avez un GPU)loggingtransformers si vous utilisez des modèles de visage étreintes)