メインコンテンツまでスキップ

ai_extractタスク(ジョブ向け)

備考

ベータ版

この機能はベータ版です。使用するには、ワークスペース管理者は プレビュー ページから Lakeflow AI Function タスク を有効にする必要があります。Databricksのプレビューの管理を参照してください。

ジョブで情報抽出を実行するには、ai_extractタスクを使用します。タスクは、Unity Catalogテーブルの各行に対してai_extractを実行します。このタスクは、テキストまたは解析済みドキュメントから定義したフィールドを抽出し、各行の結果をUnity Catalogテーブルに書き込みます。

ai_extract タスクは、AI 関数タスクの一種です。Jobs API および Declarative Automation Bundles では、ai_extract 関数が設定された ai_function_task です。要件およびAI関数タスクによるデータの処理方法については、ジョブ用のAI関数タスクを参照してください。

ai_extract タスクを追加する​

ai_extractタスクを追加するには:

  1. ジョブUIの タスク タブに移動します。
  2. プラスアイコン。 [タスクの追加] をクリックします。ジョブにまだタスクがない場合は、 プラスアイコン。 [別のタスク タイプを追加] をクリックします。
  3. ドキュメント インテリジェンス で、 情報抽出 を選択します。
  4. [タスク名] フィールドに名前を入力します。default は extraction です。
  5. 入力 で、テーブルと抽出する 列 を選択します。ドキュメントから抽出するには、先にドキュメントを解析します。「他のAI機能との併用」をご覧ください。
  6. 出力 の下で、 場所 を選択し、オプションで テーブル名 を入力します。出力を参照してください。
  7. (オプション) ID列 を追加します。ID列を参照してください。
  8. [スキーマ] で、抽出するフィールドを定義します。抽出するフィールドの定義を参照してください。
  9. (オプション) オプション設定 で設定を構成します。オプション設定を参照してください。
  10. (オプション) 再試行、実行期間、ストリーミングバックログのthreshold、または通知を構成するには、詳細タスク設定を参照してください。
  11. タスクの保存 をクリックします。

タスクは、ジョブが次に実行されたときに実行されます。スケジュールに従ってジョブをランするには、 「スケジュールに従ってジョブをランする」を参照してください。このタスクを編集、クローン、無効化、または削除するには、 「 Lakeflow Jobsでタスクを構成および編集する」を参照してください。

抽出するフィールドを定義する​

スキーマ の下で、抽出する各フィールドを名前、型、およびオプションの説明と共に追加します。オブジェクト・フィールドにはネストされたフィールドが保持され、配列フィールドには値のリストが保持されます。フィールドを JSON として編集するには、 JSON をクリックします。JSON は、ai_extract が期待する形式を使用します。また、サポートされているフィールド型も一覧表示されます。

フィールドを自分で追加する代わりに、次のいずれかを行うことができます。

  • エージェントからのインポート : Agent Bricks情報抽出エージェントのフィールド、指示、オプションをタスクにコピーします。タスクのエージェントへのリンクは維持されません。エージェントのその後の変更を取得するには、再度インポートします。
  • Genie Codeで定義 : 選択した入力テーブルと列に基づいて、Genie Codeでフィールドをドラフトします。このオプションは、入力と出力の 場所 を選択した後に使用できます。

オプション設定​

オプション設定 で、次の項目を設定できます。

  • 高精度モード : 複雑なフィールドや長いドキュメントの精度を向上させます。
  • 信頼度スコア : 抽出された値ごとに信頼度を含めます。
  • 引用 : 抽出された各値のソーステキストへの参照を含めます。
  • 手順 : 日付形式や無視するコンテンツなど、すべてのフィールドに適用されるガイダンス。
  • バージョン :タスクが実行するai_extractのバージョンです。参考情報として表示されます。バージョンはピン留めされているため、関数が更新されてもスケジュール済みのランは変更されません。

宣言型オートメーションバンドルでタスクを定義する​

Declarative Automation Bundles を使用すると、ジョブをソースファイルで定義できるため、コードのようにバージョンの管理、レビュー、変更のデプロイが可能になります。次の例では、ai_extract タスクを含むジョブを定義し、テーブル内の各コントラクトから相手方、発効日、更新期間を抽出して、各値の引用を表示します。schema フィールドは、抽出するフィールドを JSON 文字列として保持します。ボリューム内のドキュメントから抽出するには、他の AI 関数との併用を参照してください。代わりに Jobs API でジョブを作成するには、同じジョブ設定を jobs/create に送信します。

YAML
# resources/extract_contract_fields.job.yml
resources:
jobs:
extract_contract_fields:
name: extract_contract_fields
tasks:
- task_key: extraction
ai_function_task:
delta_table:
table_name: main.legal.contracts
input_column: contract_text
merge_key_columns: [contract_id]
output:
catalog: main
schema: legal
ai_extract:
version: '2.1'
schema: |
{
"counterparty": {"type": "string", "description": "Legal name of the other party"},
"effective_date": {"type": "string", "description": "Date in YYYY-MM-DD format"},
"renewal_term_months": {"type": "integer", "description": "Length of the renewal term in months"}
}
instructions: Ignore text in exhibits and appendices.
enable_citations: true

出力​

出力テーブルの response 列には、各行の完全な ai_extract 結果が VARIANT として保持されます。これには、有効にした場合の信頼スコアと引用が含まれます。タスクは各値の列を追加しません。値の列を取得するには、クエリーの response から列を選択します。形式については、ai_extract の戻り値を参照してください。他の列については、出力テーブルを参照してください。

その他のリソース​