非構造化データ向け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')