AWS's Native LLM Strategy
Amazon Nova is Amazon's in-house family of foundation models, available exclusively through Amazon Bedrock. For teams already running workloads on AWS, Nova offers tight integration with IAM, VPC, CloudWatch, and S3 — without routing traffic through a third-party API.
The three-tier lineup covers different cost/capability tradeoffs:
| Model | Context | Best For | Price (Input) | |-------|---------|----------|---------------| | Nova Micro | 128k | Fast text tasks | $0.035/1M | | Nova Lite | 300k | Multimodal, balanced | $0.060/1M | | Nova Pro | 300k | Complex reasoning + multimodal | $0.800/1M |
Nova Micro is one of the cheapest commercially available LLMs at $0.035/1M input tokens.
Multimodal Input on Nova Lite and Pro
Nova Lite and Pro accept images, video clips, and documents alongside text:
import boto3
import json
import base64
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
with open("diagram.png", "rb") as f:
image_data = base64.b64encode(f.read()).decode()
response = bedrock.invoke_model(
modelId="amazon.nova-pro-v1:0",
body=json.dumps({
"messages": [
{
"role": "user",
"content": [
{
"image": {
"format": "png",
"source": {"bytes": image_data}
}
},
{"text": "Describe the architecture shown in this diagram."}
]
}
],
"inferenceConfig": {"max_new_tokens": 1024}
})
)
result = json.loads(response["body"].read())
print(result["output"]["message"]["content"][0]["text"])
Bedrock Converse API
The Converse API provides a unified interface across all Bedrock models — Nova, Claude, Llama, Mistral, and others — with the same request/response format:
response = bedrock.converse(
modelId="amazon.nova-pro-v1:0",
messages=[
{"role": "user", "content": [{"text": "Summarize the key risks in this contract."}]}
],
inferenceConfig={"maxTokens": 2048, "temperature": 0.3}
)
print(response["output"]["message"]["content"][0]["text"])
Switching from Nova Pro to Claude Sonnet is a one-line change — modelId only.
RAG With Bedrock Knowledge Bases
For enterprise document Q&A, Bedrock Knowledge Bases manages the full RAG pipeline: S3 ingestion, chunking, embedding (via Titan Embeddings), OpenSearch Serverless vector store, and retrieval:
bedrock_agent = boto3.client("bedrock-agent-runtime")
response = bedrock_agent.retrieve_and_generate(
input={"text": "What are the termination clauses in our supplier agreements?"},
retrieveAndGenerateConfiguration={
"type": "KNOWLEDGE_BASE",
"knowledgeBaseConfiguration": {
"knowledgeBaseId": "your-kb-id",
"modelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-pro-v1:0"
}
}
)
print(response["output"]["text"])
Cost vs OpenAI on AWS
Running GPT-4o via Azure OpenAI on AWS adds egress costs and cross-cloud latency. Nova Pro at $0.80/1M input is cheaper than GPT-4o at $2.50/1M, with all traffic staying within the AWS network.
Summary
Amazon Nova is the pragmatic choice for AWS-native teams: competitive pricing, deep ecosystem integration, and a unified API across all Bedrock models. Explore the model lineup at aws.amazon.com/bedrock/nova and the full Bedrock documentation at docs.aws.amazon.com/bedrock.