ExtractThinker : extraction et catégorisation de documents en données structurées pour optimiser le processus de traitement des documents

Introduction générale

ExtractThinker est un outil flexible d'intelligence documentaire qui utilise de grands modèles de langage (LLM) pour extraire et classer des données structurées à partir de documents, en fournissant un flux de travail de traitement de documents transparent de type ORM. Il prend en charge une variété de chargeurs de documents, y compris Tesseract OCR, Azure Form Recognizer, AWS Textract, et Google Document AI, entre autres. Les utilisateurs peuvent définir des contrats d'extraction personnalisés en utilisant les modèles Pydantic pour une extraction précise des données. L'outil prend également en charge le traitement asynchrone, le traitement de documents multiformats (par exemple, PDF, images, feuilles de calcul, etc.) et s'intègre à divers fournisseurs de LLM (par exemple, OpenAI, Anthropic, Cohere, etc.).

ExtractThinker:提取和分类文档为结构化数据,优化文档处理流程

 

Liste des fonctions

  • Chargeur de documents flexiblePrise en charge de plusieurs chargeurs de documents, notamment Tesseract OCR, Azure Form Recognizer, AWS Textract et Google Document AI.
  • Contrats de retrait personnalisésLes contrats d'extraction : Définir des contrats d'extraction personnalisés à l'aide du modèle Pydantique pour une extraction précise des données.
  • Classification avancéeLes services d'assistance technique et les services d'aide à la gestion des ressources humaines : classer des documents ou des sections de documents en utilisant des classifications et des politiques personnalisées.
  • traitement asynchroneLe traitement efficace de documents volumineux par traitement asynchrone : Le traitement efficace de documents volumineux par traitement asynchrone : Le traitement efficace de documents volumineux par traitement asynchrone.
  • Support multiformatLes formats de documents sont variés : PDF, images, feuilles de calcul, etc.
  • Interactions de type ORMLe système de gestion de l'information (ORM) : Il interagit avec la documentation et les LLM dans le style ORM pour faciliter le développement.
  • stratégie de segmentationLes documents peuvent être traités par page ou dans leur ensemble grâce à la mise en œuvre de stratégies de segmentation paresseuse ou avide.
  • Intégration avec le LLMLes fonctionnalités suivantes sont disponibles : Intégration aisée avec différents fournisseurs de LLM (par exemple OpenAI, Anthropic, Cohere, etc.).

 

Utiliser l'aide

Processus d'installation

  1. Installer ExtractThinker: Installer ExtractThinker à l'aide de pip :
   pip install extract_thinker

Lignes directrices pour l'utilisation

Exemple d'extraction de base

L'exemple suivant montre comment utiliser PyPdf pour charger un document et extraire des champs spécifiques définis dans un contrat :

import os
from dotenv import load_dotenv
from extract_thinker import Extractor, DocumentLoaderPyPdf, Contract
load_dotenv()
class InvoiceContract(Contract):
invoice_number: str
invoice_date: str
# 设置 Tesseract 可执行文件的路径
test_file_path = os.path.join("path_to_your_files", "invoice.pdf")
# 初始化提取器
extractor = Extractor()
extractor.load_document_loader(DocumentLoaderPyPdf())
extractor.load_llm("gpt-4o-mini")  # 或任何其他支持的模型
# 从文档中提取数据
result = extractor.extract(test_file_path, InvoiceContract)
print("Invoice Number:", result.invoice_number)
print("Invoice Date:", result.invoice_date)

Exemples de catégorisation

ExtractThinker permet de classer des documents ou des sections de documents à l'aide de classifications personnalisées :

import os
from dotenv import load_dotenv
from extract_thinker import Extractor, Classification, Process, ClassificationStrategy
load_dotenv()
class CustomClassification(Classification):
category: str
# 初始化提取器
extractor = Extractor()
extractor.load_classification_strategy(ClassificationStrategy.CUSTOM)
# 定义分类策略
classification = CustomClassification(category="Invoice")
# 从文档中分类数据
result = extractor.classify(test_file_path, classification)
print("Category:", result.category)

Fonction détaillée du déroulement des opérations

  1. Chargement des documentsChargement des documents à l'aide des chargeurs de documents pris en charge (par exemple PyPdf, Tesseract OCR, etc.).
  2. Définition des contrats de retraitDéfinir un contrat d'extraction personnalisé à l'aide du modèle Pydantic, en spécifiant les champs à extraire.
  3. Initialisation de l'extracteurCréation d'une instance d'extracteur et chargement du chargeur de documents et du modèle LLM.
  4. Extraire des données: Appel extract extrait des données du document et renvoie des résultats basés sur des champs définis contractuellement.
  5. Documents de catégoriePour classer un document ou une partie d'un document à l'aide d'une politique de classification personnalisée, appelez la commande classify pour obtenir les résultats de la classification.

Les étapes ci-dessus permettent aux utilisateurs d'extraire et de classer efficacement les données de documents de différents formats et d'optimiser le flux de traitement des documents.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...