Allgemeine Einführung
ExtractThinker ist ein flexibles Document-Intelligence-Tool, das Large Language Models (LLMs) verwendet, um strukturierte Daten aus Dokumenten zu extrahieren und zu klassifizieren, und einen nahtlosen ORM-ähnlichen Dokumentenverarbeitungs-Workflow bietet. Es unterstützt eine Vielzahl von Dokumentenladern, darunter Tesseract OCR, Azure Form Recognizer, AWS Textract und Google Document AI, um nur einige zu nennen. Benutzer können benutzerdefinierte Extraktionsverträge mit Pydantic-Modellen für eine genaue Datenextraktion definieren. Das Tool unterstützt auch die asynchrone Verarbeitung, die Verarbeitung von Dokumenten in mehreren Formaten (z. B. PDF, Bilder, Tabellenkalkulationen usw.) und lässt sich mit einer Vielzahl von LLM-Anbietern (z. B. OpenAI, Anthropic, Cohere usw.) integrieren.
Funktionsliste
- Flexibler DokumentenladerUnterstützung für mehrere Dokumentenlader, einschließlich Tesseract OCR, Azure Form Recognizer, AWS Textract und Google Document AI.
- Maßgeschneiderte RücknahmeverträgeDefinition von benutzerdefinierten Extraktionsverträgen unter Verwendung des Pydantic-Modells für eine präzise Datenextraktion.
- Erweiterte KlassifizierungKlassifizierung von Dokumenten oder Abschnitten von Dokumenten mit Hilfe von benutzerdefinierten Klassifizierungen und Richtlinien.
- asynchrone VerarbeitungEfficient processing of large documents using asynchronous processing.
- Unterstützung mehrerer FormateNahtlose Verarbeitung einer Vielzahl von Dokumentenformaten wie PDF, Bilder, Tabellenkalkulationen und mehr.
- Interaktionen im ORM-StilInteraktion mit Dokumentation und LLMs im ORM-Stil für einfache Entwicklung.
- SegmentierungsstrategieImplementierung von "lazy" oder "eager" Segmentierungsstrategien, um Dokumente seitenweise oder als Ganzes zu verarbeiten.
- Integration mit LLMEinfache Integration mit verschiedenen LLM-Anbietern (z.B. OpenAI, Anthropic, Cohere, etc.).
Hilfe verwenden
Ablauf der Installation
- ExtractThinker installieren: Installieren Sie ExtractThinker mit pip:
pip install extract_thinker
Richtlinien für die Verwendung
Beispiel für eine einfache Extraktion
Das folgende Beispiel zeigt, wie man mit PyPdf ein Dokument lädt und bestimmte, in einem Vertrag definierte Felder extrahiert:
os importieren
von dotenv importieren load_dotenv
von extract_thinker importieren Extractor, DocumentLoaderPyPdf, Vertrag
load_dotenv()
class InvoiceContract(Vertrag).
rechnung_nummer: str
rechnung_datum: str
# Festlegen des Pfads zur ausführbaren Tesseract-Datei
test_file_path = os.path.join("pfad_zu_ihren_dateien", "rechnung.pdf")
# Initialisieren des Extraktors
extractor = Extraktor()
extractor.load_document_loader(DocumentLoaderPyPdf())
extractor.load_llm("gpt-4o-mini") # oder ein anderes unterstütztes Modell
# extrahiert Daten aus dem Dokument
Ergebnis = extractor.extract(test_file_path, Rechnungsvertrag)
print("Rechnungsnummer:", result.invoice_number)
print("Rechnungsdatum:", result.rechnung_datum)
Beispiele für die Kategorisierung
ExtractThinker erlaubt die Klassifizierung von Dokumenten oder Dokumentabschnitten mit Hilfe von benutzerdefinierten Klassifizierungen:
os importieren
von dotenv importieren load_dotenv
from extract_thinker import Extractor, Klassifizierung, Prozess, KlassifizierungsStrategie
load_dotenv()
class CustomClassification(Klassifikation).
Kategorie: str
# Initialisieren des Extraktors
extractor = Extraktor()
extractor.load_classification_strategy(ClassificationStrategy.CUSTOM)
# Definieren Sie die Klassifizierungsstrategie
Klassifizierung = BenutzerdefinierteKlassifizierung(category="Rechnung")
# Klassifizierung der Daten aus den Dokumenten
result = extractor.classify(test_file_path, classification)
print("Kategorie:", result.category)
Detaillierte Funktionsabläufe
- Dokumente ladenVerwenden Sie unterstützte Dokumentenlader (z.B. PyPdf, Tesseract OCR, etc.), um Dokumente zu laden.
- Definition von RücktrittsverträgenExtraktionsvertrag: Definieren Sie einen benutzerdefinierten Extraktionsvertrag unter Verwendung des Pydantic-Modells und geben Sie die zu extrahierenden Felder an.
- Initialisierung des ExtraktorsErstellen Sie eine Extractor-Instanz und laden Sie den Document Loader und das LLM-Modell.
- Daten extrahieren: Anruf
Auszug
Methode extrahiert Daten aus dem Dokument und liefert Ergebnisse auf der Grundlage vertraglich definierter Felder. - Kategorie DokumenteUm ein Dokument oder einen Teil eines Dokuments mit einer benutzerdefinierten Klassifizierungsrichtlinie zu klassifizieren, rufen Sie die Funktion
einordnen.
Methode, um die Klassifizierungsergebnisse zu erhalten.
Mit den oben genannten Schritten können die Benutzer Daten aus Dokumenten in verschiedenen Formaten effizient extrahieren und klassifizieren und den Dokumentenverarbeitungsfluss optimieren.