fieldsパラメータで構造を作成するか、既存のメタデータテンプレートを使用できます。テンプレートの作成の詳細については、メタデータテンプレートのカスタマイズを参照するか、を使用してください。また、抽出エージェント (標準または強化) を使用して、テンプレートにメタデータを自動入力することもできます。
サポートされているファイル形式
このエンドポイントでは、以下のファイル形式がサポートされています。ドキュメント
ドキュメント
- DOC
- DOCX
- GDOC
- ODT
- Box Note
- テキスト
- RTF
- XDW
- AS
画像
画像
- TIFF
- TIF
- PNG
- JPEG
- JPG
- WEBP
プレゼンテーションとスプレッドシート
プレゼンテーションとスプレッドシート
- PPT
- PPTX
- GSLIDE
- GSLIDES
- ODP
- OTP
- XLS
- XLSX
- XLSM
- ODS
- CSV
コードファイル
コードファイル
- 言語:
.js、.py、.css、.php、.sql - JSON
- HTML
- XML
- MD
サポートされている言語
Box AIは、以下の言語のドキュメントからメタデータを抽出できます。- 英語
- 日本語
- 中国語
- 韓国語
- キリル文字ベースの言語 (ロシア語、ウクライナ語、ブルガリア語、セルビア語など)
開始する前に
Platformアプリを作成して認証するには、に記載されている手順を実行してください。リクエストの送信
リクエストを送信するには、POST /2.0/ai/extract_structuredエンドポイントを使用します。
パラメータ
このリクエストには、以下のパラメータが適用されます。必須のパラメータは太字で示されています。items配列には要素が1つだけ含まれている必要があります。プロンプトとファイルの制限については、を参照してください。
structおよびtableフィールドタイプ
Box AI extract_structured APIでは、スカラータイプ (string、float、date、enum、multiSelect) に加え、2つの複雑なフィールドタイプ (structおよびtable) がサポートされています。structおよびtableタイプを使用すると、ドキュメントからグループ化された構造化データや繰り返し構造を持つ構造化データを抽出することができます。
structフィールドタイプ
structタイプを使用すると、関連する複数のサブフィールドを1つの名前付きJSONオブジェクトにグループ化することができます。これは、関連するひとまとまりの値を抽出し、個別のフラットなフィールドではなく、1つの構造化されたオブジェクトとして取得する必要がある場合に便利です。たとえば、住所や個人の連絡先情報などに使用します。
structフィールドには、そのサブフィールドを定義するfields配列が必要です。各サブフィールドは、以下のプロパティを持つオブジェクトです。
key: サブフィールドの一意の識別子。type: サブフィールドのタイプ。サポートされるタイプは、string、text、number、float、boolean、date、enum、multiSelect、およびarray[<simple_type>]です (例:array[string])。ネストされたstructまたはtableタイプは、サブフィールドとしてサポートされていません。displayName: サブフィールドの表示名。description: サブフィールドの説明。prompt: サブフィールドに関する追加のコンテキスト。サブフィールドの確認方法やフォーマットの方法を含めることができます。
structフィールドタイプに対するリクエストの例:
tableフィールドタイプ
tableタイプを使用すると、構造化データの繰り返し行をJSONオブジェクトの配列として抽出できます。この場合、各オブジェクトが1行を表します。
これは、ドキュメント内に同じデータ構造のインスタンスが複数含まれている場合に役立ちます。例としては、請求書の明細項目や税率表の項目などが挙げられます。
tableフィールドには、各行の列 (サブフィールド) を定義するfields配列が必要です。サブフィールドのプロパティおよびサポートされるタイプは、structのものと同じです。
出力はJSONオブジェクトの配列であり、各オブジェクトは抽出された1行を表します。
tableフィールドタイプに対するリクエストの例:
サポートされるサブフィールドのタイプ
structフィールドとtableフィールドの両方で、以下のタイプがサポートされます。
チュートリアル: サプライヤ契約書を構造化された調達データに変換する
structとtableの2つのフィールドタイプの実際の使用例を見ていきます。サプライヤ契約書から、グループ化されたベンダー詳細データと繰り返しの納品スケジュールを抽出したうえで、結果を下流の調達レコードにマッピングする方法を確認できます。include_confidence_scoreパラメータ
include_confidence_scoreパラメータは、抽出した各フィールドの信頼度スコアを返します。このスコアは、抽出した情報が正しい可能性がどれくらいあるかを表しています。Boxでは、数値スコアとシンプルな評価 (低、中、または高) の両方が提供されるため、結果がどれくらい信頼できるかをユーザーや自動化されたツールがすばやく確認できます。
信頼度を計算するために、Boxでは同じリクエストに対して若干異なる方法で (設定の変更、プロンプトの言い換え、フィールドの再配置など) 複数の回答を生成し、返される値の一貫性と頻度を評価します。その後は、Boxがそれらのシグナルを実際の精度を反映した確率に変換します。
- 高信頼度 (0.90以上) は、値が正しい可能性が非常に高く、人間によるレビューがほとんどまたはまったく必要ないことを意味します。
- 中信頼度 (0.70~0.89) は、値が正しい可能性が高く、リスク許容度に応じて簡単なチェックが推奨されることを意味します。
- 低信頼度 (0.70未満) は、値が不確実であり、人間によるレビューが強く推奨されることを意味します。
include_referenceパラメータ
include_referenceパラメータは、裏付けとなる引用情報と抽出した値のバウンディングボックスを返します。これらはソースドキュメントに対して抽出した値を検証するのに役立ちます。
参照は、抽出した値の裏付けとなるソースファイルから抜粋した短いテキストです。バウンディングボックスは、裏付けとなるテキストが配置されているページ上の領域を特定します。
Box AIは、OCRでサポートされるファイルのみを対象に、ページベースのOCRレプリゼンテーションからバウンディングボックスを計算して返します。
参照をレスポンスに含めるには、include_referenceをtrueに設定します。
レスポンスの構造
レスポンスには以下のものが含まれます。answer: 抽出したメタデータフィールド。references: 抽出した各フィールドの裏付けとなる引用情報。
item_id: ソースファイルID。page: ゼロから始まるページ番号。bounding_box: 引用したテキストの場所 (特定可能な場合)。text: 引用したテキストの抜粋。
レスポンススキーマの例
バウンディングボックスの形式
バウンディングボックスは、正規化された4つの座標が含まれるオブジェクトです。left: バウンディングボックスの左端の正規化されたx座標。top: バウンディングボックスの上端の正規化されたy座標。right: バウンディングボックスの右端の正規化されたx座標。bottom: バウンディングボックスの下端の正規化されたy座標。
抽出したすべてのメタデータフィールドに参照のリストが関連付けられています。複数の値を持つフィールドの場合、抽出した値にそれぞれ独自の参照のリストがあるため、ネストされたリスト構造になります。
bounding_boxは省略可であり、nullになる場合があります。ユースケース
この例では、サンプル請求書からメタデータを抽出する方法を示します。ベンダー名、請求書番号などの詳細情報を抽出します。
リクエストの作成
Box AIからレスポンスを取得するには、以下のパラメータを使用して、POST /2.0/ai/extract_structuredエンドポイントを呼び出します。
items.typeおよびitems.id: データの抽出元となるファイルを指定fields: ファイルから抽出するデータを指定metadata_template: 既存のメタデータテンプレートを指定
fieldsとmetadata_templateのどちらかを使用して、構造を指定できます。両方を使用することはできません。fieldsパラメータの使用
fieldsパラメータを使用すると、抽出するデータを指定できます。各fieldsオブジェクトには、そのデータを説明するために使用できるパラメータが含まれています。たとえば、フィールドのタイプや説明、または追加のコンテキストを含めたプロンプトを追加することができます。
メタデータテンプレートの使用
メタデータテンプレートを使用する場合は、そのtemplate_key、type、scopeを指定します。
抽出エージェント (強化)
抽出エージェント (強化) を使用するには、次のようにai_agentオブジェクトを指定します。
- インラインでのフィールド定義 (フィールドが頻繁に変わる場合に最適)
- メタデータテンプレート (フィールドが一定である場合に最適)
チュートリアル: Box AI Extractを使用した請求書取り込みの自動化
抽出 (構造化) の実際の動作をご確認ください。フォルダの監視、請求書のフィールド抽出、各ファイルへのメタデータ書き戻しを実行する、エンドツーエンドの自動化を構築します。
