AxiomAi.BedrockAuth (AxiomAI v0.1.2)

View Source

AWS Bedrock authentication and request signing utilities.

Summary

Functions

Creates an AWS request for Bedrock Runtime InvokeModel API.

Formats model-specific payload for different Bedrock models.

Gets AWS credentials from configuration or environment.

Parses model-specific response from different Bedrock models.

Functions

create_invoke_model_request(model_id, region, payload, aws_config)

@spec create_invoke_model_request(String.t(), String.t(), map(), map()) :: map()

Creates an AWS request for Bedrock Runtime InvokeModel API.

format_model_payload(model_id, message, config)

@spec format_model_payload(String.t(), String.t(), map()) :: map()

Formats model-specific payload for different Bedrock models.

get_aws_config(config)

@spec get_aws_config(map()) :: map()

Gets AWS credentials from configuration or environment.

Supports multiple authentication methods:

  • Direct access_key and secret_key in config
  • AWS environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
  • AWS profiles (~/.aws/credentials)
  • IAM roles (for EC2/ECS/Lambda)

parse_model_response(model_id, response)

@spec parse_model_response(String.t(), map()) :: {:ok, String.t()} | {:error, any()}

Parses model-specific response from different Bedrock models.