Skip to content

Conversation

@ottokruse
Copy link
Contributor

@ottokruse ottokruse commented Jul 29, 2025

Issue #, if available: N/A

Description of changes: TL;DR this change allows multi-modal agent invocations with the DynamoDB tracer and conversation history.

Fixed the DynamoDB mapper so that it works for binary messages as well (e.g. images). Before we used a trick where we went back and forth to JSON to coerce everything to DynamoDB compatibility--but that didn't work for bytes. So I fixed that and made it more proper now: boto3 wants Decimal instead of float, wraps bytes in Binary, doesn't understand datetime. It is not inconceivable there are other types we have to special case at some point but I don't know them yet right now, and what we have now works for the integration test (see next point).

Added an integration test showing how to do multi-modal agent invocations.

At some point we should make the GitHub action execute integration tests too, but that requires setting up credentials in the action. That's a bit too much work for me for now, so I'm keeping the integration tests out of the GitHub action. At least we can run them locally (using developer AWS credentials).

Another todo: we should document how to do multi-modal agent invocations in the README, and maybe consider making it easier and directly available on the Agent instance, instead of via conversation history (see test).

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

@ottokruse ottokruse marked this pull request as ready for review July 29, 2025 10:23
@ottokruse ottokruse merged commit abb38ef into awslabs:main Jul 29, 2025
1 check passed
@ottokruse ottokruse deleted the fix/dynamodb branch July 29, 2025 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants