Skip to content

非構造化データ向けOCR

DataRobotのOCR(光学式文字認識)は、エージェントワークフローにおける最も重大なボトルネックの1つに対処します。スキャンしたPDF、PowerPoint、ドキュメントなどの煩雑で構造化されていないデータを、AIが利用できる形式に確実に変換します。 OCRを使用すると、カスタム解析コードや脆弱なスクリプトを必要とせずに、ドキュメント階層、表、および図の抽出が自動化されるため、AIエージェントは実際の企業データを大規模に処理できます。 ドキュメント構造の維持は、検索拡張生成(RAG)パイプラインにとって非常に重要です。これは、データの「フラット化」を防ぐためです。データのフラット化は、サイレントエラー、不正確なグラウンディング、推論中のコンテキストの損失につながることがよくあります。

RESTエコシステムに直接統合された高度な解析機能により、開発者は手動でのドキュメント準備から本番環境に対応したエージェントのデプロイにわずかな時間で移行できます。 この統合により、幅広い形式への対応と標準化されたJSON出力が実現し、DataRobotのオーケストレーション、評価、および監視ツールにシームレスに連携します。 この統合されたアプローチにより、断片的な「グルーコード」や個別の解析ツールが不要になります。これにより、組織は、複雑な知識ベースに対してより高い信頼性で推論を行う高度なエージェントを、メンテナンスのオーバーヘッドを削減しながら構築、運用、およびガバナンスすることが可能になります。

OCRの実行

非構造化データでOCRを実行するには、DataRobotのPythonクライアントを使用します。

import datarobot as dr

from datarobot import OCREngineSpecificParameters, OCRJobResource
from datarobot import OCRJobDatasetLanguage

dr_client = dr.Client(
    token='YOUR TOKEN',
    endpoint='ENGPOINT'
)

# upload file
file_path = 'OCR_files_integration/demo_files.zip'
f = dr.Files.upload(file_path, use_archive_contents=True)

resp = dr_client.post(
    url='ocrJobResources/',
    data={
        'dataset_id': input_file_id,
        'language': 'ENGLISH',
        'engine_specific_parameters': {'engine_type': 'ARYN', 'output_format': 'JSON'},  # we can try JSON or MARDOWN here
    }
)

job_resource_id = resp.json()['id']
output_file_id = resp.json()['outputCatalogId']
job_resource = OCRJobResource.get(job_resource_id)
start_resp = job_resource.start_job()

output_file = dr.Files.get(output_file_id)
output_file.list_contained_files(). # view all the files inside

output_file.download('demo_files/file1.arynjson', file_path='output_file1.json')