Sparrow - Pour extraire des données avec l'IA

par Korben ✨ -

Est ce qu’il vous est déjà arrivé de devoir manuellement copier coller des données de vos PDF, factures et autres documents barbants pour les saisir ensuite dans un tableur ou une base de données ? Bien relou non ?

Et bien j’ai une solution qui va vous faire gagner un temps précieux ! Cela s’appelle Sparrow, et c’est un projet open source qui utilise l’intelligence artificielle pour automatiser l’extraction de données.

L’outil est ainsi capable d’analyser vos documents et d’en extraire automatiquement les informations importantes grâce à son architecture modulaire comprenant plusieurs composants spécialisés :

  • Sparrow Parse : Le cœur du système qui utilise des modèles de vision LLM pour comprendre le contenu visuel
  • Sparrow OCR : Un service de reconnaissance de caractères performant
  • Sparrow ML LLM : Le moteur principal qui gère les agents d’IA
  • Sparrow UI : Une interface graphique élégante pour piloter le tout

Ce qui rend Sparrow particulièrement intéressant, c’est surtout sa capacité à s’adapter à vos besoins. Vous pouvez l’utiliser en local sur votre Mac avec MLX, ou opter pour une version cloud avec des GPU plus puissants.

Pour commencer à utiliser Sparrow, voici les étapes :

  1. Installation de l’environnement Python :
# Installer pyenv d'abord (si ce n'est pas déjà fait)
# Puis créer un environnement virtuel Python
pyenv install python
python -m venv venv
source venv/bin/activate # Sur Unix/Mac
# ou
.\venv\Scripts\activate # Sur Windows
  1. Cloner le dépôt Sparrow :
git clone https://github.com/katanaml/sparrow.git
cd sparrow
  1. Installation des dépendances :
# Installer les requirements selon l'agent que vous souhaitez utiliser
pip install -r requirements.txt
  1. Démarrer l’API :
python api.py
# Ou sur un port spécifique :
python api.py --port 8001
  1. Pour accéder à l’interface web (Sparrow UI) :

L’interface sera accessible à l’adresse :

http://127.0.0.1:8000/api/v1/sparrow-llm/docs

Pour utiliser Sparrow Parse avec le backend MLX local :

./sparrow.sh "[votre_schema_json]" \
--agent "sparrow-parse" \
--debug \
--options mlx \
--options mlx-community/Qwen2-VL-72B-Instruct-4bit \
--file-path "/chemin/vers/votre/fichier"

Maintenant, prenons un exemple pratique : l’extraction de données d’un relevé bancaire. Avec une simple requête API, Sparrow peut analyser le document et en extraire automatiquement :

  • Les informations du compte
  • Le solde
  • L’historique des transactions
  • Les totaux

Le tout structuré proprement en JSON, prêt à être intégré dans vos applications. Plus besoin de vous arracher les cheveux avec des expressions régulières bancales !

Voici un exemple de commande pour traiter un document :

curl -X 'POST' \
'http://127.0.0.1:8000/api/v1/sparrow-llm/inference' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'query=[{"description":"str","amount":0}]' \
-F 'agent=sparrow-parse' \
-F 'options=mlx,mlx-community/Qwen2-VL-72B-Instruct-4bit' \
-F 'debug=false' \
-F 'sparrow_key=' \
-F '[email protected];type=application/pdf'

Ce qui distingue vraiment Sparrow des autres solutions, c’est surtout :

  • Sa flexibilité : compatible avec différents types de documents (factures, relevés, formulaires…)
  • Son architecture modulaire : chaque composant peut être utilisé indépendamment
  • Ses performances : traitement rapide même sur du matériel modeste
  • Son aspect open source : code source accessible et modifiable

Et pour les entreprises avec un chiffre d’affaires inférieur à 5 millions de dollars (ce qui est pour le moment mon cas, lool), Sparrow est même utilisable gratuitement pour un usage commercial.

Voilà… Si vous souhaitez expérimenter avec Sparrow, je vous invite à tester la démo en ligne. Vous pourrez ainsi vous faire une idée concrète de ses capacités avant de l’installer.

Merci à Letsar pour cette superbe découverte !

Source