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

テキスト用の生成AIエージェントをCustom LLMで作成する (レガシー)

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

この記事では、カスタムテキストベースのタスク向けの生成AIエージェントをカスタムLLMを使用して作成する方法について説明します。

カスタムLLMで何ができますか?

カスタムLLMを使用して、要約、分類、テキスト変換、コンテンツ生成など、あらゆるドメイン固有のタスクに対して高品質の結果を生成します。

カスタム LLM は、次のユースケースに最適です。

  • 顧客からの電話における課題と解決策の要約。
  • 顧客レビューのセンチメントを分析しています。
  • 研究論文をトピック別に分類します。
  • 新機能のプレスリリースを生成しています。

高レベルの指示と例を前提として、カスタム LLM は、ユーザーに代わってプロンプトを最適化し、評価基準を自動的に推測し、提供されたデータからシステムを評価し、モデルを運用可能なエンドポイントとしてデプロイします。

カスタムLLMは、MLflowやAgent Evaluationなどの自動評価機能を活用し、特定の抽出タスクにおけるコストと品質のトレードオフを迅速に評価します。この評価により、精度とリソース投資のバランスについて、十分な情報に基づいた意思決定を行うことができます。

カスタムLLMは、デフォルトストレージを使用して、一時的なデータ変換、モデルのチェックポイント、および各エージェントを動かす内部メタデータを保存します。エージェントが削除されると、エージェントに関連付けられているすべてのデータはデフォルトストレージから削除されます。

要件

  • 以下を含むワークスペースです。

  • サポートされているいずれかのリージョンにあるワークスペース。

  • ai_query SQL 関数を使用できます。

  • 使用準備ができた入力データが必要です。次のいずれかを選択できます。

    • Unity Catalogのテーブルです。テーブル名には特殊文字(-など)を含めることはできません。

    • 少なくとも3つの入力と出力の例。このオプションを選択する場合、エージェントのUnity Catalogスキーマの宛先パスを指定する必要があり、このスキーマに対するCREATE REGISTERED MODELおよびCREATE TABLE権限が必要です。

  • エージェントを最適化したい場合は、少なくとも100の入力(Unity Catalogテーブルの100行、または手動で提供された100の例)が必要です。

カスタムLLMエージェントを作成する

ワークスペースの左側のナビゲーションペインで、エージェントアイコン。 エージェント に移動してください。 カスタムLLM タイルから、 ビルド をクリックします。

ステップ 1: エージェントを構成します

ビルド タブで、 例を表示 > をクリックして、カスタムLLMエージェントの入力例とモデル応答を展開します。

以下のペインで、エージェントを設定します。

  1. 「タスクの説明」 に、専門化タスクの目的や望ましい結果など、明確で詳細な説明を入力します。

  2. ラベル付けされたデータセット、ラベル付けされていないデータセット、またはいくつかの例を提供して、エージェントを作成するために使用してください。

    PDFを使用する場合は、まずそれらをUnity Catalogテーブルに変換してください。カスタムLLMでPDFを使用するを参照してください。

    次のデータ型がサポートされています: stringint、および double です。

ラベル付きデータセット を選択した場合は、

CL: ラベル付きデータセットを選択。

  1. UC テーブルとしてデータセットを選択 で、 参照 をクリックして、使用する Unity Catalog のテーブルを選択します。テーブル名には、特殊文字 (- など) を含めることはできません。

    以下は例です:

    main.model_specialization.customer_call_transcripts

  2. 入力列 フィールドで、入力テキストとして使用する列を選択します。ドロップダウンメニューには、選択したテーブルの列が自動的に入力されます。

  3. 出力列 で、予期される変換の出力例として提供する列を選択します。このデータを提供すると、ドメイン固有のニーズにより正確に適応するようにエージェントを構成するのに役立ちます。

  1. エージェントに名前を付けます。

  2. エージェントの作成 をクリックします。

ステップ2:エージェントを構築し、改善する。

ビルド タブで、エージェントを改善するための推奨事項を確認し、サンプルモデルの出力を確認し、タスクの指示と評価基準を調整します。

  1. レコメンデーション ペインでは、Databricksがサンプルの応答を最適化し、良好または不良として評価するのに役立つレコメンデーションを提供します。

    1. Databricksのエージェントパフォーマンス最適化に関する推奨事項を確認してください。
    2. 応答を改善するためにフィードバックを提供します。各応答について、 「これは良好な応答ですか?」 に回答してください。 Yes または No で。 いいえ の場合は、オプションで応答に関するフィードバックを提供し、 保存 をクリックして次の応答に進みます。
    3. 推奨事項を 無視する こともできます。
  2. 右側の**ガイドライン**で、エージェントが適切な出力を生成できるように、明確なガイドラインを設定してください。これらは、品質を自動的に評価するためにも使用されます。

    1. 提案されたガイドラインを確認します。ガイドラインの提案は、エージェントを最適化するのに役立つように自動的に推論されます。それらを修正することも、削除することもできます。
    2. カスタムLLMは、追加のガイドラインを提案する場合があります。新しいガイドラインを追加するには [承認] を、拒否するには [拒否] を選択するか、またはテキストをクリックして最初にガイドラインを編集してください。
    3. 独自のガイドラインを追加するには、 プラスアイコン。 追加 をクリックします。
    4. エージェントを更新するには、 [保存して更新] をクリックします。
  3. (オプション)右側の [指示] で、タスクを説明します。エージェントが応答を生成する際に従うべき追加の指示を追加します。「**保存して更新**」をクリックして、指示を適用します。

  4. エージェントを更新すると、新しいサンプル応答が生成されます。これらの応答を確認し、フィードバックを提供してください。

ステップ 3: エージェントを評価する

少量の評価結果を含む品質レポートは、ガイドラインから自動的に生成されます。このレポートは、**品質**タブで確認してください。

受け入れられた各ガイドラインは、評価メトリクスとして使用されます。生成された各リクエストについて、応答はガイドラインを使用して評価され、合否判定が与えられます。これらの評価は、上部に表示される評価スコアを生成するために使用されます。評価結果をクリックして、詳細を表示します。

品質レポートを使用して、エージェントのさらなる最適化が必要かどうかを判断してください。

(オプション) エージェントを最適化する

カスタム LLM は、エージェントのコスト最適化に役立ちます。Databricks は、エージェントを最適化するために、少なくとも 100 個の入力(Unity Catalog テーブル内の 100 行、または手動で提供された 100 個の例のいずれか)を推奨しています。入力数を増やすと、エージェントが学習できるナレッジベースが増加し、エージェントの品質と応答精度が向上します。

エージェントを最適化する際、Databricks は複数の異なる最適化戦略を比較して、最適化されたエージェントを構築およびデプロイします。これらの戦略には、Databricks Geos を使用する基盤モデル ファインチューニングが含まれます。

エージェントを最適化するには:

  1. [最適化] をクリックします。

  2. 最適化を開始 をクリックします。

    最適化には数時間かかる場合があります。最適化が進行中の場合、現在アクティブなエージェントへの変更はブロックされます。

  3. 最適化が完了したら、現在アクティブなエージェントとコストに最適化されたエージェントの比較を確認します。

  4. これらの結果を確認したら、[ Deploy best model to an endpoint ] で最適なモデルを選択し、 Deploy をクリックします。

ステップ 4: エージェントを使用する

Databricks全体でのワークフローでエージェントを試してください。

エージェントの使用を開始するには、 「使用」 をクリックします。次のオプションがあります。

  • SQL で試す 」をクリックして SQL エディターを開き、ai_query を使用して新しいカスタム LLM エージェントに要求を送信します。

  • 「パイプラインの作成」 をクリックして、スケジュールされた間隔で実行されるパイプラインをデプロイし、新しいデータに対してエージェントを使用します。パイプラインの詳細については、 LakeFlow Spark宣言型パイプラインを参照してください。

  • AI Playgroundを使用してチャット環境でエージェントをテストするには、 [Playground で開く] をクリックします。

権限を管理

デフォルトでは、エージェントの作成者とワークスペースの管理者のみがエージェントに対する権限を持っています。他のユーザーがエージェントを編集またはクエリできるようにするには、明示的に権限を付与する必要があります。

エージェントの権限を管理するには:

  1. [**エージェント**] ページで、エージェントを開きます。

  2. 上部の ケバブメニューアイコン。 ケバブメニューをクリックします。

  3. [アクセス許可を管理] をクリックします。

  4. **権限設定** ウィンドウで、ユーザー、グループ、またはサービスプリンシパルを選択します。

  5. 付与する権限を選択してください:

    • 管理可能 : 権限の設定、エージェント構成の編集、品質の向上など、エージェントの管理が可能です。
    • クエリ可能 : AI Playgroundで、およびAPIを介してエージェントエンドポイントをクエリできます。このアクセス許可を持つユーザーのみが、エージェントページでエージェントを表示または編集できません。
  6. [ 追加 ] をクリックします。

  7. 保存 をクリックします。

注記

2025年9月16日より前に作成されたエージェントエンドポイントの場合、**サービングエンドポイント**ページからエンドポイントに**クエリ可能**のアクセス許可を付与できます。

エージェントエンドポイントをクエリする

エージェントページで、右上の モデルサービングアイコン。エージェント ステータス を参照して、デプロイされたエージェント エンドポイントを取得し、エンドポイントの詳細を確認します。

作成されたエージェントエンドポイントをクエリするには、複数の方法があります。AI Playgroundで提供されているコード例を開始点として使用してください:

  1. エージェントページで、 使用 をクリックします。
  2. [Playground で開く] をクリックします。
  3. Playground から コードを取得 をクリックします。
  4. エンドポイントの使用方法を選択してください:
    • データに適用 を選択して、エージェントを特定のテーブル列に適用する SQL クエリを作成します。
    • curl を使用してエンドポイントをクエリするコード例として、 Curl API を選択します。
    • Pythonを使用してエンドポイントを操作するコード例については、 Python API を選択してください。

カスタムLLMでPDFを使用する

情報抽出とカスタムLLMでは、PDFはまだネイティブにサポートされていません。ただし、UIワークフローを使用してPDFファイルのフォルダをマークダウンに変換し、エージェントを構築する際に結果のUnity Catalogテーブルを入力として使用できます。このワークフローは、変換にai_parse_documentを使用します。以下のステップに従ってください:

  1. 左側のナビゲーションペインで エージェント をクリックします。

  2. 情報抽出またはカスタム LLM ユースケースで、 [PDF の使用] をクリックします。

  3. 開いたサイドパネルで、PDFを変換する新しいワークフローを作成するために、以下のフィールドを入力してください:

    1. PDF または画像を含むフォルダーを選択 :使用する PDF を含む Unity Catalog フォルダーを選択します。
    2. 宛先テーブルを選択 :変換されたマークダウンテーブルの宛先スキーマを選択し、オプションで、以下のフィールドでテーブル名を調整します。
    3. SQLウェアハウスの選択 : ワークフローを実行するSQLウェアハウスを選択します。

    PDFを使用するようにワークフローを構成します。

  4. インポートの開始 をクリックします。

  5. すべてのワークフロー 」タブにリダイレクトされ、すべてのPDFワークフローが表示されます。このタブを使用して、ジョブのステータスをモニタリングします。

    PDF を使用するためのワークフローの状態を確認します。

    ワークフローが失敗した場合は、ジョブ名をクリックして開き、デバッグに役立つエラーメッセージを確認します。

  6. ワークフローが正常に完了したら、ジョブ名をクリックしてカタログエクスプローラでテーブルを開き、列を調査し、理解します。

  7. エージェントを構成する際は、Unity Catalogテーブルを入力データとして使用してください。

制限事項

  • Databricks では、エージェントを最適化するために、少なくとも 100 件の入力(Unity Catalog テーブルの 100 行、または手動で提供された 100 件のサンプル)をお勧めします。入力が増えると、エージェントが学習できるナレッジベースが拡大し、エージェントの品質と応答の精度が向上します。
  • Unity Catalog テーブルを提供する場合は、テーブル名に特殊文字 ( - など) を含めることはできません。
  • 入力としてサポートされているデータ型は、stringintdouble のみです。
  • 使用容量は現在、1分あたり100,000の入力および出力トークンに制限されています。
  • 拡張セキュリティとコンプライアンスが有効になっているワークスペースはサポートされていません。
  • 最適化は、制限付きアクセスモードを持つサーバレスエグレス制御ネットワークポリシーがあるワークスペースで失敗する可能性があります。