Documents sources
Les documents sources peuvent être :
– un site Web [2],
– 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 [3], .mp3, .pdf, .ppt ... [4].
Un simple fichier .txt peut également être traité mais, à format élémentaire, rendu élémentaire.
Le format Markdown est préférentiel, sous le format décrit ici : https://www.markdownguide.org/basic-syntax/
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.
Il est important de considérer que la qualité des traitements d’IA générative dépend étroitement de la qualité des documents et de leur ingestion.
Ingérer des documents
Usage :
.../ingestcmd.py --theme <theme> --source {dir, file, url} [--llm <LLM>] [embeddings <Embeddings model>] [--recurse] [--all] [--forwards] [--level <N>] [--nostore]
Paramètres :
Argument | Description | ||||
—theme theme | Requis | Thème : espace de données spécifique. Un nom court, en minuscules, formé des caractères ’a-z’, ’-’ et ’_’ , sans espace. | |||
—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. Attention : le paramètre —all doit être indiqué pour une première ingestion. | —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. | |||
—plan | Optionnel | S’applique si la source est un site Web. La source est un plan des pages à ingérer. Les pages ingérées seront limitées aux liens internes de cette seule page de plan et contenus dans les tags ’ul’ de classe ’plan’. | |||
—nostore | Optionnel | Par défaut, les index sont sauvegardés à chaque nouvelle ingestion, ce qui prend du temps. L’option —nostore bloque la sauvegarde, ce qui permet de choisir quand cela doit être fait, par exemple après l’ingestion de plusieurs sources. | |||
—llm modèle | Optionnel | Classe de modèle de langage à utiliser. Les valeurs possibles sont : OpenAI (défaut), MistralAI [5]. | |||
—embeddings modèle | Optionnel | Classe de modèle d’embeddings (transformer) à utiliser. Les valeurs possibles sont : openAI, BAAI, MistralAI ... [6]. |
Exemples :
.../ingestcmd.py --theme itego --source https://oa.dnc.global --verbose --llm MistralAI --embeddings BAAI --forwards
.../ingestcmd.py --theme thewiw-help --source https://our.whatiswhat.cloud/hlp/3.4.1/fr/ --verbose --llm MistralAI --embeddings BAAI --forwards --all
Réponse :
Réponse | Description |
---|---|
Fatal, code :code | L’exécution du script s’arrête sur l’erreur indiquée. 5 : Fatal pickle.dump error 6 : Fatal error setting LLM 7 : Fatal error setting embedding model 8 : error creating new intex |
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 theme. |
Réponse :
Réponse | Description |
---|---|
End, code : code | L’exécution du script s’est terminée. code. = 9 indique le succès. En cas d’erreur : 3 : not deleted from index 4 : deleted from index but not deleted from directory 5 : file_name not found 6 : general error Plus d’information dans le fichier nohup. Les codes 1-2, 126-165 et 255 proviennent du shell. |