소개
Amazon Bedrock은 AWS(Amazon Web Services)에서 제공하는 생성형 AI(Generative AI) 서비스 플랫폼입니다. 이 플랫폼은 다양한 사전 학습된 AI 모델을 API를 통해 간편하게 활용할 수 있도록 설계되었으며, 복잡한 인프라 관리 없이도 AI 기술을 애플리케이션에 통합할 수 있는 기능을 제공합니다.
Amazon Bedrock은 AI 모델 구축 및 운영에 소요되는 시간을 줄이고, 개발자가 AI의 핵심 기능에 집중할 수 있도록 지원합니다. 이를 통해 기업은 AI 기반 애플리케이션을 빠르게 개발하고 배포할 수 있습니다.
주요 기능
멀티모델 지원
Amazon Bedrock은 다양한 생성형 AI 모델(Amazon Titan, Anthropic Claude, Meta Llama 3, AI21 Labs의 Jurassic-2, Stability AI의 Stable Diffusion)등을 지원하여 사용자의 요구에 따라 적합한 모델을 선택할 수 있습니다.
서버리스 구조
Amazon Bedrock은 완전한 서버리스(Serverless) 플랫폼으로, 사용자는 인프라를 관리할 필요 없이 AI 모델의 기능에만 집중할 수 있습니다.
커스터마이징 기능
Amazon Bedrock은 특정 도메인과 요구 사항에 맞춘 애플리케이션을 구축할 수 있도록 다양한 커스터마이징 옵션을 제공합니다.
- Knowledge Base: Amazon Bedrock은 벡터 데이터베이스(Vector Database)를 기반으로 Knowledge Base를 구축해 RAG(Retrieval-Augmented Generation) 방식을 지원합니다. 이는 사용자의 도메인 특화 데이터를 벡터화하여 검색 가능한 상태로 저장하고, AI 모델이 생성 작업 중에 이 데이터를 활용할 수 있도록 합니다. 예시: 고객 서비스 챗봇이 기업의 내부 문서를 기반으로 정확한 답변을 제공할 수 있습니다.
- Agent 기능: 비즈니스 논리에 따라 AI 모델의 행동을 정의하여 워크플로 자동화 및 특정 작업을 수행할 수 있습니다. 이를 통해 반복적인 업무를 자동화하고, 생산성을 향상시킬 수 있습니다.
Guardrail 기능
Amazon Bedrock은 Guardrail 기능을 통해 생성된 콘텐츠의 안전성과 품질을 보장합니다. Guardrail은 콘텐츠 필터링과 정책 준수 기능을 제공하여 유해하거나 부적절한 콘텐츠의 생성을 방지하고, 기업의 규정 및 윤리 기준에 부합하는 출력을 제공합니다. 예로 금융 서비스 애플리케이션에서 민감한 정보가 포함되지 않도록 AI가 자동으로 검열하도록 할 수 있습니다.
사용 방법
사전 준비 사항
1. AWS CLI 설치 및 설정: AWS CLI(Command Line Interface)를 설치하고, AWS 자격 증명을 설정해야 합니다. AWS CLI 설치 가이드를 참고하세요.
2. boto3 설치: Python용 AWS SDK인 boto3를 설치합니다.
$ pip install boto3
접근 권한 확보
Bedrock을 사용하려면 권한을 가진 사용자가 사용가능한 Bedrock 파운데이션 모델에 대한 접근 권한을 설정해주어야 합니다. 여기서는 Root 사용자로 모델에 대한 액세스 권한을 부여했습니다.
액세스 권한 부여는 AWS Console에서 Bedrock > Bedrock Configuration > 모델 액세스에서 사용하고자 하는 모델의 접근 권한을 설정하면 됩니다.
API 호출
모델을 선택하고 간단한 API 호출을 수행합니다. 아래 코드는 Python과 boto3를 사용한 예제입니다.
import boto3
import json
# Bedrock 클라이언트 생성
client = boto3.client('bedrock-runtime', 'us-east-1')
# 요청 본문 구성
body = json.dumps({
'prompt': '\n\nHuman: 블랙홀에 대해서 설명해줘\n\nAssistant:',
"max_tokens_to_sample": 1000,
"temperature": 0.1,
"top_p": 0.9,
})
modelId = 'anthropic.claude-instant-v1'
accept = 'application/json'
contentType = 'application/json'
# 모델 호출
response = client.invoke_model(body=body, modelId=modelId, accept=accpet, contentType=contentType)
response_body = json.loads(response.get('body').read())
print(response_body.get('completion'))
기존의 AI API 서비스와 비교했을 때의 장점
1. 단일 플랫폼에서 다양한 모델 접근
다른 AI API 서비스는 주로 특정 모델에 집중하는 경우가 많습니다. 반면, Amazon Bedrock은 여러 모델을 통합적으로 제공하여 다양한 요구에 따라 선택할 수 있는 유연성을 제공합니다.
2. 데이터 보안 및 프라이버시 우선
Amazon Bedrock은 입력 데이터를 저장하지 않으며, 모델 학습에 이를 활용하지 않습니다.
출처: https://docs.aws.amazon.com/bedrock/latest/userguide/data-protection.html
3. 서버리스로 인한 관리 부담 감소
기존의 AI는 종종 별도의 인프라 관리나 설정이 필요하지만, Bedrock은 완전한 서버리스 환경을 제공하여 개발자가 애플리케이션 설계에 집중할 수 있도록 합니다.
4. 커스터마이징 기능
Knowledge Base와 Agent 같은 기능을 통해 도메인에 특화된 모델을 구축하고, 워크플로를 자동화할 수 있습니다.
5. AWS 생태계와의 통합성
Amazon SageMaker, Lambda, S3 등 AWS의 다른 서비스와 원활하게 통합되므로, AI 프로젝트 전반에서 높은 확장성과 호환성을 제공합니다.
참고
https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html
What is Amazon Bedrock? - Amazon Bedrock
What is Amazon Bedrock? Amazon Bedrock is a fully managed service that makes high-performing foundation models (FMs) from leading AI companies and Amazon available for your use through a unified API. You can choose from a wide range of foundation models to
docs.aws.amazon.com
AWS 서비스 파트너와 함께 구축한 타이거컴퍼니의 Amazon Bedrock 기반 문서 질의 챗봇 사례 | Amazon Web
타이거컴퍼니는 쉽게 일하는 방법을 고민하고 업무에 필요한 모든 서비스를 하나의 플랫폼에서 제공하는 SaaS 협업 전문기업입니다. 기업은 물론 공공기관까지 폭넓은 서비스를 제공하고 있으
aws.amazon.com