만약 앱에 AI 기능을 추가해 본 적이 있다면, 서버를 설정하고 GPU 호스팅을 파악하며 일주일의 절반을 인프라 문서를 읽는 데 써야 한다는 것을 알고 있을 것입니다. 클라우드 제공업체들은 마침내 아무도 그런 일을 하고 싶어 하지 않는다는 사실을 깨달았습니다.
Amazon Bedrock을 알아봅시다. 서버를 관리하는 대신, Claude, Llama, Nova, Mistral 등 수백 개의 파운데이션 모델에 연결되는 단일 API 엔드포인트를 얻게 됩니다.
인프라 걱정 없음: 구성해야 할 서버나 GPU가 없습니다.
토큰당 지불 방식(Pay-per-token). 사용한 만큼만 비용을 지불합니다.
프롬프트와 응답은 모델 훈련에 사용되지 않으며 제공업체와 공유되지 않습니다.
내부적으로 200개가 넘는 서버리스 및 마켓플레이스 모델 목록을 찾을 수 있습니다. 제공업체(Amazon Nova, Anthropic Claude, Meta Llama 등)별로 필터링하여 매개변수와 기능을 확인할 수 있습니다.
Playground를 사용하면 코드를 작성하기 전에 브라우저에서 프롬프트를 테스트할 수 있습니다. Amazon Nova 2 Light와 같은 가벼운 옵션을 선택하고 시스템 프롬프트를 부여한 다음 빠른 테스트를 실행해 보세요.
일부 모델(Meta Llama 등)은 지역 제한이나 라이선스 제한이 있을 수 있습니다. Anthropic과 같은 제공업체는 모델 액세스를 허가하기 전에 계정당 일회성 사용 사례 양식(회사 이름, 웹사이트, 산업 및 사용 사례 설명)을 요구합니다.
Bedrock은 모든 모델에 걸쳐 균일한 요청 구조를 제공하는 Converse API를 사용하며, 페이로드에는 modelId, messages, inferenceConfig 세 가지 주요 필드가 필요합니다.
import boto3
from config import REGION, MODEL_ID
...
config.py 파일에서는
REGION = "us-east-1"
# Model IDs (Bedrock 콘솔 > 모델 카탈로그 > 모델 카드 > "Inference profile ID"에서 최신 것을 복사하세요)
...
모니터링해야 할 두 가지 지표
토큰 분석(Token Breakdown): 모델은 원본 텍스트가 아닌 '토큰'이라는 단어 조각을 처리합니다. 사용자는 입력 토큰(프롬프트)과 출력 토큰(생성된 응답) 모두에 대해 비용을 지불합니다. 모델마다 텍스트를 분할하는 방식이 다르기 때문에, 동일한 프롬프트라도 한 모델에서는 60토큰이 들고 다른 모델에서는 25토큰이 들 수 있습니다. API 페이로드에서 반환되는 사용량 통계를 주의 깊게 확인하세요.
온도 설정(Temperature Setting): 무작위성을 제어합니다.
낮음(Low, 0.1–0.3): 출력을 결정론적이고 근거에 기반하게 유지합니다. 고객 지원, 문서 파싱(document parsing), 또는 사실 기반 질의응답(Q&A)에 완벽합니다.
높음(High, 0.7–1.0): 다양성과 창의적인 범위를 추가합니다. 마케팅 카피나 창의적 브레인스토밍에 좋습니다.
AWS Bedrock을 Python 및 Boto3와 결합하여 사용하면, 서버를 구성할 필요 없이 또는 비용 통제권을 잃지 않으면서 자체 인프라 내에서 고급 대규모 언어 모델(LLMs)을 실행하는 편리하고 확장 가능한 방법을 얻게 됩니다.
모든 실습 에피소드의 소스 코드: GitHub 저장소
저는 매주 제 YouTube 채널 @CodeAiFlow에서 AWS, AI 및 배포에 관한 많은 실습 비디오를 공유할 예정입니다. 이 글은 시리즈의 두 번째 에피소드를 따르는 내용이므로, 단계별로 설정을 보고 싶으시다면 참고하세요. 저는 또한 AWS 커뮤니티 빌더이며: AWS Builder Center 내 제 프로필