先决条件 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

先决条件

注意

配置和调用内联代理功能在 Amazon Bedrock 的预览版中,可能会发生变化。

在调用内联代理之前,请完成以下先决条件:

  1. 确定要用于配置内联代理的基础模型、要调用代理的区域,以及告诉内联代理应该做什么的指令。

  2. 创建或准备以下一个或多个要用于内联代理的 Amazon Bedrock 代理属性。

    字段 应用场景
    行动小组 提供操作组列表,每个操作组定义内联代理可以执行的操作。例如,您可以定义一个操作组 “预约”,以帮助用户执行诸如 CreateAppointment、 GetAppointment CancelAppointment、等操作。
    guardrailConfiguration 配置防护栏以屏蔽话题、防止出现幻觉并为您的应用程序实施保护措施。
    knowledgeBases 知识库与您的内联代理关联,以增强模型生成的响应。知识库不仅可以用来回答用户查询和分析文档,还可以通过为提示提供上下文来增强向基础模型提供的提示。
    promptOverridenConfiguration 在代理序列的不同部分配置覆盖提示,以提高内联代理的准确性。
    customerEncryptionArn 指定用于加密内联代理的 AWS KMS 密钥的亚马逊资源名称 (ARN)。
  3. 创建 AWS 身份和访问管理 (IAM) Access Management 角色并将本步骤中提到的策略附加到该角色。

    在调用内联代理之前,您必须创建一个 IAM 角色来提供使用 InvokeInlineAgent API 和访问 Lambda 函数、知识库和基础模型等资源的必要权限。

    按照创建向 IAM 用户委派权限的角色中的步骤,为您的内联代理创建自定义服务角色。创建 IAM 角色后,将以下策略附加到该角色。

    注意

    出于安全考虑,最佳做法是在创建您的账户 ID 和*.ids特定资源 ID 后,将、和替换为区域。${region} ${account-id}

    { "Version": "2012-10-17", "Statement": [ { "Sid": "InvokeInlineAgent", "Effect": "Allow", "Action": "bedrock:InvokeInlineAgent" } { "Sid": "InvokeFoundationModel", "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": "arn:aws:bedrock:${region}::foundation-model/{modelId}" }, { "Sid": "S3AccessForKBAndActions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectMetadata" ], "Resource": "arn:aws:s3:::" }, { "Sid": "S3AccessForCodeInterpreter", "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAttributes", "s3:GetObjectAttributes" ], "Resource": "arn:aws:s3:::bucket/path/to/file" }, { "Sid": "KnowledgeBaseAccess", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" }, { "Sid": "GuardrailAccess", "Effect": "Allow", "Action": "bedrock:ApplyGuardrail", "Resource": "arn:aws:bedrock:${region}:${account-id}:guardrail/${guardrail-id}" }, { "Sid": "LambdaInvoke", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:function-name" }, { "Sid": "KMSAccess", "Effect": "Allow", "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "arn:aws:kms:${region}:${account-id}:key/${key-id}" } ] }