はじめに
ExtractThinkerは、大規模言語モデル(LLM)を使用してドキュメントから構造化データを抽出・分類し、シームレスなORMのようなドキュメント処理ワークフローを提供する柔軟なドキュメントインテリジェンスツールです。Tesseract OCR、Azure Form Recognizer、AWS Textract、Google Document AIなど、様々なドキュメントローダーをサポートしている。ユーザーは正確なデータ抽出のためにPydanticモデルを使用したカスタム抽出契約を定義することができる。このツールはまた、非同期処理、マルチフォーマット文書処理(PDF、画像、スプレッドシートなど)をサポートし、様々なLLMプロバイダー(OpenAI、Anthropic、Cohereなど)と統合しています。
機能一覧
- フレキシブルドキュメントローダーTesseract OCR、Azure Form Recognizer、AWS Textract、Google Document AIなど、複数のドキュメントローダーをサポート。
- カスタマイズされた撤退契約正確なデータ抽出のためにPydanticモデルを使用してカスタム抽出契約を定義します。
- 高度な分類カスタム分類とポリシーを使用して、文書または文書のセクションを分類します。
- 非同期処理非同期処理による大規模文書の効率的処理。
- マルチフォーマット対応PDF、画像、スプレッドシートなど、さまざまなドキュメント形式をシームレスに扱うことができます。
- ORMスタイルのインタラクションORMスタイルでドキュメントやLLMと連動し、開発を容易にします。
- セグメンテーション戦略遅延または熱心なセグメンテーション戦略を実装し、ドキュメントをページ単位または全体として処理します。
- LLMとの統合様々なLLMプロバイダー(OpenAI、Anthropic、Cohereなど)と簡単に統合できます。
ヘルプの使用
設置プロセス
- ExtractThinkerをインストールするpip を使って ExtractThinker をインストールします:
pip install extract_thinker
使用ガイドライン
基本的な抽出例
次の例では、PyPdfを使用してドキュメントを読み込み、コントラクトで定義された特定のフィールドを抽出する方法を示します:
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)
カテゴリー分けの例
ExtractThinker では、 カ ス タ ム分類を使用 し て文書ま たは文書セ ク シ ョ ン を分類す る こ と がで き ます:
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)
詳細な機能操作の流れ
- 書類の読み込みサポートされているドキュメントローダー(PyPdf、Tesseract OCRなど)を使ってドキュメントを読み込む。
- 撤退契約の定義Pydanticモデルを使用して、抽出するフィールドを指定し、カスタム抽出契約を定義します。
- 抽出器の初期化Extractor イ ン ス タ ン ス を作成 し 、 文書 ロ ーダ と LLM モデルを読み込みます。
- データ抽出コール
extract
メソッドはドキュメントからデータを抽出し、契約によって定義されたフィールドに基づいた結果を返します。 - カテゴリー別書類カスタム分類ポリシーを使用して文書または文書の一部を分類するには、次のコマンドを呼び出します。
classify
メソッドを使って分類した。
以上のステップにより、ユーザーは様々なフォーマットの文書から効率的にデータを抽出・分類し、文書処理フローを最適化することができる。