Amazon Bedrock のエージェントにアクショングループを追加する - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Bedrock のエージェントにアクショングループを追加する

の設定後 OpenAPI アクショングループの スキーマと Lambda 関数では、アクショングループを作成できます。任意の方法のタブを選択し、ステップに従います。

注記

を使用している場合 Anthropic Claude 3.5 Sonnet、 形式のツール名が Anthropic ツール名の形式 httpVerb__actionGroupName__apiNameに従っていることを確認してください^[a-zA-Z0-9_-]{1,64}$。 actionGroupName と apiName には、二重アンダースコア を含めることはできません'__'

Console

エージェントの作成時に、作業中のドラフトにアクショングループを追加できます。

エージェントの作成後は、次の手順を実行してアクショングループをエージェントに追加できます。

アクショングループをエージェントに追加するには
  1. IAM Amazon Bedrock のアクセス許可を持つ ロール AWS Management Console を使用して にサインインし、 で Amazon Bedrock コンソールを開きますhttps://console.aws.amazon.com/bedrock/

  2. 左側のナビゲーションペインで [エージェント] を選択します。次に、[エージェント] セクションでエージェントを選択します。

  3. [エージェントビルダーで編集] を選択します。

  4. [アクショングループ] セクションで [追加] を選択します。

  5. (オプション) [アクショングループの詳細] セクションで、自動的に生成された [名前] を変更し、アクショングループの [説明] (オプション) を指定します。

  6. [アクショングループタイプ] セクションで、エージェントがアクションを実行するためにユーザーから取得するパラメータを定義する方法として、次のいずれかを選択します。

    1. 関数の詳細で定義 – アクションを実行するためにエージェントがユーザーから取得するパラメータを定義します。関数の追加について詳しくは、「Amazon Bedrock エージェントで使用するアクショングループの関数の詳細を定義する」を参照してください。

    2. API スキーマで定義 — エージェントが呼び出すことができるAPIオペレーションとパラメータ を定義します。作成した OpenAPI スキーマを使用するか、コンソールテキストエディタを使用してスキーマを作成します。OpenAPI スキーマの設定の詳細については、「」を参照してください。 定義 OpenAPI Amazon Bedrock でのエージェントのアクショングループのスキーマ

  7. アクショングループの呼び出しセクションでは、エージェントが呼び出す必要がある APIまたは 関数を予測し、必要なパラメータを受け取った後に、エージェントが何をするかを設定します。以下のオプションのいずれかを選択します。

    • 新しい Lambda 関数のクイック作成 – 推奨 – Amazon Bedrock がエージェント用の基本的な Lambda 関数を作成し、後でユースケース AWS Lambda に合わせて変更できるようにします。エージェントは、予測する APIまたは 関数と、セッションに基づくパラメータを Lambda 関数に渡します。

    • 既存の Lambda 関数を選択する – で以前に作成した Lambda 関数 AWS Lambda と、使用する関数のバージョンを選択します。エージェントは、予測する APIまたは 関数と、セッションに基づくパラメータを Lambda 関数に渡します。

      注記

      Amazon Bedrock サービスプリンシパルが Lambda 関数にアクセスできるようにするには、Lambda 関数にリソースベースのポリシーをアタッチします。

    • 戻り制御 – エージェントは、予測した APIまたは 関数のパラメータを Lambda 関数に渡すのではなく、セッションから決定したアクションのパラメータと情報に加えて、呼び出される必要があると予測したアクションを渡すことで、アプリケーションに制御を返します。 InvokeAgent レスポンス。詳細については、「InvokeAgent レスポンスで引き出された情報を送信して、エージェントデベロッパーにコントロールを返す」を参照してください。

  8. [アクショングループタイプ] の選択に応じて、次のいずれかのセクションが表示されます。

    • [関数の詳細で定義] を選択した場合は、[アクショングループ関数]セクションが表示されます。以下を実行して関数を定義します。

      1. [名前] とオプションの [説明] (記述することを推奨) を入力します。

      2. 関数が呼び出される前にユーザーからの確認をリクエストするには、[有効] を選択します。関数を呼び出す前に確認をリクエストすると、悪意のあるプロンプトインジェクションによるアクションが実行されないようにアプリケーションを保護できる場合があります。

      3. [パラメータ] サブセクションで、[パラメータを追加] を選択します。以下のフィールドを定義します。

        フィールド 説明
        名前 パラメータに名前を付けます。
        Description (オプション) パラメータの説明を記述します。
        Type パラメータのデータ型を指定します。
        必須 エージェントでユーザーからのパラメータを必須とするかどうかを指定します。
      4. 別のパラメータを追加するには、[パラメータを追加] を選択します。

      5. パラメータのフィールドを編集するには、フィールドを選択し、必要に応じて編集します。

      6. パラメータを削除するには、パラメータが含まれる行の削除アイコン ( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. ) を選択します。

      JSON オブジェクトを使用して関数を定義する場合は、テーブルの代わりにJSONエディタを選択します。JSON オブジェクトの形式は次のとおりです ( parameters オブジェクトの各キーは、指定したパラメータ名です)。

      { "name": "string", "description": "string", "parameters": [ { "name": "string", "description": "string", "required": "True" | "False", "type": "string" | "number" | "integer" | "boolean" | "array" } ] }

      別のパラメータセットを定義してアクショングループに別の関数を追加するには、[アクショングループ関数を追加] を選択します。

    • API スキーマで定義を選択した場合は、以下のオプションを含むアクショングループスキーマセクションがあります。

      • アクショングループAPIの説明、構造、パラメータで以前に準備した OpenAPI スキーマを使用するには、スキーマの選択を選択し、APIスキーマURIの Amazon S3 へのリンクを指定します。

      • インラインスキーマエディタで OpenAPI スキーマを定義するには、インラインスキーマエディタで定義を選択します。編集可能なサンプルスキーマが表示されます。

        1. [フォーマット] の横にあるドロップダウンメニューを使用して、スキーマのフォーマットを選択します。

        2. S3 から既存のスキーマをインポートして編集するには、スキーマのインポートを選択し、S3 を指定してURI、インポートを選択します。

        3. スキーマを元のサンプルスキーマに復元するには、[リセット] を選択し、もう一度 [リセット] を選択して表示されるメッセージを確認します。

  9. アクショングループの作成が完了したら、[追加] を選択します。API スキーマを定義した場合、問題がなければ緑色の成功バナーが表示されます。スキーマの検証に問題がある場合は、赤いバナーが表示されます。次のオプションがあります。

    • スキーマをスクロールして、フォーマットに関するエラーまたは警告がある行を確認します。X はフォーマットエラーを示し、感嘆符はフォーマットに関する警告を示します。

    • API スキーマのコンテンツに関するエラーのリストを表示するには、赤色のバナーで詳細の表示を選択します。

  10. テストする前に、必ず [準備] を選択してエージェントに加えた変更を適用します。

API

アクショングループを作成するには、 CreateAgentActionGroup Agents for Amazon Bedrock ビルドタイムエンドポイントを使用した リクエスト。 関数スキーマまたは OpenAPI スキーマのいずれかを指定する必要があります。

コード例を見る

次のリストで、リクエストのフィールドについて説明します。

  • 以下のフィールドが必要です。

    フィールド 簡単な説明
    agentId アクショングループが属するエージェントの ID。
    agentVersion アクショングループが属するエージェントのバージョン。
    actionGroupName アクショングループの名前。
  • アクショングループのパラメータを定義するには、次のいずれかのフィールドを指定する必要があります (両方を指定することはできません)。

    フィールド 簡単な説明
    functionSchema エージェントがユーザーから取得するアクショングループのパラメータを定義します。詳細については、「Amazon Bedrock エージェントで使用するアクショングループの関数の詳細を定義する」を参照してください。
    apiSchema アクショングループのパラメータを定義する OpenAPI スキーマ、またはそれを含む S3 オブジェクトへのリンクを指定します。詳細については、「定義 OpenAPI Amazon Bedrock でのエージェントのアクショングループのスキーマ」を参照してください。

    以下は、functionSchemaapiSchema の一般的な形式を示しています。

    • functionSchema 配列内の各項目は FunctionSchema オブジェクトです。各関数に、以下を指定します。

      • name とオプションの description (指定することを推奨) を指定します。

      • オプションで、関数が呼び出される前にユーザーからの確認をリクエストする場合は、requireConfirmation フィールドに ENABLED を指定します。関数を呼び出す前に確認をリクエストすると、悪意のあるプロンプトインジェクションによるアクションが実行されないようにアプリケーションを保護できる場合があります。

      • parameters オブジェクトでは、各キーはパラメータ名であり、ParameterDetailオブジェクト内の詳細にマッピングされます。

      functionSchema の一般的な形式は以下のとおりです。

      "functionSchema": [ { "name": "string", "description": "string", "requireConfirmation": ENABLED | DISABLED, "parameters": { "<string>": { "type": "string" | number | integer | boolean | array, "description": "string", "required": boolean }, ... // up to 5 parameters } }, ... // up to 11 functions ]
    • は、次のいずれかの形式APISchemaになります。

      1. 次の形式では、 JSONまたは YAML形式の を直接貼り付けることができます。OpenAPI スキーマを値として指定します。

        "apiSchema": { "payload": "string" }
      2. 次の形式では、Amazon S3 バケット名とオブジェクトキーを指定します。OpenAPI スキーマが保存されます。

        "apiSchema": { "s3": { "s3BucketName": "string", "s3ObjectKey": "string" } }
  • ユーザーからパラメータを取得した後にアクショングループがアクショングループの呼び出しをどのように処理するかを設定するには、actionGroupExecutor フィールド内で次のいずれかのフィールドを指定する必要があります。

    フィールド 簡単な説明
    lambda アクショングループの呼び出し結果を処理するパラメータを Lambda 関数に送信するには、Lambda の Amazon リソースネーム (ARN) を指定します。詳細については、「Amazon Bedrock エージェントがユーザーから取得した情報を送信するように Lambda 関数を設定する」を参照してください。
    customControl Lambda 関数の使用を省略し、代わりに、必要なパラメータと情報、加えて予測されたアクショングループを InvokeAgent レスポンスで返す場合は、RETURN_CONTROL を指定します。詳細については、「InvokeAgent レスポンスで引き出された情報を送信して、エージェントデベロッパーにコントロールを返す」を参照してください。
  • 次のフィールドはオプションです。

    フィールド 簡単な説明
    parentActionGroup署名 AMAZON.UserInput を指定すると、別のアクショングループを完了するための十分な情報がない場合に、エージェントは再度ユーザーに詳細な情報を求めることができます。このフィールドを指定する場合は descriptionapiSchema、および actionGroupExecutor フィールドを空白のままにする必要があります。
    description アクショングループの説明。
    actionGroupState エージェントがアクショングループを呼び出せるようにするかどうか。
    clientToken リクエストが重複しないようにするための識別子