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.).

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
- 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
- Chargement des documentsChargement des documents à l'aide des chargeurs de documents pris en charge (par exemple PyPdf, Tesseract OCR, etc.).
- Définition des contrats de retraitDéfinir un contrat d'extraction personnalisé à l'aide du modèle Pydantic, en spécifiant les champs à extraire.
- Initialisation de l'extracteurCréation d'une instance d'extracteur et chargement du chargeur de documents et du modèle LLM.
- 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. - 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
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...