A multi-agent AI system for retail optimisation using AWS Strands Agents framework, powered by Amazon Nova Micro via AWS Bedrock.
This system consists of three specialised AI agents (Pricing, Inventory, and Promotion) that collaborate to reduce waste and maximise profit through intelligent decision-making and real-time adaptations to market conditions.
- AWS Strands Agents: Multi-agent orchestration framework
- Amazon Nova Micro: LLM via AWS Bedrock
- ChromaDB: Vector database for agent memory
- Langfuse: Observability and tracing
- Python 3.9 or higher
- uv package manager
- AWS account with Bedrock access
- AWS credentials configured
-
Install uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Clone and setup the project:
git clone https://github.com/errchh/aws-ai-hackathon-autoops.git cd aws-ai-hackathon-autoops -
Create virtual environment and install dependencies:
uv venv source .venv/bin/activate uv sync -
Configure environment variables:
cp .env.example .env # Edit .env with your AWS credentials and configuration -
Start simulation engine:
uv run main.py
- Enable AWS Bedrock access for Amazon Nova Micro model in your AWS account
- Configure AWS credentials in
.envfile or use AWS CLI/IAM roles - Ensure proper IAM permissions for Bedrock model access
- Create a Langfuse account at langfuse.com
- Create a new project in your Langfuse dashboard
- Get your API credentials from the project settings
Key configuration variables in .env:
AWS Configuration:
AWS_REGION: AWS region (default: us-east-1)AWS_ACCESS_KEY_ID: Your AWS access keyAWS_SECRET_ACCESS_KEY: Your AWS secret keyBEDROCK_MODEL_ID: Amazon Nova Micro model ID
Langfuse Configuration:
LANGFUSE_PUBLIC_KEY: Your Langfuse public keyLANGFUSE_SECRET_KEY: Your Langfuse secret keyLANGFUSE_HOST: Langfuse host URL (default: https://cloud.langfuse.com)
ChromaDB Configuration:
CHROMADB_PERSIST_DIRECTORY: Local directory for vector database
