기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Anthropic Messages API를 사용한 추론
Anthropic Messages API는 Anthropic 요청 및 응답 형식을 사용하여 Claude 모델에 대한 기본 액세스를 제공합니다. bedrock-runtime 및 bedrock-mantle 엔드포인트 모두에서 메시지 API를 사용할 수 있습니다. 새 애플리케이션의 경우 bedrock-runtime 엔드포인트를 사용하는 것이 좋습니다.
| Endpoint |
기본 URL |
사용 사례: |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com/anthropic |
새 애플리케이션에 권장됩니다. AWS SDK 통합, IAM 인증 및 호출 로깅을 사용합니다. |
bedrock-mantle |
https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages |
Amazon Bedrock API 키 인증 및를 지원합니다Workspaces(Anthropic 호환). |
지원되는 리전:
Messages API는 Claude 모델을 사용할 수 있는 모든 리전의 bedrock-runtime 엔드포인트에서 사용할 수 있습니다. 세부 정보는 모델별 리전별 가용성 섹션을 참조하세요. bedrock-mantle 엔드포인트에서는가 지원하는 모든 리전에서 사용할 수 있습니다bedrock-mantle( 참조지원되는 리전 및 엔드포인트).
사전 조건
메시지 API를 사용하기 전에 다음이 있는지 확인합니다.
기본 요청
Claude 모델에 기본 메시지를 보내려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.
- bedrock-runtime (Python, Anthropic SDK)
-
aws-bedrock-token-generator 보유자 토큰을 사용하여 bedrock-runtime 엔드포인트의 /anthropic 경로에 Anthropic SDK를 사용합니다.
from anthropic import Anthropic
from aws_bedrock_token_generator import provide_token
token = provide_token(region="us-east-1")
client = Anthropic(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/anthropic",
api_key=token,
)
response = client.messages.create(
model="global.anthropic.claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
)
print(response.content[0].text)
- bedrock-runtime (Python, boto3)
-
import boto3
import json
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.invoke_model(
modelId="anthropic.claude-sonnet-5",
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
})
)
result = json.loads(response["body"].read())
print(result["content"][0]["text"])
- bedrock-runtime (AWS CLI)
-
AWS CLI를 사용하여 모델을 호출합니다.
aws bedrock-runtime invoke-model \
--model-id anthropic.claude-sonnet-5 \
--body '{
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}' \
--cli-binary-format raw-in-base64-out \
output.json
- bedrock-runtime (curl)
-
AWS SigV4로 요청에 서명하여 curl로 bedrock-runtime 직접를 호출할 수 있습니다. 아래 예제에서는 curl의 기본 제공 --aws-sigv4 플래그를 사용합니다(curl 7.75.0 이상에서 사용 가능).
curl -X POST \
"https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-sonnet-5/invoke" \
-H "Content-Type: application/json" \
--aws-sigv4 "aws:amz:us-east-1:bedrock" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
-d '{
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}'
AWS STS의 임시 자격 증명(예: 수임된 역할)을 사용하는 경우 -H "X-Amz-Security-Token: $AWS_SESSION_TOKEN" 요청에를 추가하여 세션 토큰도 전달합니다. 대부분의 사용 사례에서는 요청 서명 및 자격 증명 새로 고침을 자동으로 처리하는 AWS SDKs 또는 CLI를 사용하는 것이 좋습니다.
- bedrock-runtime (curl, API key)
-
bedrock-mantle다음과 같이 Anthropic 네이티브 /anthropic/v1/messages 경로를 사용하여 bedrock-runtime Amazon Bedrock API 키를 사용하여를 호출할 수도 있습니다.
curl -X POST https://bedrock-runtime.us-east-1.amazonaws.com/anthropic/v1/messages \
-H "x-api-key: $AWS_BEARER_TOKEN_BEDROCK" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "us.anthropic.claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}'
- bedrock-mantle (curl)
-
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
-H "x-api-key: $BEDROCK_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic.claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}'
스트림 응답
응답 토큰이 생성될 때 증분식으로 수신하려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.
- bedrock-runtime (Python, Anthropic SDK)
-
from anthropic import Anthropic
from aws_bedrock_token_generator import provide_token
token = provide_token(region="us-east-1")
client = Anthropic(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/anthropic",
api_key=token,
)
with client.messages.stream(
model="global.anthropic.claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Write a short poem about cloud computing."}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
- bedrock-runtime (Python, boto3)
-
import boto3
import json
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.invoke_model_with_response_stream(
modelId="anthropic.claude-sonnet-5",
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Write a short poem about cloud computing."}
]
})
)
for event in response["body"]:
chunk = json.loads(event["chunk"]["bytes"])
if chunk["type"] == "content_block_delta":
print(chunk["delta"]["text"], end="")
- bedrock-runtime (curl, API key)
-
curl -X POST https://bedrock-runtime.us-east-1.amazonaws.com/anthropic/v1/messages \
-H "x-api-key: $AWS_BEARER_TOKEN_BEDROCK" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "us.anthropic.claude-sonnet-5",
"max_tokens": 1024,
"stream": true,
"messages": [
{"role": "user", "content": "Write a short poem about cloud computing."}
]
}'
- bedrock-mantle (curl)
-
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
-H "x-api-key: $BEDROCK_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic.claude-sonnet-5",
"max_tokens": 1024,
"stream": true,
"messages": [
{"role": "user", "content": "Write a short poem about cloud computing."}
]
}'
지원되는 기능
Messages API는 위의 확장된 사고, 적응형 사고, 구조화된 출력, 압축, 거부된 요청에 대한 폴백 크레딧(베타) 및 중간 대화 시스템 메시지 섹션 외에도 Claude 모델을 통해 다음과 같은 기능을 지원합니다.
-
시스템 프롬프트 - system 파라미터를 사용하여 모델 동작을 설정합니다.
-
멀티턴 대화 - 교대 user 및 assistant 메시지를 전달합니다.
-
도구 사용 - 모델이 호출할 수 있는 도구를 정의합니다. 도구를 사용하여 Amazon Bedrock 모델 응답 완성을(를) 참조하세요.
-
비전 - content 배열의 이미지를 텍스트와 함께 전송합니다.
-
프롬프트 캐싱 - 캐시가 자주 사용하는 컨텍스트를 사용하여 지연 시간과 비용을 줄입니다.
전체 메시지 API 요청 및 응답 필드 참조는 섹션을 참조하세요요청 및 응답.
토큰 수 계산
요청이 추론을 위해 전송하기 전에 사용할 입력 토큰 수를 계산하려면 bedrock-mantle 엔드포인트에서 Anthropic count_tokens 경로를 사용합니다. 교차 리전 추론(CRIS)으로만 시작하는 Claude 모델을 포함하여 리전별 엔드포인트bedrock-runtime가 있는에서 사용할 수 없는 Claude 모델에 대해 지원되는 유일한 토큰 계산 경로입니다. 자세한 정보 및 예제는 bedrock-mantle 엔드포인트를 사용하여 토큰 수 계산 섹션을 참조하세요.