Building an AWS Solution Architect Agent with Amazon Bedrock
Tips and guidance on building a Generative AI Agents
Banjo Obayomi
Amazon Employee
Published Apr 23, 2024
Wow lots of changed since I built my original Agent AWS in June 2023. Newer models and new frameworks have made it easier to build generative AI Agents.
An "agent" is a Large Language Model (LLM) with a predefined prompt and access to a specific set of “tools”, which are self-contained functions designed to perform a specific task.
For instance, these tools could include getting external data or posting content. Agent AWS leverages custom built tools to query AWS documentation, generate code, and create architectural diagrams.
Lets walk through how I was able to recreate Agent AWS with the new features that are on Amazon Bedrock.
The Agent setup process is very smooth, I can select my system prompt, and choose the latest models. Having Claude Haiku is a gamer changer. It's speed and intelligence have been well highlighted, and having it act as the "brains" for my agent is a huge improvement from the old LLMs from last year.
My previous agent, I had to create a standalone tool to perform Retrieval augmented generation (RAG). This required me to write code to mange the embedding function and to use the vector database. But now Amazon Bedrock supports Knowledge Bases which allows me to upload documents to an S3 bucket, and then I'm able to create a RAG endpoint without having to write a single line of code!
Once the knowledge base is up, I can test it right then and there. There is even an option to upload a document without creating a knowledge base if you just wanted to test chatting with your documents.
Once the knowledge base is created, it was simple to add it as a "tool" for my agent. You can even customize a prompt for how the RAG function should operate.
.
Previously I had to write lots of boilerplate code, and helps to wrap logic to create tools for my older agents. This time I wanted to test how the new action groups work for creating tools for Agent AWS.
I started off with a simple writing code tool using the new lambda quick create feature which creates a lambda function for you.
When I go to the Lambda console, a new function ready to go. I can add my custom business logic into the template.
With my custom tools added, it was quite easy to use the agent in the console and inspect how it makes its decisions. Also using Claude Haiku made this very fast!! Agent AWS can also be invoked via code as well.
Overall the agent experience is much improved, and I'm looking forward to see what type of agents the community will build!!!
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.