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タスクを追加するには:
- ジョブUIの タスク タブに移動します。
[タスクの追加] をクリックします。ジョブにまだタスクがない場合は、
[別のタスク タイプを追加] をクリックします。
- ドキュメント インテリジェンス で、 情報抽出 を選択します。
- [タスク名] フィールドに名前を入力します。default は
extractionです。 - 入力 で、テーブルと抽出する 列 を選択します。ドキュメントから抽出するには、先にドキュメントを解析します。「他のAI機能との併用」をご覧ください。
- 出力 の下で、 場所 を選択し、オプションで テーブル名 を入力します。出力を参照してください。
- (オプション) ID列 を追加します。ID列を参照してください。
- [スキーマ] で、抽出するフィールドを定義します。抽出するフィールドの定義を参照してください。
- (オプション) オプション設定 で設定を構成します。オプション設定を参照してください。
- (オプション) 再試行、実行期間、ストリーミングバックログのthreshold、または通知を構成するには、詳細タスク設定を参照してください。
- タスクの保存 をクリックします。
タスクは、ジョブが次に実行されたときに実行されます。スケジュールに従ってジョブをランするには、 「スケジュールに従ってジョブをランする」を参照してください。このタスクを編集、クローン、無効化、または削除するには、 「 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 に送信します。
# 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 の戻り値を参照してください。他の列については、出力テーブルを参照してください。
その他のリソース
- ジョブの AI Function タスク: AI Function タスクについて学習します。
- 情報抽出: Agent Bricks UI で抽出スキーマを作成およびテストします。