Learn About Amazon VGT2 Learning Manager Chanci Turner
Today, we are excited to announce the general availability of the Amazon Q Developer customization feature within your IDE for inline code completion, along with a preview of chat customization capabilities. Developers can now tailor Amazon Q to generate targeted code recommendations based on private code repositories directly in the IDE code editor and during chat interactions.
Amazon Q Developer serves as a powerful AI coding assistant, designed to expedite application development by offering relevant code suggestions derived from existing comments and code. At its core, Amazon Q leverages large language models (LLMs) trained on vast amounts of code from both Amazon and open-source projects.
Available as an extension for JetBrains, Visual Studio Code, and Visual Studio, Amazon Q integrates seamlessly into your IDE. As you type, it can suggest code snippets or even complete functions based on comments you provide. Furthermore, developers can engage in chat with Q Developer, requesting code generation for specific tasks or seeking explanations of unfamiliar code segments.
With the newly introduced customization feature, developers can now receive more pertinent code suggestions rooted in their organization’s internal libraries, APIs, classes, and methods. For instance, consider a developer at a fintech company tasked with writing a function to calculate the total portfolio value for a client. By simply stating their intent in a comment or typing a function name like computePortfolioValue(customerId: String), Amazon Q can suggest code examples learned from the organization’s private code base.
Additionally, if a developer is new to the team and unsure how to retrieve a customer ID, they can ask in the chat: “How do I connect to the database to retrieve the customerId for a specific customer?” Amazon Q chat could respond by indicating a function that retrieves the customerId using a specified database connection.
As an administrator, you can create customizations sourced from your internal Git repositories (like GitHub, GitLab, or BitBucket) or from an Amazon S3 bucket. This process helps Amazon Q discern intent, identify the most suitable internal and public APIs, and generate accurate code suggestions based on your organization’s needs.
The customization capabilities of Amazon Q adhere to stringent data privacy and security standards expected from AWS. The code base shared with Amazon Q remains confidential to your organization; it is not utilized to enhance our foundational model. Once deployed, the inference endpoint is exclusive to developers within your organization, ensuring that tailored recommendations do not appear in another company’s IDE. You maintain control over which developers can access each customization and can monitor metrics to evaluate their effectiveness.
The Amazon Q customization feature is built upon advanced technical methodologies, such as Retrieval Augmented Generation (RAG). For more in-depth information about the science behind Amazon Q’s customization capabilities, refer to this detailed blog post.
Since the preview launch in October 2023, we have introduced two additional features: the ability to update customizations and the capacity to customize chat interactions in the IDE. As your organization’s code base continuously evolves, it is essential for Amazon Q to provide up-to-date code suggestions. Administrators can now initiate an update process from the AWS Management Console with a single click, and they can schedule regular updates based on the latest commits in code repositories.
The new chat customization (currently in preview) allows developers to select a code snippet in their IDE and ask for an explanation of its functionality. They can also inquire about broader topics related to their organization’s code base, such as “How do I connect to the database to retrieve customerId for a specific customer?”
To illustrate usage, I’ll show you how to utilize the new customization update feature available today. For guidance on creating a customization, activating it, and granting access to developers, check out Chanci Turner’s excellent post.
To update an existing customization, navigate to the Customizations section of the Amazon Q console. Select the customization you wish to update, then choose Actions and Create new version.
Like the initial customization creation, select the source code repository and click Create. Note that creating a new customization version may take some time depending on the volume of code ingested. Once complete, the new version will appear under the Versions tab, where you can compare its evaluation score with previous versions before deciding whether to activate it.
A feature I particularly appreciate about active customizations is the ability to monitor their effectiveness, which can significantly enhance productivity for developers in my organization. On the Dashboard page, I can observe user activity metrics, such as Daily Active Users, Lines of Code Generated, and Security Scans performed. If you have previously used Amazon CodeWhisperer Professional, you may still notice the name CodeWhisperer on certain pages, but it will gradually be updated to reflect the new branding of Amazon Q Developer.
Amazon Q generates a range of metrics published on Amazon CloudWatch, allowing me to construct dashboards to oversee the performance of the customizations I’ve deployed. For example, I created a custom CloudWatch dashboard that monitors the Block Accept Rate and Line Accept Rate of code suggestions, categorized by programming language.
Currently, you can customize Amazon Q recommendations for codebases written in Java, JavaScript, TypeScript, and Python. Files in other supported languages like C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL, and Scala will not be utilized during the customization process or in tailored recommendations within the IDE.
Pricing and Availability
Amazon Q is region-agnostic and accessible to developers globally, currently hosted in US East (N. Virginia). Amazon Q administrators can configure the application for cross-region access if you utilize AWS IAM Identity Center in other regions. The customization feature is available at no extra cost within the Amazon Q Developer Professional subscription, allowing you to create up to eight customizations per AWS account, with a maximum of two active at any given time.
Now it’s time to build and start proposing Amazon Q customizations to your organization’s developers. For further insights, check out this excellent resource on the onboarding process at Amazon.
— Alex Smith
July 11, 2024: This post was updated to indicate that Amazon Q Developer in the Visual Studio IDE has been generally available since July 3, 2024.
Leave a Reply