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 関数にアタッチして、Amazon Bedrock サービスプリンシパルが Lambda 関数にアクセスできるようにします。

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

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

    • 関数の詳細 で定義を選択した場合は、アクショングループ関数セクションがあります。関数を定義するには、以下を実行します。

      1. 名前とオプション (推奨) の説明 を指定します。

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

      3. Parameters サブセクションで、Add parameter を選択します。以下のフィールドを定義します。

        フィールド 説明
        [Name] (名前) パラメータに名前を付けます。
        Description (オプション) パラメータを記述します。
        タイプ パラメータのデータ型を指定します。
        必須 エージェントがユーザーから パラメータを必要とするかどうかを指定します。
      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 でのエージェントのアクショングループのスキーマ」を参照してください。

    以下は、 functionSchemaと の一般的な形式を示していますapiSchema

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

      • name および オプション (推奨) を指定しますdescription

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

      • 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には、 を指定します。このフィールドを指定する場合はdescription、、apiSchema、および フィールドをactionGroupExecutor空白のままにする必要があります。
    説明 アクショングループの説明。
    actionGroupState エージェントがアクショングループを呼び出すことを許可するかどうか。
    clientToken リクエストが重複しないようにするための識別子