>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Text-Extract-API : Transformer des documents en données structurées sans prise de tête

Besoin d'extraire des données d'un rapport PDF ou d'un document numérisé ? Le cauchemar familier de copier manuellement du texte, de se battre avec des tableaux de travers et de perdre des formules ? Text-extract-api offre une solution élégante à ce problème, combinant les technologies OCR modernes et les modèles de langage.

Qu'est-ce que cet outil ?

Text-extract-api est une API Python qui vous permet de :

  • Convertir PDF, Word, PowerPoint et images en Markdown ou JSON
  • Extraire des tableaux, des chiffres et des formules mathématiques
  • Nettoyer les documents des données personnelles (PII)
  • Améliorer la qualité de reconnaissance grâce aux modèles LLM (Llama 3, MiniCPM et autres)

L'avantage principal est que tout fonctionne localement sans envoyer de données vers des services cloud.

Fonctionnalités clés

1. Support de différents formats et stratégies de reconnaissance

Le projet supporte plusieurs moteurs OCR :

  • EasyOCR — pour une reconnaissance rapide de texte en plus de 30 langues
  • MiniCPM-V — modèle open pour usage commercial
  • Llama 3.2 Vision — option la plus précise, mais gourmande en ressources
  • API distante — pour l'intégration avec des services externes comme Marker PDF

Exemple de commande pour la conversion :

python client/cli.py ocr_upload --file example.pdf --strategy easyocr

2. Amélioration du texte via LLM

Après la reconnaissance, le texte peut être traité par un modèle de langage :

  • Correction des erreurs OCR
  • Extraction de données structurées (ex. : conversion d'un rapport médical en JSON)
  • Suppression des données personnelles
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1

3. Stockage flexible des résultats

Plusieurs stratégies de stockage des documents traités sont supportées :

  • Système de fichiers local
  • Google Drive
  • Amazon S3

La configuration via des fichiers YAML facilite l'adaptation du système à vos besoins.

Détails techniques

L'architecture du projet repose sur :

  • FastAPI pour l'API REST
  • Celery pour le traitement asynchrone des tâches
  • Redis pour la mise en cache des résultats
  • Ollama pour travailler avec les modèles LLM locaux

Deux options de déploiement sont proposées :

  1. Exécution native (utile pour Mac avec Apple Silicon)
  2. Conteneurs Docker (y compris la version accélérée par GPU)

Applications pratiques

Où text-extract-api peut-il être utile ?

Cabinets d'avocats peuvent automatiser le traitement des scans de contrats, extrayant les clauses clés dans un format structuré.

Établissements médicaux disposeront d'un outil pour convertir les rapports papier en dossiers électroniques sans saisie manuelle.

Startups fintech pourront analyser les relevés bancaires et factures, extrayant les données pour les systèmes comptables.

Chercheurs apprécieront la possibilité de numériser d'anciens livres et articles scientifiques tout en préservant les formules et les tableaux.

Commencez en 5 minutes

  1. Installez Docker et Ollama
  2. Clonez le dépôt :
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
  1. Démarrez les services :
docker-compose up --build
  1. Essayez de convertir votre premier document !

Text-extract-api c'est : ✅ Solution locale sans envoi de données vers le cloud ✅ Support de nombreux formats et langues ✅ Intégration flexible avec diverses options de stockage ✅ Amélioration de la qualité via LLM

Le projet sera particulièrement apprécié des développeurs qui doivent travailler avec des documents dans leurs applications mais qui ne veulent pas dépendre d'API commerciales ou passer du temps à implémenter leur propre OCR.

Une version démo est disponible pour les tests, et toutes les questions peuvent être discutées dans la communauté Discord du projet.

Projets similaires