Amazon Q Developer - 自定义

Amazon Q 自定义是一组元素,允许 Amazon Q 根据您公司的代码库提供建议。您将数据源与代码库连接起来,Amazon Q 会使用此内容提供针对您组织的开发风格量身定制的帮助。

先决条件

要使用 Amazon Q 自定义,请遵循 Amazon Q Developer Pro 设置流程,包括将需要访问自定义的用户添加到您的个人资料中。

授权您的管理员

要使用 Amazon Q 自定义,您的 Amazon Q 管理员需要访问存储在 Amazon S3 上或通过 AWS CodeConnections 存储的代码库。但是,在标准 Amazon Q Developer Pro 设置过程中,您的 AWS Organizations 管理员不会授予对这些服务的访问权限。

因此,在使用 Amazon Q 自定义之前,您必须向 Amazon Q 管理员的角色添加以下权限:

{
    "Version": "2012-10-17",
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "sso-directory:DescribeUsers"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:CreateCustomization",
                "codewhisperer:DeleteCustomization",
                "codewhisperer:ListCustomizations",
                "codewhisperer:UpdateCustomization",
                "codewhisperer:GetCustomization",
                "codewhisperer:ListCustomizationPermissions",
                "codewhisperer:AssociateCustomizationPermission",
                "codewhisperer:DisassociateCustomizationPermission"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codeconnections:ListConnections",
                "codeconnections:ListOwners",
                "codeconnections:ListRepositories",
                "codeconnections:GetConnection"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "codeconnections:UseConnection",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "codeconnections:ProviderAction": [
                        "GitPull",
                        "ListRepositories",
                        "ListOwners"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject*",
                "s3:GetBucket*",
                "s3:ListBucket*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

准备数据

在为 Amazon Q Customizations 准备数据源时,请牢记以下关键概念:

  • 添加符合团队鼓励的模式的代码。
  • 避免使用有错误、安全漏洞、性能问题等的代码。
  • 确保数据源包含至少 2 MB 和最多 20 GB 的源代码文件。
  • 大于 10 MB 的文件将被忽略。
  • 为您希望自定义支持的每种语言至少包含 10 个文件。
  • 将源代码放在 Amazon S3 数据源的目录中,而不是根级别。
Amazon Q Customizations 支持以下语言和文件扩展名:
  • Java (.java)
  • JavaScript (.js, .jsx)
  • Python (.py)
  • TypeScript (.ts, .tsx)

在聊天中启用自定义

要在聊天中启用自定义,请使用以下步骤。

  • 转到 Amazon Q 开发人员控制台。
  • 从导航面板中选择设置
  • 选择查看设置
  • 详细信息下,选择编辑
  • 高级设置下,选中启用聊天自定义功能旁边的复选框。
  • 选择保存更改。

创建您的自定义

要创建自定义,请按照以下步骤操作:

  • 要设置 Amazon Q Developer Pro,请启用 IAM Identity Center,授权管理员使用 Amazon Q Developer,然后激活 Amazon Q Developer 控制台。
  • 打开 Amazon Q Developer 控制台。
  • 从左侧的导航窗格中选择自定义
  • 将出现自定义页面。
  • 选择创建自定义
  • 输入自定义名称和(可选)说明。

连接到数据源

要通过 CodeConnections 连接到数据源,请按照以下步骤操作:

  • 连接到源提供商下,选择 CodeConnections。
  • 如果您使用现有连接,请选择选择现有连接。然后,在选择连接下,从下拉列表中选择您的连接。否则,选择创建新连接
  • 在打开的弹出窗口中,导航到您的数据源并按照控制台中的说明进行操作。
  • 创建数据源后,返回创建自定义页面。
  • 选择连接下,从下拉列表中选择您的连接。

要通过 Amazon S3 连接到您的数据源,请按照以下步骤操作:

  • 连接到源提供商下,选择 Amazon S3。
  • 选择浏览 Amazon S3
  • 导航到包含您的代码库的存储桶或文件夹并记下 URI。
  • 将 URL 粘贴到标有输入Amazon S3 URI

自定义创建问题

您可以通过以下方式排除以下错误:

  • 您可能会收到错误:"提供的存储库的总大小超出了自定义允许的最大大小"。在这种情况下,请从数据源中删除存储库,然后重试。
  • 您可能会收到错误:"数据不足,无法创建自定义。从支持的语言中添加更多文件,然后重试"。如果您收到此错误,请添加更多包含自定义重点编程语言的文件,然后重试。

删除您的自定义

要删除您的自定义,请按照以下步骤操作:

  • 打开 Amazon Q Developer 控制台。
  • 从左侧的导航窗格中选择自定义
  • 自定义页面将出现。
  • 如果您要删除的自定义仍处于活动状态,请选择停用
  • 选择删除

评估您的自定义

要评估您的自定义,请按照以下步骤操作:

  • 在 Amazon Q Developer 控制台中,从导航面板中选择自定义
  • 选择要检查的自定义的名称。
  • 窗口右侧的评估分数显示您的自定义效果,由 Amazon Q 评估。

优化您的自定义

要优化您的自定义,请按照以下步骤操作:

  • 考虑扩展您的数据源以包含更多代码存储库。
  • 如果您主要包含有限语言的数据,请考虑扩展到更多编程语言。
  • 删除自动生成的文件和存储库,或从模板生成的文件和存储库,因为它们会增加噪音,并且对于训练自定义没有价值。
  • 如果您的代码库很少使用内部库,则核心 Amazon Q 模型可能已经达到最佳性能。

日志记录和故障排除

Amazon Q可以为您提供日志文件,帮助您了解和解决自定义问题。

设置日志传送

要设置日志传送,请在控制台页面上选择自定义的日志传送选项卡。按照界面中的说明配置日志传送。然后选择创建日志传送

传送到 Amazon S3 存储桶的日志的前缀将是:
AWSLogs/account_id/codeWhispererCustomizationLogs/region/customization_id/year/month/day/hour/

文件将被压缩,命名格式如下:
account_id_codeWhispererCustomizationLogs_customization_id_date_file_id.log.gz

解释自定义日志

下表列出了可能有助于您了解自定义问题的日志消息。

日志消息 日志级别
开始从源提取数字存储库 信息
从存储库下载数据:存储库名称 信息
已接收支持的数据量 MB。需要量 MB。添加更多数据并重试。 错误
提供的 CodeStar 连接 ARN:Arn 无效。 错误
尝试访问提供的 CodeStar 连接时拒绝访问:Arn 错误
使用 AWS CodeStar 连接下载失败:Arn 可能已被客户删除 错误
克隆存储库:存储库时,CodeStar 连接:Arn 出现 ProviderThrottlingException 错误
处理来自 S3 的数据:S3 URI 信息
指定的 S3 路径无效:S3 目录 错误
无法访问提供的 S3 存储桶:存储桶名称 错误
提供的 S3 存储桶:存储桶名称不存在。 错误
提供的 S3 密钥 S3 URI 不存在。 错误

自定义错误消息

下表将帮助您了解 Amazon Q 控制台中的自定义相关消息。

错误消息 建议的操作
您已激活最大数量的自定义。 停用活动自定义并重试。
您已超出最大组权限限制 限制。 删除组并重试。
您已超出最大用户权限限制 限制。 删除用户并重试。
已达到最大活动作业数。 等待同一账户中正在进行的作业完成。重试该操作。
处理请求时遇到意外错误。 重试该操作。如果仍然失败,请联系客户支持。
使用 AWS CodeStar 连接下载失败:Arn 可能已被客户删除 尝试访问提供的 AWS CodeConnections 连接时被拒绝访问。
尝试访问提供的 AWS CodeConnections 连接时被拒绝访问 验证您的连接和第三方提供商的权限。然后重试该操作。
访问提供的 AWS CodeConnections 连接时未找到一个或多个存储库。 验证来自第三方提供商的权限和存储库列表。然后重试该操作。
提供的 AWS CodeConnections 连接 ARN 无效。 使用更正的连接 ARN 更新自定义。
与提供的 AWS CodeConnections 连接关联的主机不可用。 5 分钟后重试。
指定的 Amazon S3 路径无效。 使用有效的 Amazon S3 URI 更新自定义。
无法访问提供的 Amazon S3 存储桶。 验证管理员角色的权限。修复任何权限问题后重试。

激活您的自定义

要激活您的自定义版本,请按照以下步骤操作:

  • 打开 Amazon Q Developer 控制台。
  • 从左侧的导航窗格中选择自定义
  • 选择要为其激活版本的自定义。
  • 版本表中选择要激活的版本。
  • 选择激活

更新您的自定义

要创建您的自定义的新版本,请按照以下步骤操作:

  • 打开 Amazon Q Developer 控制台。
  • 从左侧的导航窗格中选择自定义
  • 选择要为其激活版本的自定义您想要创建新版本。
  • 操作下拉菜单中选择创建新版本
  • 如果适用,请更改数据源。
  • 选择创建

添加用户和组

要将用户和组添加到您的 Amazon Q 自定义项中,请按照以下步骤操作:

  • 在 Amazon Q 开发人员控制台中,从导航面板中选择自定义项
  • 选择您要向其添加用户或组的自定义项的名称。
  • 在窗口的下半部分,如有必要,选择用户和组选项卡。然后选择用户或组子选项卡。
  • 选择需要访问您的自定义的用户或组。
  • 选择添加用户添加组

使用 Amazon Q 自定义

要将自定义与 VS Code 结合使用,请按照以下步骤操作:

  • 使用 IAM Identity Center 向 Amazon Q Developer Pro 进行身份验证,具体步骤请参见在 IDE 中安装 Amazon Q Developer 扩展或插件。
  • 开发人员工具窗格中的 Amazon Q 下,选择选择自定义
  • 在窗口顶部的下拉菜单中选择适当的自定义。

要将自定义与 JetBrains 结合使用,请按照以下步骤操作以下:

  • 使用在 IDE 中安装 Amazon Q Developer 扩展或插件下的步骤,使用 IAM Identity Center 向 Amazon Q Developer Pro 进行身份验证。
  • Developer Tools 窗格中的 Amazon Q 下,选择 Select Customization
  • 在弹出窗口中,选择适当的自定义。
  • 选择 Connect