Skip to content

Conversation

elizabethfuentes12
Copy link

Description

This PR introduces a new Amazon S3 Vector Memory tool that provides AWS-native memory management for Strands agents using Amazon S3 Vectors as the backend storage.

Key Features:
• Persistent memory storage using Amazon S3 Vectors with vector similarity search
• Automatic user isolation for security (all operations require user_id)
• Three core operations: store, retrieve, and list memories
• Integration with Amazon Bedrock for text embeddings (default: amazon.titan-embed-text-v2:0)
• Flexible configuration via environment variables with sensible defaults
• Similarity-based memory retrieval with configurable thresholds
• Automatic memory key generation with timestamps and unique identifiers

Use Cases:
• Multi-session agent conversations with persistent context
• User-specific memory isolation in multi-tenant applications
• Scalable memory backend for production agent deployments
• AWS-native alternative to existing memory solutions

Related Issues

Documentation PR

Type of Change

New Tool

Testing

How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli

  • I ran hatch run prepare
  • Tested locally with basic functionality validation
  • Verified user isolation and error handling
  • Confirmed all validation checks work correctly
  • Applied code formatting with ruff (all checks pass)

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

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

Elizabeth added 2 commits September 20, 2025 13:47
- Provides persistent memory storage using Amazon S3 Vectors
- Includes automatic user isolation for security
- Supports store, retrieve, and list operations
- Uses Amazon Bedrock for text embeddings
- Configurable via environment variables
- Provides persistent memory storage using Amazon S3 Vectors
- Includes automatic user isolation for security
- Supports store, retrieve, and list operations
- Uses Amazon Bedrock for text embeddings
- Configurable via environment variables

Usage:
from strands import Agent
from strands_tools.s3_vector_memory import s3_vector_memory
Copy link
Member

Choose a reason for hiding this comment

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

I'd love to add more abilities into s3 vector implementation like scaffolding an S3 vectors when it's not available,

here's one example implementation: https://github.com/strands-agents/samples/blob/feat/research-agent-sample/02-samples/14-research-agent/src/strands_research_agent/tools/s3_memory.py

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