Overview
L’application Structurizer représente une avancée intéressante dans le domaine de la structuration des données issues du langage naturel. Développée dans le cadre d’un travail de Bachelor par Lazar Pavicevic à l’HEIG-VD, elle exploite des modèles de langage de grande taille (LLM) pour offrir des solutions efficaces dans le traitement et l’analyse de documents, notamment des factures et des reçus. En tant que proof of concept, elle est conçue pour faciliter l’extraction et la structuration des données à partir de documents PDF, proposant une alternative automatique et guidée pour les utilisateurs.
Cette application utilise une API robuste qui garantit une interaction fluide tout en intégrant des outils modernes comme Typescript, React, et PostgreSQL. Elle cherche à transformer l’approche traditionnelle de gestion des données en offrant des fonctionnalités variées et utiles, parfaites pour quiconque veut mieux organiser et analyser des données sensibles.
Features
Document Upload: Permet aux utilisateurs de télécharger des documents afin d’extraire et de structurer des données de manière efficace.
Guided and Automatic Structuring: Offre la possibilité d’un processus de structuration manuelle par pipeline ou d’une automatisation complète, facilitant la gestion des données.
Human Data Verification: Intègre une vérification humaine des données structurées avec l’assistance d’un LLM pour s’assurer de la précision des informations.
Data Consultation and Statistics: Permet de consulter les données structurées et d’afficher des statistiques sous forme de graphiques pour une meilleure visualisation des résultats.
Natural Language Question Answering: Facilite la recherche d’informations spécifiques à travers un système de questions-réponses en langage naturel sur les données extraites.
Support for Multiple Object Storage: Stocke les documents PDF en utilisant des services de stockage compatibles S3, tels qu’Amazon S3 et Cloudflare R2, offrant ainsi une flexibilité dans le choix de l’hébergement.
Development and Production Environment: Inclut des instructions claires pour l’installation et la mise en place, utilisant Docker pour assurer un environnement de production local efficace.
Continuous Integration: Gère un processus CI avec des pull requests protégées qui garantissent que seul un code vérifié par des outils appropriés est intégré, assurant ainsi la qualité du projet.