bloodtest2 / create_index.py
goldrode's picture
Create create_index.py
0bd18c5 verified
import faiss
import pandas as pd
from sentence_transformers import SentenceTransformer
# Charger les données contextuelles depuis rag_documents.csv
df = pd.read_csv("rag_documents.csv")
# Vérifiez que le fichier a des données
if "Content" not in df.columns:
raise ValueError("Le fichier rag_documents.csv doit contenir une colonne 'Content'.")
# Charger le modèle SentenceTransformer pour encoder les phrases
encoder = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
# Créer les embeddings pour les contenus
print("Création des embeddings pour le RAG...")
embeddings = encoder.encode(df["Content"].tolist()).astype("float32")
# Créer un index FAISS
print("Création de l'index FAISS...")
index = faiss.IndexFlatL2(embeddings.shape[1]) # Crée un index avec une distance Euclidienne
index.add(embeddings) # Ajouter les embeddings à l'index
# Sauvegarder l'index FAISS
faiss.write_index(index, "blood_test_index.faiss")
print("Index FAISS créé et sauvegardé sous 'blood_test_index.faiss'.")
# Vérifier le nombre d'éléments dans l'index
print(f"Nombre d'éléments indexés : {index.ntotal}")