Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(event_handler): add bedrock agent resolver documentation #3602

Merged
merged 54 commits into from Mar 5, 2024

Conversation

rubenfonseca
Copy link
Contributor

@rubenfonseca rubenfonseca commented Jan 8, 2024

Issue number: #3326

Summary

Changes

Please provide a summary of what's being changed

This PR adds documentation to the Bedrock Agent resolver feature.

Note: to allow sharing content between REST and Bedrock Agents resolvers, some content was moved to shared files and imported in both sides.

User experience

Please share what the user experience looks like before and after this change

image

Checklist

If your change doesn't seem to apply, please leave them unchecked.

Is this a breaking change?

RFC issue number:

Checklist:

  • Migration process documented
  • Implement warnings (if it can live side by side)

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

@boring-cyborg boring-cyborg bot added the documentation Improvements or additions to documentation label Jan 8, 2024
@pull-request-size pull-request-size bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Jan 8, 2024
@rubenfonseca rubenfonseca marked this pull request as ready for review January 8, 2024 15:17
@rubenfonseca rubenfonseca requested a review from a team as a code owner January 8, 2024 15:17
@leandrodamascena leandrodamascena linked an issue Jan 8, 2024 that may be closed by this pull request
1 task
Copy link

sonarcloud bot commented Jan 9, 2024

Quality Gate Passed Quality Gate passed

The SonarCloud Quality Gate passed, but some issues were introduced.

1 New issue
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new Resolver for Bedrock Agents is truly a game changer @rubenfonseca!

I left some comments and I think we need to make it more clear to the customers:

1 - Create a diagram explaining how the Bedrock Agent works with Lambda.
2 - Add the video you are creating to make clear the amazing value-added of this utility.
3 - We need to rethink some sections of this documentation. I think we are investing a lot of documentation in SwaggerUI and not enough in Bedrock Agent, and the problems that this new Resolver solves.

Thanks brother ❤️

docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
@heitorlessa heitorlessa changed the title chore(docs): add bedrock agent resolver documentation docs(event-handler): add bedrock agent resolver documentation Feb 5, 2024
@rubenfonseca rubenfonseca removed this from the Bedrock Agent in Event Handler milestone Feb 7, 2024
Copy link

sonarcloud bot commented Feb 9, 2024

Please retry analysis of this Pull-Request directly on SonarCloud

@heitorlessa
Copy link
Contributor

heitorlessa commented Feb 13, 2024

Bedrock review

I love the user-experience. It makes authoring Agents as easy as writing an API - straight to the point, readable by anyone.

For documentation, these are key areas we discussed during docs review that can take the current documentation to the next level:

Tip

Mental model
We treat documentation as a product. Customers come to solve a known problem but stay to learn how to solve other problems they didn't know they had (or could have).

  • From zero to hero. Make use of the Terminology section, diagrams, and progressive examples that go from trivial to non-trivial. The Data Masking is a good reference to borrow ideas on how to make an incredibly complex subject more approachable to many personas. [Problem] As of now, the docs work great for an expert who is looking to turn this task more productive. They may or may not know about how to use Pydantic integration to make data validation a breeze here. For the non-expert, non-developer, we risk losing them from even trying as it will feel foreign to them - they may or may not be coming from official docs, social media, or from our own docs hoping to squeeze more from the project's feature set.

  • Expand on setup needed. Make use of the Required resources and IAM permissions sections, and a table to split up what needs to happen before-hand. We can lower the bar for entry by being upfront of steps they need to do with Bedrock Agents vs AWS Lambda vs code they will need to author with Powertools - we can link them too. [Problem] The mental model you laid down is great on the steps that are needed to get this working, it just needs more details, anchors, and prevent a "tab hell" by exploring multiple locations to get to the first "wow" moment.

  • Explain the mechanics. Use Sequence diagrams to help customers go from a high level diagram to understanding what's the complexity we're abstracting to make their lives easier. This will help demystify Bedrock Agents, who is responsible for what, and create a better picture in their heads (information turned knowledge). [Problem] The first diagram is great! We can however take this opportunity to feed customers hungry for knowledge in this difficult field, since we know it takes a humongous effort to understand the pieces of the puzzle.

Items

  • Bedrock Agents trademark - do we have to use Agents for Amazon Bedrock or can we stay as-is
  • Link to OpenAPI Schema definition
  • Focus on non-developers too
  • Explicit IAM permissions
  • Decide on pydantic install extra group -- should we use data-validation (reuse), or bedrock?
  • Be aware of the use of Powertools instead of Powertools for AWS; sometimes you can use simply Event Handler resolvers
  • Correct Input/Output payload
  • Create a new section with an use case you use information available in the input payload
  • Move data validation to Getting Started, and provide a less trivial example
  • Create an example on additional metadata and/or OpenAPI params to demonstrate the value with an use case
  • Change implementation to make "description" field being derived automatically
  • Include Agents for Bedrock video

PS: @hjgraca please chime in if I missed anything from today's session.

Copy link
Contributor

@am29d am29d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor changers

Copy link
Contributor

@sthulb sthulb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a few places where you're using a singular agent as "Agent" (cap 'A') where it should be lower case. "Agent" refers to the feature not the concept (if that makes sense)

docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
docs/core/event_handler/bedrock_agents.md Outdated Show resolved Hide resolved
sthulb
sthulb previously approved these changes Mar 5, 2024
Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @rubenfonseca! We have some wrong characters that are breaking the links. I made suggestions to correct it.

docs/core/event_handler/api_gateway.md Outdated Show resolved Hide resolved
docs/core/event_handler/api_gateway.md Outdated Show resolved Hide resolved
docs/core/event_handler/api_gateway.md Outdated Show resolved Hide resolved
Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @rubenfonseca! Another batch of small suggestions! Thanks.

Copy link

sonarcloud bot commented Mar 5, 2024

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
5.9% Duplication on New Code

See analysis details on SonarCloud

@rubenfonseca
Copy link
Contributor Author

@leandrodamascena sorry for the mess, everything should be fixed now

Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congrats to everyone who contributed to this PR. We always make a difference in the lives of our customers when we provide very clear and concise documentation.

APPROVED!

@rubenfonseca rubenfonseca changed the title docs(event-handler): add bedrock agent resolver documentation docs(event_handler): add bedrock agent resolver documentation Mar 5, 2024
@rubenfonseca rubenfonseca merged commit f3de704 into develop Mar 5, 2024
14 checks passed
@rubenfonseca rubenfonseca deleted the rf/bedrock-agents-docs branch March 5, 2024 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation event_handlers size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docs: New Bedrock Agent Resolver in Event Handler
5 participants