Ingestion RAG : le script ingestcmd.py

, par Bertrand Degoy

Le script ingestcmd.py est une commande interne utilisée par l’application SmartIngest pour effectuer les ajouts et les retraits de documents ou de pages Web. Les index des thèmes concernés sont mis à jour à la suite de ces mouvements.

Documents sources

Les documents sources peuvent être :
 un site Web [1],
 un document HTML (mime type ’text/html’),
 un dossier local,
 un fichier local.

S’agissant de fichiers locaux (ou du contenu d’un dossier local), les types possibles sont, par leur extension : .csv, .docx, .epub, .mbox, .md [2], .mp3, .pdf, .ppt ... [3]. Un simple fichier .txt peut également être traité mais, à format élémentaire, rendu élémentaire.

Notez le fonctionnement différent selon la source :
 dans le cas d’un site Web, les documents extraits du site sont importés dans le dossier .../data/theme,
 dans tous les autres cas, les fichiers doivent se trouver dans le dossier .../data/theme : il n’y a pas d’importation.

Ingérer des documents

Usage :

.../ingestcmd.py <theme> --source {dir, file,url}  [--recurse] [--all] [--forwards]

Paramètres :

Argument Description
theme Requis en première position Thème : espace de données spécifique. Un nom court, en minuscules, formé des caractères ’a-z’, ’-’ et ’_’ , sans espace. Défaut : itego.
—source Requis/Optionnel Répertoire, fichier ou URL. Ce doit être des adresses absolues. Cet argument est requis pour toute autre action que —delete_document_by_filename.
—dynamic Optionnel Indique que le site est dynamique et que les scripts doivent être exécutés au chargement de la page.
—recurse Optionnel Ne s’applique que si la source est un répertoire. Indique que les sous-répertoires doivent être parcourus.
—all Optionnel Indique que tout les fichier doivent être traités indépendamment de leur âge, qu’ils aient été modifiés ou non.
—forwards Optionnel Ne s’applique que si la source est un site Web. Indique de ne pas remonter vers la racine des documents. Par exemple, si l’URL est https://monsite.com/fr, le chemin /en ne sera pas parcouru. Voir également : Ingestion RAG : recommandations pour la création des pages Web .
—levels Optionnel S’applique si la source est un site Web ou un répertoire. Nombre de niveaux à parcourir.

Réponse :

RéponseDescription
Fatal error : N : erreur L’exécution du script s’arrête sur l’erreur indiquée.
End, count : compte L’exécution du script s’est terminée avec succès, le nombre de documents traités est indiqué par count.

Supprimer un document

Usage :

.../ingestcmd.py <theme> --delete_document_by_filename {filename'}

Paramètres :

Argument Description
—delete_document_by_filename Optionnel Supprime le document ayant le nom de fichier indiqué (tel que dans le dossier data du thème) et met à jour les index. Doit être utilisé sans autre argument que —source.

Réponse :

RéponseDescription
End, count : compte L’exécution du script s’est terminée, count. = 1 indique le succès. En cas d’erreur, plus d’information dans le fichier nohup.

Accès réservé : connectez vous pour en savoir plus.

Notes

[1Dans l’état actuel du développement, seuls les sites statiques (sans exécution de Javascript pour la génération du contenu) sont traités. Pour les sites et pages dynamiques, le développement est en cours.

[2Ainsi que : .md , .markdown , .mkd , .mdown , .mdtxt , .mdtext

[3.json en cours de développement.