View a markdown version of this page

응답 API를 사용한 추론 - Amazon Bedrock

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

응답 API를 사용한 추론

Amazon Bedrock은 대규모 기계 학습 모델 제공을 위한 분산 추론 엔진인 Mantle로 구동되는 bedrock-mantle 엔드포인트를 통해 OpenAI 응답 API를 제공합니다. 이 엔드포인트를 사용하면 Amazon Bedrock 모델과 함께 익숙한 OpenAI SDKs 및 도구를 사용할 수 있으므로 코드 변경을 최소화하면서 기존 애플리케이션을 마이그레이션할 수 있습니다. 기본 URL과 API 키를 간단히 업데이트하면 됩니다.

중요

OpenAI SDK를 Amazon Bedrock과 함께 사용하는 경우 엔드포인트가 아닌 Amazon Bedrock 엔드포인트를 가리켜야 합니다OpenAI. 다음 환경 변수를 설정합니다.

OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1" OPENAI_API_KEY="<your Bedrock API key>"

OpenAI API 키 또는 OpenAI 기본 URL()을 사용하지 마십시오https://api.openai.com/v1. Amazon Bedrock이 아닌에 OpenAI 직접 연결됩니다. Amazon Bedrock API 키를 생성하려면 섹션을 참조하세요API 키.

주요 이점은 다음과 같습니다.

  • 비동기 추론 - 응답 API를 통해 장기 실행 추론 워크로드 지원

  • 상태 저장 대화 관리 - 각 요청과 함께 대화 기록을 수동으로 전달하지 않고 컨텍스트를 자동으로 재구축합니다.

  • 간소화된 도구 사용 - 에이전트 워크플로를 위한 간소화된 통합

  • 유연한 응답 모드 - 스트리밍 응답과 비스트리밍 응답 모두 지원

  • 간편한 마이그레이션 - 기존 OpenAI SDK 코드베이스와 호환

지원되는 리전 및 엔드포인트

bedrock-mantle 엔드포인트는 다음 AWS 리전에서 사용할 수 있습니다.

리전 이름 리전 엔드포인트
미국 동부(오하이오) us-east-2 bedrock-mantle.us-east-2.api.aws
미국 동부(버지니아 북부) us-east-1 bedrock-mantle.us-east-1.api.aws
미국 서부(오리건) us-west-2 bedrock-mantle.us-west-2.api.aws
아시아 태평양(자카르타) ap-southeast-3 bedrock-mantle.ap-southeast-3.api.aws
아시아 태평양(뭄바이) ap-south-1 bedrock-mantle.ap-south-1.api.aws
아시아 태평양(시드니) ap-southeast-2 bedrock-mantle.ap-southeast-2.api.aws
아시아 태평양(도쿄) ap-northeast-1 bedrock-mantle.ap-northeast-1.api.aws
유럽(프랑크푸르트) eu-central-1 bedrock-mantle.eu-central-1.api.aws
유럽(아일랜드) eu-west-1 bedrock-mantle.eu-west-1.api.aws
Europe (London) eu-west-2 bedrock-mantle.eu-west-2.api.aws
Europe (Milan) eu-south-1 bedrock-mantle.eu-south-1.api.aws
유럽(스톡홀름) eu-north-1 bedrock-mantle.eu-north-1.api.aws
남아메리카(상파울루) sa-east-1 bedrock-mantle.sa-east-1.api.aws

사전 조건

OpenAI APIs 사용하기 전에 다음이 있는지 확인합니다.

  • 인증 - 다음을 사용하여 인증할 수 있습니다.

    • Amazon Bedrock API 키(OpenAISDK에 필요)

    • AWS 자격 증명(HTTP 요청에 지원됨)

  • OpenAI SDK(선택 사항) - SDK 기반 요청을 사용하는 경우 OpenAI Python SDK를 설치합니다.

  • 환경 변수 - 다음 환경 변수를 설정합니다.

    • OPENAI_API_KEY - Amazon Bedrock API 키로 설정

    • OPENAI_BASE_URL - 리전의 Amazon Bedrock 엔드포인트로 설정(예: https://bedrock-mantle.us-east-1.api.aws/v1)

모델 API

모델 API를 사용하면 Mantle로 구동되는 Amazon Bedrock에서 사용 가능한 모델을 검색할 수 있습니다. 이 API를 사용하여 응답 API와 함께 사용할 수 있는 모델 목록을 검색합니다. 전체 API 세부 정보는 OpenAI 모델 설명서를 참조하세요.

사용 가능한 모델 나열

사용 가능한 모델을 나열하려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.

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

에 GET 요청/v1/models:

# 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"

응답 API

응답 API는 스트리밍, 백그라운드 처리 및 멀티턴 상호 작용을 지원하여 상태 저장 대화 관리를 제공합니다. 전체 API 세부 정보는 OpenAI 응답 설명서를 참조하세요.

참고

모든 모델이 응답 API를 지원하는 것은 아닙니다. 응답 API를 지원하는 모델을 확인하려면 섹션을 참조하세요API 호환성.

응답 API가 대화 상태를 저장하는 방법

응답 API는 저장된 상태를 사용하여 멀티턴 대화를 활성화하고 previous_response_id 파라미터를 통해 이전 턴을 참조할 수 있습니다. 스토리지는 기본적으로 활성화되어 있지만 store 파라미터를 통해 요청당 비활성화할 수 있습니다. 저장된 응답은 프로젝트별로 범위가 지정됩니다. 한 프로젝트의 응답은 이전 응답으로 사용하거나 두 번째 프로젝트에서 읽을 수 없습니다. 프로젝트에 대한 자세한 내용은 섹션을 참조하세요프로젝트(OpenAI 호환).

  • storetrue (기본값)인 경우 Amazon Bedrock은 입력 및 출력을 포함한 응답을 요청의 소스 리전에서 30일 동안 유지합니다. 이 기간 동안에 응답을 전달previous_response_id하고 검색하여 후속 요청을 연결할 수 있습니다GET /v1/responses/{id}. 30일이 지나면 응답이 자동으로 삭제되고 더 이상 검색할 수 없습니다.

  • store인 경우 falseAmazon Bedrock은 요청 또는 응답의 데이터를 유지하지 않습니다. previous_response_id 파라미터를 사용하여 대화를 계속할 수 없습니다.

기본값은 OpenAI 응답 API 사양과 일치true합니다. Amazon Bedrock이 대화 데이터를 보관하지 않도록 하려는 고객은 모든 요청false에서를 store로 명시적으로 설정해야 합니다. 저장된 데이터는 요청의 소스 리전에 보관되고 저장 시 암호화되며 호출 AWS 계정의 프로젝트 리소스로 범위가 지정됩니다. 데이터는 요청을 처리하기 위해서만 저장되며 다른 목적으로 사용되거나 보관되지 않습니다.

기본 요청

응답을 생성하려면 원하는 방법의 탭을 선택한 다음 다음 단계를 따릅니다.

OpenAI SDK (Python)
# Create a basic response using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-oss-120b", input=[ {"role": "user", "content": "Hello! How can you help me today?"} ] ) print(response)
HTTP request

에 POST 요청/v1/responses:

# Create a basic response # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Hello! How can you help me today?"} ] }'

스트림 응답

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

OpenAI SDK (Python)
# Stream response events incrementally using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() stream = client.responses.create( model="openai.gpt-oss-120b", input=[{"role": "user", "content": "Tell me a story"}], stream=True ) for event in stream: print(event)
HTTP request

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

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