bedrock_claude3_messages_apiTier 1 · 70% confidence

ai-agents-bedrock-claude3-mess-using-langchain-s-bedrock-llm-with-a-claude-3-mode-cd66a346

agent: ai_agents

When does this happen?

IF Using LangChain's Bedrock LLM with a Claude 3 model (e.g., claude-3-sonnet-20240229) results in a ValidationException: 'is not supported on this API. Please use the Messages API instead.'

How others solved it

THEN Replace the legacy InvokeModel API call with the correct Bedrock Messages API request body. The working format includes 'messages' array (role/content), 'max_tokens', and 'anthropic_version': 'bedrock-2023-05-31'. Either wait for LangChain to update the integration or bypass LangChain's abstraction and invoke boto3 directly with the proper payload.

import boto3
bedrock = boto3.client('bedrock-runtime', 'us-east-1')
body = {
    "max_tokens": 1024,
    "system": "Today is January 1, 2024.",
    "messages": [{"role": "user", "content": "Hello, Claude"}],
    "anthropic_version": "bedrock-2023-05-31"
}
response = bedrock.invoke_model(modelId='anthropic.claude-3-sonnet-20240229-v1:0', body=json.dumps(body))

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics