Open Source · Fiche projet

Paperless-ngx : régler l'IA du gestionnaire de documents libre, en local ou via une API

Le logiciel libre d'archivage de documents numérisés affine ses fonctions d'IA au fil des versions 3.2 à 3.4 : suggestions de classement, conversation avec les documents, clé séparée pour l'indexation. Tout est désactivé par défaut, et le choix entre Ollama en local et une API distante décide de ce qui sort de vos murs.

Par Kayzen AI · · 3 min de lecture

Photo d'illustration : Hand in filing cabinet
Image : Hand in filing cabinet — Watty62, CC BY-SA 4.0, via Wikimedia Commons

Paperless-ngx est un logiciel libre qui transforme une pile de papiers numérisés en archive consultable : il reconnaît le texte, classe factures, contrats et courriers, et permet de les retrouver par mot-clé. On l'installe sur son propre serveur. Ses versions récentes comportent des fonctions d'IA facultatives, que les mises à jour de l'automne ont rendues plus fines à régler.

Ce que fait l'IA

Deux usages ressortent des notes de version et de la documentation :

  • des suggestions de classement pour un document (correspondant, étiquettes, etc.), qu'un flux de travail peut aussi appliquer automatiquement ;
  • une conversation avec ses documents, qui s'appuie sur un index du contenu mis à jour par une tâche planifiée, par défaut une fois par jour.

Ce qui a changé récemment

  • Version 3.2.0 (19 septembre). Possibilité de désactiver les suggestions automatiques pour les documents de la boîte de réception. Les documents sans contenu sont ignorés par l'action qui applique les suggestions, et les messages d'erreur liés au modèle sont plus clairs.
  • Version 3.3.0 (6 octobre). Davantage de contrôle sur les demandes de suggestions, une clé d'API distincte pour l'indexation, et la possibilité de transmettre des paramètres supplémentaires au modèle.
  • Version 3.4.0 (29 octobre). La conversation affiche les réponses mises en forme et son interface a été retouchée.

Entre-temps, la version 3.3.2 du 16 octobre a corrigé un avis de sécurité, et la 3.3.4 a mis à jour des dépendances vulnérables. La dernière version au moment de notre lecture est la 3.4.2, du 3 novembre.

Les réglages essentiels

L'IA est désactivée par défaut. Elle s'active par des variables de configuration :

PAPERLESS_AI_ENABLED=true
PAPERLESS_AI_LLM_BACKEND=ollama
PAPERLESS_AI_LLM_ENDPOINT=<adresse de votre serveur Ollama>
PAPERLESS_AI_LLM_EMBEDDING_BACKEND=ollama

Deux moteurs sont acceptés pour le modèle de langage : ollama, qui fait tourner le modèle en local, et openai-like, pour toute API compatible avec celle d'OpenAI. L'indexation accepte en plus huggingface.

Quelques réglages à connaître :

  • PAPERLESS_AI_LLM_REQUEST_TIMEOUT vaut 120 secondes par défaut ; la documentation conseille de l'augmenter quand le modèle local est lent ;
  • PAPERLESS_AI_LLM_OUTPUT_LANGUAGE fixe la langue des suggestions ;
  • PAPERLESS_AI_LLM_ALLOW_INTERNAL_ENDPOINTS, passé à false, bloque les adresses qui pointent vers un réseau non public.

Les points de vigilance

La documentation est nette : avec un fournisseur distant, le contenu des documents lui est envoyé, et l'utilisation peut être payante. Le projet ne recommande aucun fournisseur et renvoie à leurs conditions.

Or une archive Paperless contient ce qu'une entreprise a de plus sensible : fiches de paie, relevés bancaires, contrats, pièces d'identité. Avec le moteur ollama, le traitement reste sur la machine, à condition que l'adresse indiquée soit bien celle d'un serveur interne, car elle peut aussi désigner un hôte distant.

Autres réserves : si aucun modèle n'est précisé, des valeurs par défaut s'appliquent, qu'il vaut mieux remplacer par un choix explicite. Les paramètres supplémentaires transmis au modèle ne sont pas contrôlés par le logiciel. Et la qualité des suggestions dépend du modèle retenu ; nous n'avons rien mesuré.

Notre lecture

Pour un cabinet ou une PME qui archive déjà ses documents avec Paperless-ngx, le bon ordre est le suivant : mettre à jour d'abord, pour les correctifs de sécurité ; activer l'IA ensuite avec Ollama sur une machine interne ; garder l'application automatique des suggestions désactivée tant que l'on n'a pas vérifié à la main leur justesse sur quelques dizaines de documents. Le recours à une API distante suppose d'avoir lu les conditions du fournisseur et, pour des données personnelles, de l'avoir inscrit au registre des traitements.

Sources

  1. GitHub — paperless-ngx/paperless-ngx (notes de version) — source primaire
  2. Paperless-ngx — documentation de configuration (section IA)