View a markdown version of this page

bedrock-mantle 엔드포인트의 Chat Completions API - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

bedrock-mantle 엔드포인트의 Chat Completions API

OpenAI Chat Completions API는 Amazon Bedrock 모델을 사용하여 대화형 응답을 생성합니다. 새 애플리케이션의 경우 bedrock-runtime 엔드포인트를 사용하는 것이 좋습니다( 참조Chat Completions API(레거시 참조)). 이 페이지에서는 완전히 지원되는 bedrock-mantle 엔드포인트의 API를 문서화합니다. 전체 API 세부 정보는 OpenAI 채팅 완료 설명서를 참조하세요.

Endpoint 기본 URL Authentication
bedrock-mantle(권장) https://bedrock-mantle.{region}.api.aws/v1/chat/completions Amazon Bedrock API 키 또는 AWS 자격 증명
bedrock-runtime https://bedrock-runtime.{region}.amazonaws.com/v1/chat/completions AWS 자격 증명(SigV4) 또는 Amazon Bedrock API 키

각 엔드포인트에는 고유한 모델별 토큰 할당량이 있습니다. 각 엔드포인트의 트래픽에 적용되는 할당량에 대한 자세한 내용은 bedrock-mantle 엔드포인트 할당량 및 섹션을 참조하세요bedrock-runtime 엔드포인트 할당량.

bedrock-mantle 엔드포인트와의 채팅 완료

bedrock-mantle 엔드포인트는 Amazon Bedrock API 키 인증 및 OpenAI SDK를 지원합니다.

사용 가능한 모델 나열

bedrock-mantle 엔드포인트에서 사용 가능한 모델을 나열하려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.

OpenAI SDK (Python)
# List all available models using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() models = client.models.list() for model in models.data: print(model.id)
HTTP request
# List all available models # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X GET $OPENAI_BASE_URL/models \ -H "Authorization: Bearer $OPENAI_API_KEY"

Chat Completions 생성

원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.

OpenAI SDK (Python)

환경 변수를 사용하여 OpenAI 클라이언트를 구성합니다.

# Create a chat completion using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() completion = client.chat.completions.create( model="openai.gpt-oss-120b", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ] ) print(completion.choices[0].message)
HTTP request

에 POST 요청/v1/chat/completions:

# Create a chat completion # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ] }'
스트리밍

응답을 점진적으로 수신하려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.

OpenAI SDK (Python)
# Stream chat completion responses incrementally using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() stream = client.chat.completions.create( model="openai.gpt-oss-120b", messages=[{"role": "user", "content": "Tell me a story"}], stream=True ) for chunk in stream: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="")
HTTP request

가 로 stream 설정된 /v1/chat/completions에 POST 요청을 수행합니다. true

# Stream chat completion responses incrementally # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "messages": [ {"role": "user", "content": "Tell me a story"} ], "stream": true }'

bedrock-runtime 엔드포인트와의 채팅 완료

bedrock-runtime 엔드포인트는 AWS SigV4 인증 및 Amazon Bedrock API 키 인증을 지원합니다.

사용 가능한 모델 나열

bedrock-runtime 엔드포인트에서 사용 가능한 모델을 나열하려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.

OpenAI SDK (Python)
from openai import OpenAI import os client = OpenAI( base_url="https://bedrock-runtime.us-east-1.amazonaws.com/v1", api_key=os.environ.get("AWS_BEARER_TOKEN_BEDROCK") ) models = client.models.list() for model in models.data: print(model.id)
HTTP request
curl -X GET "https://bedrock-runtime.us-east-1.amazonaws.com/v1/models" \ -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK"

Chat Completions 생성

원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.

OpenAI SDK (Python)

bedrock-runtime 엔드포인트를 가리키도록 OpenAI 클라이언트를 구성합니다.

from openai import OpenAI import os client = OpenAI( base_url="https://bedrock-runtime.us-east-1.amazonaws.com/v1", api_key=os.environ.get("AWS_BEARER_TOKEN_BEDROCK") ) response = client.chat.completions.create( model="us.anthropic.claude-sonnet-4-6", messages=[{"role": "user", "content": "Hello"}] ) print(response.choices[0].message.content)
HTTP request (API key)
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/v1/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \ -d '{ "model": "us.anthropic.claude-sonnet-4-6", "messages": [{"role": "user", "content": "Hello"}] }'
HTTP request (SigV4)
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/v1/chat/completions" \ -H "Content-Type: application/json" \ --aws-sigv4 "aws:amz:us-east-1:bedrock" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ -d '{ "model": "us.anthropic.claude-sonnet-4-6", "messages": [{"role": "user", "content": "Hello"}] }'

bedrock-runtime 엔드포인트를 사용하여 지원되는 모델, 리전 및 고급 기능에 대한 자세한 내용은 섹션을 참조하세요Chat Completions API(레거시 참조).

채팅 완성에 가드레일 포함

모델 입력 및 응답에 보호 장치를 포함하려면 다음 추가 파라미터를 요청 본문의 필드로 포함하여 모델 간접 호출을 실행할 때 가드레일을 적용합니다.

  • extra_headers - 요청에 추가 헤더를 지정하는 다음 필드가 포함된 객체에 매핑됩니다.

    • X-Amzn-Bedrock-GuardrailIdentifier(필수) - 가드레일의 ID입니다.

    • X-Amzn-Bedrock-GuardrailVersion(필수) - 가드레일의 버전입니다.

    • X-Amzn-Bedrock-Trace(선택 사항) - 가드레일 추적을 활성화할지 여부입니다.

  • extra_body - 객체에 매핑됩니다. 해당 객체에 다음 amazon-bedrock-guardrailConfig 필드가 포함된 객체에 매핑되는 필드를 포함할 수 있습니다.

Amazon Bedrock Guardrails의 이러한 파라미터에 대한 자세한 내용은 가드레일 테스트 섹션을 참조하세요.

OpenAI Chat completion을 통한 가드레일을 사용하는 예를 보려면 원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.

OpenAI SDK (Python)
import openai from openai import OpenAIError # Endpoint for Amazon Bedrock Runtime bedrock_endpoint = "https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1" # Model ID model_id = "openai.gpt-oss-20b-1:0" # Replace with actual values bedrock_api_key = "$AWS_BEARER_TOKEN_BEDROCK" guardrail_id = "GR12345" guardrail_version = "DRAFT" client = openai.OpenAI( api_key=bedrock_api_key, base_url=bedrock_endpoint, ) try: response = client.chat.completions.create( model=model_id, # Specify guardrail information in the header extra_headers={ "X-Amzn-Bedrock-GuardrailIdentifier": guardrail_id, "X-Amzn-Bedrock-GuardrailVersion": guardrail_version, "X-Amzn-Bedrock-Trace": "ENABLED", }, # Additional guardrail information can be specified in the body extra_body={ "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz" # Used for input tagging } }, messages=[ { "role": "system", "content": "You are a helpful assistant." }, { "role": "assistant", "content": "Hello! How can I help you today?" }, { "role": "user", "content": "What is the weather like today?" } ] ) request_id = response._request_id print(f"Request ID: {request_id}") print(response) except OpenAIError as e: print(f"An error occurred: {e}") if hasattr(e, 'response') and e.response is not None: request_id = e.response.headers.get("x-request-id") print(f"Request ID: {request_id}")
OpenAI SDK (Java)
import com.openai.client.OpenAIClient; import com.openai.client.okhttp.OpenAIOkHttpClient; import com.openai.core.http.HttpResponseFor; import com.openai.models.chat.completions.ChatCompletion; import com.openai.models.chat.completions.ChatCompletionCreateParams; // Endpoint for Amazon Bedrock Runtime String bedrockEndpoint = "http://bedrock-runtime.us-west-2.amazonaws.com/openai/v1" // Model ID String modelId = "openai.gpt-oss-20b-1:0" // Replace with actual values String bedrockApiKey = "$AWS_BEARER_TOKEN_BEDROCK" String guardrailId = "GR12345" String guardrailVersion = "DRAFT" OpenAIClient client = OpenAIOkHttpClient.builder() .apiKey(bedrockApiKey) .baseUrl(bedrockEndpoint) .build() ChatCompletionCreateParams request = ChatCompletionCreateParams.builder() .addUserMessage("What is the temperature in Seattle?") .model(modelId) // Specify additional headers for the guardrail .putAdditionalHeader("X-Amzn-Bedrock-GuardrailIdentifier", guardrailId) .putAdditionalHeader("X-Amzn-Bedrock-GuardrailVersion", guardrailVersion) // Specify additional body parameters for the guardrail .putAdditionalBodyProperty( "amazon-bedrock-guardrailConfig", JsonValue.from(Map.of("tagSuffix", JsonValue.of("xyz"))) // Allows input tagging ) .build(); HttpResponseFor<ChatCompletion> rawChatCompletionResponse = client.chat().completions().withRawResponse().create(request); final ChatCompletion chatCompletion = rawChatCompletionResponse.parse(); System.out.println(chatCompletion);