Prérequis :
Afin de pouvoir executer le code il faut créer un environnement virtuel python :
python3 -m venv venv
Ensuite installer les bibliothèques nécessaires qui se trouvent dans le fichier requirements.txt
:
pip install requirements.txt
Architecture du code
Le code créée a pour objectif de reproduire cette architecture :
preprocessing.py
Le code preprocessing.py
récupère les fichiers pdf depuis le répertoire drive où ils sont enregistrés, les transfome
en texte et opère des traitements dessus et les enregistre sous le répertoire text_files
ingest_txt_files, gdrive_ingest_with_nlp, gdrive_ingest
ces trois codes pythons récupèrent les fichiers text enregistrés dans text_files
(ou les pdf pour les gdrive_*),
opère un traitement dessus de telle sorte à découper chaque document en plus petit documents (de la taille d'un paragraphe
ou de quelques lignes en fonction du paramètrage) et les vectorise pour les enregistrer dans chromadb une bdd vectorielle.
doc_output.py
Ce code prend une requête utilisateur, la vectorise, cherche les n documents qui minimisent la distance cos par rapport à la requête et les affiche.