RAG_APP / docs /preprocess_script_readme.md
sxid003's picture
Upload 83 files
3107242 verified

Script de Prétraitement et Génération d'Embeddings

📋 Vue d'ensemble

Le script preprocess_titlecat_titledate_embeddings.py est un pipeline de prétraitement qui génère les embeddings nécessaires au fonctionnement du système MCP. Il traite deux types de données :

  • 📚 Documents Juridiques : Génère des embeddings basés sur le titre + catégorie des documents
  • 🏛️ Transcriptions Parlementaires : Génère des embeddings basés sur le titre + date des transcriptions

🔧 Fonctionnement du Script

Étape 1 : Documents Juridiques (title+category)

preprocess_and_save_documents()

Fichier source : dataset/documents.csv Données traitées :

  • Nom du document + Catégorie
  • Métadonnées : ID, Nom, Lien, Catégorie, Langue

Fichiers générés :

  • output/title_cat_embeddings.npy : Embeddings des documents
  • output/title_cat_metadatas.json : Métadonnées structurées

Étape 2 : Transcriptions Parlementaires (title+date)

preprocess_and_save_parlement()

Fichier source : data/youtube/raw/parlement_transcript.csv Données traitées :

  • titre + date
  • Métadonnées : ID, titre, date, langue, lien

Fichiers générés :

  • output/parlement_titledate_embeddings.npy : Embeddings des transcriptions
  • output/parlement_titledate_metadatas.json : Métadonnées structurées

🎯 Modèle d'Embedding Utilisé

  • Modèle : paraphrase-multilingual-mpnet-base-v2
  • Caractéristiques : Multilingue (français, arabe)

📊 Logging et Traçabilité

Le script génère des logs détaillés dans :

logs/preprocess_titlecat_titledate_embeddings.log

Format des logs :

2024-01-15 10:30:00 - INFO - 1/2 Starting preprocessing and embedding for documents (title+category).
2024-01-15 10:32:15 - INFO - 2/2 Starting preprocessing and embedding for parliament transcripts (title+date).
2024-01-15 10:34:30 - INFO - Preprocessing and embedding completed.

🚀 Exécution

Prérequis

  • Fichier dataset/documents.csv avec les documents juridiques
  • Fichier data/youtube/raw/parlement_transcript.csv avec les transcriptions
  • Modèle SentenceTransformer installé

Commande d'exécution

python scripts/preprocess_titlecat_titledate_embeddings.py

Sortie attendue

Saved 150 embeddings and metadatas.
Saved 75 parlement embeddings and metadatas (sans sous-titre).

📁 Structure des Fichiers Générés

Documents Juridiques

[
  {
    "Nom du document": "Code pénal",
    "Lien": "https://adala.justice.gov.ma/...",
    "Catégorie": "Codes",
    "Langue": "fr",
    "Id": "1"
  }
]

Transcriptions Parlementaires

[
  {
    "id": "1",
    "titre": "Débat sur l'éducation",
    "date": "2024-01-15",
    "langue": "fr",
    "lien": "https://youtube.com/..."
  }
]

🔄 Intégration avec le Pipeline MCP

Ce script doit être exécuté avant d'utiliser le pipeline MCP :

  1. Exécuter ce script pour générer les embeddings
  2. Lancer le pipeline MCP qui utilisera ces embeddings

🛠️ Dépannage

Erreur courante : Fichier CSV manquant

FileNotFoundError: [Errno 2] No such file or directory: 'dataset/documents.csv'

Solution : Vérifier que les fichiers CSV sources existent

Erreur courante : Modèle non trouvé

OSError: Model paraphrase-multilingual-mpnet-base-v2 not found

Solution : Installer SentenceTransformer et télécharger le modèle