Skip to main content

カスタムプラグイン

このドキュメントでは、カスタムプラグインを作成、デバッグ、使用して、必要な API を統合する方法について説明します。

ワークフロー

  1. プラグインの作成:プラグインの基本情報を定義するか。
  2. ツールの追加:プラグインの特定の API パス、リクエストパラメーター、レスポンスデータを設定します。
  3. デバッグと公開:オンラインで API 接続をテストし、期待どおりに動作することを確認してからツールを公開します。
  4. アプリケーションでの使用:プラグインをエージェントアプリケーションに関連付け、対話型テストまたは API 統合を通じて呼び出します。

カスタムプラグインの作成

  • カスタムプラグインの作成

ステップ 1:プラグインの作成

  1. [Plugins] ページに移動し、[Create Plugin] をクリックします。
  2. プラグイン情報を入力します。
    [プラグイン名]:分かりやすい名前を入力します。中国語と英語に対応しています。
    例:寮規約照会ツールテスト
    [プラグインの説明]:プラグインの機能と目的を自然言語で簡潔に説明します。この説明は、モデルがいつプラグインを使用するかを判断するのに役立ちます。
    例:入力された数値インデックスに基づいて、特定の寮規約項目の内容を照会します。
    [Plug-in URL]:プラグインのアクセスエンドポイントです。
    例:https://domitorgreement-plugin-example-icohrkdjxy.cn-beijing.fcapp.run
    • Alibaba Cloud Model Studio は、同じドメイン下の異なるパスを異なる API として扱います。これらのパスは、ツール作成時に設定する Tool Path に対応します。
    • 同じプラグイン内のツールはドメイン名を共有しますが、各ツールのパスは一意の API にマッピングされます。 たとえば、あるプラグインに 2 つの API が含まれているとします: 照会:https://xxx.com/query 削除:https://xxx.com/delete この例では、https://xxx.com が Plug-in URL で、/query と /delete が Tool Path の値です。これは、このプラグインに 2 つのツールが含まれていることを示します。
    認証が必要な場合は、Enable Authentication スイッチを有効にし、認証設定を入力します。

    [Headers] (オプション)

    認証が必要な場合、カスタムヘッダーで認証情報を渡すことができます。

    [Enable Authentication] (オプション)

    アプリケーションがカスタムプラグインを呼び出すために認証を提供する必要があるかどうかを決定します。これは、API プロバイダーのセキュリティポリシーによって決まります。

    [Authentication Type]

    認証方法には、サービスレベル認証とユーザーレベル認証の 2 種類があります。

    • [場所]:認証情報をリクエストヘッダーまたはクエリ文字列に配置できます。

      • ヘッダー:このオプションは、認証情報を HTTP リクエストの Authorization ヘッダーに配置し、URL から見えないようにします。

      • クエリ:このオプションは、認証情報を URL に配置します。例:https://example.com?api_key=123456。

    • [パラメーター名]:認証情報をクエリ文字列に配置する場合、認証に使用されるパラメーター名 (例:api_key) を指定します。ヘッダーに配置する場合、デフォルトではパラメーターは Authorization です。

    • タイプ:

      • basic:提供するトークンにプレフィックスを追加しません。

      • bearer:トークンに Bearer プレフィックスを追加します。

      • appcode:トークンに APPCODE プレフィックスを追加します。

      プレフィックスは認証フィールドに含まれます。たとえば、bearer を選択した場合、Authorization ヘッダーは Authorization: Bearer <YOUR_TOKEN> となります。

    • トークン (サービスレベル認証の場合):API プロバイダーからの認証トークン (API キーなど)。

  3. フォームの入力が完了したら、Confirm Create Plug-inCreate Tool をクリックするか、Continue to Add Tool をクリックします。

ステップ 2:ツールの作成

  1. ツール情報を入力し、入力パラメーターと出力パラメーターを設定し、高度な設定を定義します。 この例では、[Tool Name] に「寮規約照会ツール」と入力し、[Tool Description] に「入力された数値インデックスに基づいて、特定の寮規約の内容を照会します」と入力します。[Tool Path] を /article に設定し、[POST] を [Request Method] に、[application/json] を [Submission Method] に選択します。入力パラメーターについては、パラメーター名を article_index、パラメーターの説明を「インデックス」、タイプを [Number] に設定します。このパラメーターは [Body] で渡され、必須であり、その受け渡し方法は LLM 認識 です。出力パラメーターについては、パラメーター名を article、パラメーターの説明を「寮規約の内容」、タイプを [String] に設定します。高度な設定では、ユーザー入力クエリは「入力されたインデックス値に基づいて、対応する寮規約の内容を照会する」で、article_index 入力パラメーターの値は 5 です。

    ツールパラメーター

    [ツール名]

    分かりやすい名前を入力します。中国語と英語に対応しています。

    [Tool Description]

    ツールの機能とユースケースを簡単に説明します。

    これは、モデルがいつツールを呼び出すかを判断するのに役立ちます。自然言語を使用し、可能な場合は例を提供してください。

    [Tool Path]

    Plug-in URL への相対パスです。

    パスはスラッシュ (/) で始まる必要があります。

    システムはこのパスを Plug-in URL に追加して、完全なリクエスト URL を作成します。

    [Request Method]

    API を呼び出すリクエストメソッドとして GET または POST を選択します。

    [Submission Method]

    リクエストボディのエンコーディングタイプです。

    • application/json:ボディのコンテンツは JSON 形式のデータです。

    • application/x-www-form-urlencoded:フォームデータをキーと値のペアとしてエンコードします。

      • このエンコーディング方法は POST リクエストに適用されます。フォームデータをキーと値のペアにエンコードし、ペアをアンパサンド (&) で区切り、キーと値を等号 (=) で区切ります。データは URL エンコードされ、特殊文字はパーセント記号 (%) とそれに続く 2 つの 16 進数に変換されます。たとえば、スペースは %20、& は %26、= は %3D にエンコードされます。

      • 例:name=田中 太郎&age=25 は name=田中%20太郎&age=25 にエンコードされます。

    入力パラメーターと出力パラメーターの設定

    [Configure Input Parameters]

    Add Input Parameter をクリックしてパラメーターを設定します。

    [Parameter Name]:モデルがパラメーターが何を表すかを理解するのに役立つ、分かりやすい名前を使用します。例:city。

    [Parameter Description]:入力パラメーターの機能を簡潔かつ正確に説明します。これは、モデルがパラメーター値をどのように取得するかを正しく理解するのに役立ちます。たとえば、date という名前のパラメーターの場合、それを日付として説明し、yyyy-MM-dd などの形式を指定することもできます。

    [タイプ]:パラメーターのデータ型です。

    Object 型のサブプロパティは空にできません。オブジェクトの行の末尾にある image アイコンをクリックして、サブプロパティを追加します。

    [Passing Method]:パラメーター値の受け渡し方法を定義します。この設定は、正しい操作に不可欠です。

    • [LLM Recognition]:モデルはユーザーの入力からパラメーター値を抽出します。

    • [Business Pass-through]:システムは、外部ソースからパラメーター値を直接渡し、処理や変更は行いません。

      DashScope SDK または HTTP API を使用してアプリケーションを呼び出す際、システムは ビジネスパススルー 型の入力パラメーターを biz_params と user_defined_params を使用してアプリケーションに渡します。詳細については、「アプリケーションへのパラメーターの受け渡し」をご参照ください。

    [Configure Output Parameters]

    Add Output Parameters をクリックし、パラメーターを設定します。すべてのパラメーターは必須です。

    モデルは、出力パラメーターの定義を使用して、ユーザーのクエリに基づいて API レスポンスをフィルタリングおよび再構築し、最終的な回答を返します。

    入力パラメーターと同様に、出力パラメーターは簡潔かつ正確に記述し、ネストを最小限に抑える必要があります。

    GET と POST の両方のリクエストメソッドは、パラメーターに Object 型をサポートしています。ただし、Object 型のサブプロパティは空にできません。オブジェクトの行の末尾にある image アイコンをクリックして、サブプロパティを追加します。

    [Advanced Configuration]

    呼び出し例を提供することで、モデルがツールの呼び出しを逃したり、誤って呼び出したりするのを防ぎます。

    入力パラメーターが複雑で、モデルが正しく構築できない可能性がある場合、例を提供することで呼び出しの精度が向上します。

    値:ユーザーのクエリからモデルが生成すると想定される呼び出しパラメーターを指定します。たとえば、ユーザー入力「明日の杭州の天気は?」に対して、期待されるパラメーターは {"city": "Hangzhou", "date": "2025-04-25"} です。

  2. 設定が完了したら、Save Draft をクリックします。
  3. ツールをオンラインでデバッグし、API が呼び出し可能であることを確認します。
    Test Tool をクリックします。認証を有効にした場合は、認証情報と入力パラメーターの値を入力します。その後、Start Running をクリックします。
    実行に失敗した場合は、Run Result セクションのエラーメッセージに基づいて設定を調整し、実行が成功するまで再度テストします。
    入力パラメーターの値は手動で入力するか、コードとして入力できます。複雑なパラメーターの場合は、Code Editing を使用します。コードエディターでは、完全な JSON 形式の入力パラメーターとそれに対応する値を送信できます。
  4. テストが成功したら、公開 をクリックします。アプリケーションは、ステータスが Published のツールのみを呼び出すことができます。

プラグインの使用

  • コンソール
  • API
  • 方法 1:プラグインを MCP サービスとして公開し、そのサービスをエージェントアプリケーションに追加します。 ステップ 1:プラグインを MCP サービスとして公開する
    1. Plugins ページで、ターゲットのプラグインカードにカーソルを合わせ、MCPサービスとして公開 をクリックします。
      プラグインがすでに MCP サービスに変換されている場合、ボタンは MCPサービスを表示 に変わります。このボタンをクリックすると MCP 管理ページに移動し、サービスの詳細を表示できます。
    2. 公開が成功した後、[MCP Management] ページで MCP サービスの詳細 (サービス名、説明、ID など) を表示できます。
    ステップ 2:MCP サービスをエージェントアプリケーションに追加する
    1. エージェントアプリケーション アプリケーションのオーケストレーションキャンバスに移動します。[MCP] ブロックで、[+] をクリックします。
    2. Select MCP Service パネルで、Custom MCPS タブに切り替え、プラグインから変換された MCP サービスを見つけ、全て追加する をクリックしてアプリケーションに追加します。
      また、プラグインからMCPへ をクリックして、まだ変換されていないプラグインを直接公開することもできます。
    3. プラグインが期待どおりに機能するかをテストします。
      • 認証なし:入力ボックスでモデルとチャットして、プラグインの機能をテストします。
      • ユーザーレベル認証またはサービスレベル認証:会話を開始する前に、image をクリックして認証トークンを設定します。このページではセッションごとに一度だけトークンを設定する必要があります。
      • ツールの入力パラメーターの Passing Method が Business Pass-through に設定されている場合、会話を開始する前に image をクリックして変数の値を設定する必要があります。このページではセッションごとに一度だけ値を入力する必要があります。
    4. テストが完了したら、アプリケーションを公開します。
  • 方法 2: [アプリケーション管理] ページで、エージェントアプリケーション のオーケストレーションキャンバスに移動し、MCP ブロックから MCP サービスを追加してその機能をテストした後、アプリケーションを 公開 します。

プラグインとツールの管理

プラグインを削除すると、そのすべてのツールも削除され、プラグインを呼び出すアプリケーションが正しく動作しなくなります。この操作は元に戻せません。
Plugins リストで、ターゲットのプラグインを見つけ、[...] > 削除 をクリックします。
  1. Plugins リストで、ターゲットのプラグインを見つけ、詳細を見る をクリックします。
  2. 右上隅で プラグインを編集 をクリックし、プラグイン情報を変更して変更を保存します。 変更はすぐに有効になります。プラグインの URL、ヘッダー、または認証情報を変更した場合、ツールの呼び出しが失敗することがあります。ツールを再度テストして公開する必要があります。
ツールを変更した後、変更を有効にするには、再度テストして公開する必要があります。
  1. Plugins リストで、ツールを含むプラグインを見つけ、詳細を見る をクリックします。
  2. ツールが含まれている行で、編集 をクリックし、ツール情報を変更してから Save Draft をクリックします。
  3. Test Tool をクリックしてツールをオンラインでデバッグします。
  4. 実行が成功したら、公開 をクリックします。
ツールを削除すると、それを呼び出すアプリケーションが正しく動作しなくなります。この操作は元に戻せません。
  1. Plugins リストで、ツールを含むプラグインを見つけ、詳細を見る をクリックします。
  2. ツールが含まれている行で、削除 をクリックします。

エラーコード

次の表は、ツールを公開する際に発生する可能性のある一般的なエラーメッセージを示しています。

エラーコード

エラーメッセージ

説明

130040

The parameter description for xx is missing.

原因:xx パラメーターの説明がありません。

解決策:パラメーターの説明を追加して、ツールを再度公開します。

130022

Failed to save the tool information. Check whether the sample parameters are correct.

考えられる原因 1:Object 型の入力または出力パラメーターに空のサブプロパティがあります。

解決策:オブジェクトの行の末尾にある image アイコンをクリックして、サブプロパティを追加します。

考えられる原因 2:リクエストメソッドが GET ですが、入力パラメーターが Object 型です。

解決策:GET リクエストは入力パラメーターに Object 型をサポートしていません。別のデータ型を選択してください。