AWS Bedrock¶
Configure HolmesGPT to use AWS Bedrock foundation models.
Setup¶
Prerequisites¶
-
Install boto3: AWS Bedrock requires boto3 version 1.28.57 or higher:
-
AWS credentials: Ensure you have AWS credentials configured with access to Bedrock models. See AWS Docs.
Configuration¶
Create Kubernetes Secret:
kubectl create secret generic holmes-secrets \
--from-literal=aws-access-key-id="AKIA..." \
--from-literal=aws-secret-access-key="your-secret-key" \
-n <namespace>
Configure Helm Values:
# values.yaml
additionalEnvVars:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: holmes-secrets
key: aws-access-key-id
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: holmes-secrets
key: aws-secret-access-key
# Configure at least one model using modelList
modelList:
bedrock-claude-35-sonnet:
aws_access_key_id: "{{ env.AWS_ACCESS_KEY_ID }}"
aws_secret_access_key: "{{ env.AWS_SECRET_ACCESS_KEY }}"
aws_region_name: us-east-1
model: bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0
temperature: 1
bedrock-claude-sonnet-4:
aws_access_key_id: "{{ env.AWS_ACCESS_KEY_ID }}"
aws_secret_access_key: "{{ env.AWS_SECRET_ACCESS_KEY }}"
aws_region_name: eu-south-2
model: bedrock/eu.anthropic.claude-sonnet-4-20250514-v1:0
temperature: 1
thinking:
budget_tokens: 10000
type: enabled
# Optional: Set default model (use modelList key name, not the model path)
config:
model: "bedrock-claude-35-sonnet" # This refers to the key name in modelList above
Create Kubernetes Secret:
kubectl create secret generic robusta-holmes-secret \
--from-literal=aws-access-key-id="AKIA..." \
--from-literal=aws-secret-access-key="your-secret-key" \
-n <namespace>
Configure Helm Values:
# values.yaml
holmes:
additionalEnvVars:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: robusta-holmes-secret
key: aws-access-key-id
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: robusta-holmes-secret
key: aws-secret-access-key
# Configure at least one model using modelList
modelList:
bedrock-claude-35-sonnet:
aws_access_key_id: "{{ env.AWS_ACCESS_KEY_ID }}"
aws_secret_access_key: "{{ env.AWS_SECRET_ACCESS_KEY }}"
aws_region_name: us-east-1
model: bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0
temperature: 1
bedrock-claude-sonnet-4:
aws_access_key_id: "{{ env.AWS_ACCESS_KEY_ID }}"
aws_secret_access_key: "{{ env.AWS_SECRET_ACCESS_KEY }}"
aws_region_name: eu-south-2
model: bedrock/eu.anthropic.claude-sonnet-4-20250514-v1:0
temperature: 1
thinking:
budget_tokens: 10000
type: enabled
# Optional: Set default model (use modelList key name, not the model path)
config:
model: "bedrock-claude-35-sonnet" # This refers to the key name in modelList above
Finding Your AWS Credentials¶
If the AWS CLI is already configured on your machine, you may be able to find the above values with:
Finding Available Models¶
To list models your account can access (replacing us-east-1
with the relevant region):
Important: Different models are available in different regions. For example, Claude Opus is only available in us-west-2.
Model Name Examples¶
Be sure to replace <your-bedrock-model>
with a model you have access to, such as anthropic.claude-opus-4-1-20250805-v1:0
or anthropic.claude-sonnet-4-20250514-v1:0
Additional Resources¶
HolmesGPT uses the LiteLLM API to support AWS Bedrock provider. Refer to LiteLLM Bedrock docs for more details.