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

ジョブにおけるai_classifyタスク

備考

ベータ版

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

ジョブ内のテキストを分類するには、ai_classifyタスクを使用します。タスクは、 Unity Catalogテーブルの各行に対して ai_classify を実行します。このタスクは、テキストまたは解析されたドキュメントを定義するラベルに分類し、各行の結果を Unity Catalogテーブルに書き込みます。

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

ai_classify タスクを追加する​

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

  1. ジョブUIの タスク タブに移動します。
  2. プラス アイコン。 [タスクの追加] をクリックします。ジョブにタスクがまだない場合は、 プラス アイコン。 [別のタスク タイプを追加] をクリックします。
  3. [ドキュメントインテリジェンス] で、 [分類] を選択します。
  4. 「タスク名」 フィールドに名前を入力します。defaultはclassificationです。
  5. 入力 で、テーブルと分類する 列 を選択します。ドキュメントを分類するには、最初にそれらを解析します。他のAI関数での使用をご覧ください。
  6. [出力] で、 [場所] を選択し、必要に応じて [テーブル名] を入力します。出力を参照してください。
  7. (オプション) [ID列] を追加します。ID列を参照してください。
  8. 分類するラベルを定義します。ラベルの定義を参照してください。
  9. (オプション) オプション設定 の下で設定を構成します。オプション設定をご覧ください。
  10. (オプション)リトライ、ランの継続時間またはストリーミングのバックログの threshold、通知を構成するには、タスクの詳細設定をご覧ください。
  11. タスクの保存 をクリックします。

タスクは、ジョブが次に実行されるときに実行されます。最初のランでは、テーブル内のすべての行が分類されます。以降のランでは、前回のラン以降に追加または変更された行のみが分類され、削除された行の結果が削除されます。ジョブをランするには、 スケジュールに従ってジョブをランするを参照してください。このタスクの編集、クローン作成、無効化、または削除については、 「 Lakeflow Jobsでタスクを構成および編集する」を参照してください。

ラベルの定義​

ラベル で、入力の分類先となる各ラベルを追加し、名前と説明(任意)を入力します。ラベル名は一意である必要があります。説明は、類似のラベルを区別するのに役立ちます。

この関数は、どのラベルも適切に当てはまらない場合でも、各入力に最適なラベルを割り当てます。適合しない入力をキャッチするには、otherなどのキャッチオールラベルを追加し、そのラベルに属する内容を説明します。不確実な結果を確認するには、 信頼度スコア をオンにします。

ai_classifyタスクでは、2~10個のラベルを使用します。ai_classify関数自体は最大500個のラベルを受け入れます。10個以上のラベルを使用するには、ai_classify SQL 、ノートブック 、またはパイプライン タスクで を呼び出します。

オプション設定​

[オプション設定] で、以下を構成できます。

  • 信頼度スコア :応答内の各ラベルの信頼度スコアを含めます。
  • 根拠 : 回答に各分類を説明する根拠を含めます。
  • 複数のラベル : 各入力に複数のラベルを割り当てます。
  • 手順 :2つのラベルが適合する場合にどのラベルを選択するかなど、すべての行に適用されるガイダンス。
  • バージョン :タスクが実行されるai_classifyバージョン。参照用として表示されます。バージョンがピン留めされているため、関数が更新されてもスケジュールされたランは変更されません。

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

Declarative Automation Bundles を使用すると、ジョブをソースファイルで定義できるため、コードのようにバージョンの管理、レビュー、および変更のデプロイを行うことができます。以下の例では、各サポートチケットを urgent または normal としてラベル付けし、各ラベルの理由を含む ai_classify タスクを持つジョブを定義します。ボリューム内のドキュメントを分類するには、他の AI 関数との併用をご覧ください。代わりに Jobs API でジョブを作成するには、同じジョブ設定を jobs/create に送信します。

YAML
# resources/classify_support_tickets.job.yml
resources:
jobs:
classify_support_tickets:
name: classify_support_tickets
tasks:
- task_key: classification
ai_function_task:
delta_table:
table_name: main.support.tickets
input_column: body
merge_key_columns: [ticket_id]
output:
catalog: main
schema: support
ai_classify:
version: '2.1'
inline_labels:
labels:
- name: urgent
description: The customer is blocked or reports an outage.
- name: normal
description: A question or a non-blocking issue.
instructions: Prefer urgent when the ticket mentions production.
enable_rationales: true

出力​

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

その他のリソース​