Integration

Renforcez vos modèles grâce à des API d'IA prêtes à l'emploi sur Dataiku

Découvrez comment ajouter l'analyse des factures à votre application à l'aide de Dataiku !

Renforcez vos modèles grâce à des API d'IA prêtes à l'emploi sur Dataiku
TABLE DES MATIÈRES

Dans ce tutoriel, nous allons vous montrer comment intégrer Eden AI API d'analyse de factures dans votre flux de travail de traitement des données à l'aide de Dataiku pour vous aider à rationaliser vos opérations financières et à libérer du temps pour des tâches plus importantes.

Le même processus s'applique si vous souhaitez inclure d'autres fonctionnalités telles que : Balisage des images, Détection de contenu explicite, Analyse de texte et de nombreuses autres API d'IA que nous proposons.

Développez l'IA sur Dataiku avec Eden AI

Eden AI est utilisé par les experts en IA pour tester, choisir et intégrer rapidement des API d'IA prêtes à l'emploi. La gestion de plusieurs comptes pour chaque application peut être une tâche difficile, mais avec Eden AI, vous pouvez connecter et gérer toutes vos API sur un seul compte.

Certains fournisseurs d'IA pouvant être complexes à mettre en œuvre, nous voulions simplifier l'intégration afin de rendre les API d'IA accessibles le plus rapidement possible.

Eden AI vous permet de résoudre plusieurs tâches d'IA sur Dataiku :

Un autre avantage de l'utilisation d'Eden AI sur Dataiku est la flexibilité qu'elle offre en termes de sélection des meilleures fonctionnalités et fournisseurs d'IA pour une tâche particulière, ou même de combinaison de plusieurs fournisseurs pour créer une solution mieux adaptée à leur cas d'utilisation.

Pratiquons avec Analyse des factures!

Tout comme Reçu et CV Parsing, Invoice Parsing est un outil développé par OCR pour extraire et numériser des données pertinentes, Vision par ordinateur pour identifier la structure du document, et PNL techniques pour délimiter les champs. La technologie d'analyse des factures extrait les informations clés d'une facture (format .pdf, .png ou .jpg) telles que le numéro de la facture, le montant total dû, la date de la facture, le nom du client, etc.

Le traitement des factures implique la nécessité de disposer de logiciels et de technologies pour automatiser le traitement et la gestion des factures. Il comprend des tâches telles que la saisie des données de facturation, leur validation par rapport aux bons de commande et leur acheminement pour approbation, paiement et archivage. L'objectif de l'IA dans le traitement des factures est d'améliorer l'efficacité, la précision et la rapidité du traitement des factures sans aucune intervention humaine.

Comment exécuter l'analyse des factures dans Dataiku ?

Si vous recherchez un moyen plus simple et plus rapide d'exécuter l'API d'analyse des factures dans Dataiku, ignorez le didacticiel et regardez la vidéo ci-dessous :

Les étapes pour extraire les informations des factures à l'aide de l'analyseur de factures Eden AI dans Dataiku sont les suivantes :

  1. Obtenez votre clé API et installez Dataiku DSS
  2. Créez ou ouvrez un projet Dataiku.
  3. Créez un ensemble de dossiers et téléchargez vos factures.
  4. Créez une nouvelle recette et choisissez le type de recette que vous souhaitez créer.
  5. Codez la connexion à l'API de l'analyseur de factures Eden Ai et extrayez les informations de base de la facture.
  6. Importez les factures depuis le dossier dataset.
  7. Appelez la fonction définie dans votre code et écrivez la réponse de la trame de données dans l'ensemble de données en sortie.

1. Commencez avec Dataiku

Pour utiliser l'API Eden AI avec Dataiku, vous devez remplir les conditions suivantes :

  • Dataiku DSS installé et configuré.
  • Votre clé API GRATUITE sur Eden AI :

2. Création d'un projet dans Dataiku

Pour commencer, vous devez créer un nouveau projet Dataiku ou en ouvrir un existant :

Une fois votre projet ouvert, cliquez sur « Nouveau jeu de données » situé dans le panneau de droite, puis sélectionnez l'option « Dossier » pour créer un ensemble de données de dossiers :

3. Créez votre première recette de code dans Dataiku

Ensuite, vous devrez télécharger vos factures dans le dossier comme suit :

Une fois vos factures importées dans le dossier, vous devrez créer une nouvelle recette en cliquant sur le bouton d'action. Sélectionnez ensuite la nouvelle recette de code :

Vous pouvez choisir le type de recette que vous souhaitez créer, par exemple Python ou Shell. Vous devrez également créer un ensemble de données de sortie pour la recette et lui donner un nom :

4. Commencez à coder la connexion à Eden AI

Après avoir créé la recette, vous pouvez commencer à coder la connexion à l'analyseur de factures Eden AI. Vous devez définir le point de terminaison de l'analyseur de factures auquel vous souhaitez vous connecter et appeler l'API avec votre clé :


def edenai_invoice(invoice, providers):
   url = "https://api.edenai.run/v2/ocr/invoice_parser"
   totals = []
   sub_totals = []
   customer_names = []
   customer_addresses = []
   headers = {
       "authorization": "Bearer Your API KEY"
   }
   data={"providers": ','.join(providers), "language":"en"}
   files = {"file": ("image.png", invoice, "application/octet-stream")}

   try:
   
    response = requests.post(url, data=data, files=files, headers=headers).json()
   except ValueError as e:
       raise ValueError(str(e))
      
   if 'error' in response:
       raise Exception(response['error']['message'])

5. Placer la réponse dans un dataframe Pandas

Une fois que vous avez récupéré les données de l'API, vous devez placer la réponse dans un dataframe Pandas. Dans cet exemple, nous avons choisi d'extraire certaines informations de base de la facture, telles que le total, le sous-total, le nom et l'adresse du client :


 for pro in providers:
       total = response.get(pro,{}).get('extracted_data',[{}])[0].get('invoice_total')
       sub_total = response.get(pro,{}).get('extracted_data',[{}])[0].get('invoice_subtotal')
       customer_name = response.get(pro,{}).get('extracted_data',[{}])[0].get('customer_information',{}).get('customer_name')
       customer_address = response.get(pro,{}).get('extracted_data',[{}])[0].get('customer_information',{}).get('customer_address')
       totals.append(total)
       sub_totals.append(sub_total)
       customer_names.append(customer_name)
       customer_addresses.append(customer_address)


   df = pd.DataFrame(list(zip(totals, sub_totals, customer_names, customer_addresses)),columns =['total', 'sub_totals','customer_name','customer_address'])
   df.insert(loc=0, column='providers', value=providers)

6. Importez vos factures

Une fois que vous avez codé votre appel de facture Eden AI et renvoyé les données dans un format structuré (cadre de données Pandas), vous devez importer les factures depuis le dossier dataset.


# You can either go through all the files in the folder or in our case one file.
for img in [item["fullPath"] for item in invoices.get_path_details()["children"]]:
   with invoices.get_download_stream(path=img) as stream:
       data=stream.read()

7. Appelez la fonction définie dans votre code

Enfin, vous devrez appeler la fonction définie très tôt et l'appliquer aux factures des fournisseurs que vous souhaitez.


# Call the process function
output_df = edenai_invoice(data, ['mindee','google','microsoft','amazon','base64'])

Enfin, n'oubliez pas d'écrire la réponse du dataframe dans le jeu de données en sortie !


invoice_output_dataset = dataiku.Dataset("invoice_output") # import your output data
invoice_output_dataset.write_with_schema(test) # Write your results

En suivant ces étapes, vous pourrez obtenir les informations extraites des factures dans un format structuré comme suit :

Félicitations 🥳 Vous êtes prêt à automatiser le traitement de vos factures avec Dataiku !

Vous pouvez accéder à l'exemple de code complet de la recette ici :


# -*- coding: utf-8 -*-
import dataiku
import pandas as pd, numpy as np
from dataiku import pandasutils as pdu
import requests


# Read recipe inputs
invoices = dataiku.Folder("OqrjsSjE")
invoices_info = invoices.get_info()


# Compute recipe outputs
# ==============================================================================
# AUXILIARY FUNCTIONS
# ==============================================================================
def edenai_invoice(invoice, providers):
   url = "https://api.edenai.run/v2/ocr/invoice_parser"
   totals = []
   sub_totals = []
   customer_names = []
   customer_addresses = []
   headers = {
       "authorization": "Bearer Your API KEY"
   }
   data={"providers": ','.join(providers), "language":"en"}
   files = {"file": ("image.png", invoice, "application/octet-stream")}


   try:
       response = requests.post(url, data=data, files=files, headers=headers).json()
   except ValueError as e:
       raise ValueError(str(e))
      
   if 'error' in response:
       raise Exception(response['error']['message'])
    
   for pro in providers:
       total = response.get(pro,{}).get('extracted_data',[{}])[0].get('invoice_total')
       sub_total = response.get(pro,{}).get('extracted_data',[{}])[0].get('invoice_subtotal')
       customer_name = response.get(pro,{}).get('extracted_data',[{}])[0].get('customer_information',{}).get('customer_name')
       customer_address = response.get(pro,{}).get('extracted_data',[{}])[0].get('customer_information',{}).get('customer_address')
       totals.append(total)
       sub_totals.append(sub_total)
       customer_names.append(customer_name)
       customer_addresses.append(customer_address)


   df = pd.DataFrame(list(zip(totals, sub_totals, customer_names, customer_addresses)),columns =['total', 'sub_totals','customer_name','customer_address'])
   df.insert(loc=0, column='providers', value=providers)
  
   return df

# You can either go through all the files in the folder or in our case one file.
for img in [item["fullPath"] for item in invoices.get_path_details()["children"]]:
   with invoices.get_download_stream(path=img) as stream:
       data=stream.read()
      
# Call the process function
output_df = edenai_invoice(data, ['mindee','google','microsoft','amazon','base64'])


invoice_output_dataset = dataiku.Dataset("invoice_output") # import your output data
invoice_output_dataset.write_with_schema(test) # Write your results


Si vous êtes intéressé par d'autres outils low-code, consultez nos didacticiels étape par étape sur la façon d'intégrer l'IA à votre application avec Power Apps, Script de l'application Google, Réoutillage, Fabriquer, IFTTT, n8n, Bulle, et Zapier.

Commencez votre aventure avec l’IA dès aujourd’hui

  • Accédez à plus de 100 API d’IA sur une seule plateforme.
  • Comparez et déployez des modèles d’IA en toute simplicité.
  • Paiement à l’usage, sans frais initiaux.
Commencez à créer GRATUITEMENT

Articles connexes

Essayez Eden AI gratuitement.

Vous pouvez commencer à créer dès maintenant. Si vous avez des questions, n'hésitez pas à discuter avec nous !

CommencezContactez le service commercial
X

Commencez votre parcours IA dès aujourd'hui!

Inscrivez-vous dès maintenant avec des crédits gratuits pour explorer plus de 100 API d'IA.
Commencer