사용자 질문
↓
[Bedrock Knowledge Base]
↓
1. 질문을 벡터로 변환 (Titan Text Embeddings v2)
↓
2. S3 Vectors에서 유사 문서 검색
↓
3. 검색된 문서 + 질문 → Claude 3 Haiku로 전달
↓
4. 문서 기반 답변 생성
AWS 콘솔에서 "Amazon Bedrock"을 검색하여 접속합니다.

Bedrock 주요 기능:
| 기능 | 설명 |
|---|---|
| 채팅/텍스트 플레이그라운드 | AI 모델을 직접 테스트하는 대화형 인터페이스 |
| 지식 기반 (Knowledge Base) | 문서 기반 RAG 시스템 구축 |
| 에이전트 (Agent) | RAG + 외부 API 연동 자동화 |
| 가드레일 (Guardrails) | AI 응답 필터링 및 안전장치 |
좌측 메뉴에서 "채팅/텍스트 플레이그라운드"를 클릭합니다. "모델 선택" 버튼을 눌러 사용할 AI 모델을 선택합니다.

Playground 초기 화면 - 모델 선택 전 상태
Claude 3 Haiku 모델을 선택했습니다. 가볍고 빠른 모델로 학습용으로 적합합니다.
참고: Anthropic 모델을 처음 사용할 때는 Use Case 정보를 제출해야 합니다. 간단한 양식 작성 후 즉시 사용 가능합니다.
첫 번째 테스트 질문: 한국의 수도는 어디인가요?
모델이 정상적으로 "서울"이라고 답변하며, 상단에 토큰 사용량이 표시됩니다:
시스템 프롬프트는 AI의 역할과 성격을 설정하는 지시문입니다.
시스템 프롬프트 설정:
5살 어린이에게 설명하는 친절한 과학 선생님
RAG(Retrieval-Augmented Generation)는 AI 모델이 외부 문서를 검색하여 참조한 후 답변을 생성하는 기술입니다.
2개의 샘플 문서를 생성 하고 S3에 업로드 했습니다:
| 파일명 | 내용 |
|---|---|
product-guide.txt | SmartHome Pro 제품 가이드 (모델별 사양, FAQ) |
company-policy.txt | ABC 회사 인사정책 (근무시간, 휴가, 급여, 복리후생) |
Bedrock 콘솔 좌측 메뉴에서 "지식 기반" → "생성" → "벡터 저장소가 포함된 지식 기반"을 선택합니다.

s3://bedrock-kb-test-******-2024/docs/| 구성 요소 | 선택 | 설명 |
|---|---|---|
| 임베딩 모델 | Titan Text Embeddings v2 | 텍스트를 1024차원 벡터로 변환 |
| 벡터 저장소 | Amazon S3 Vectors | 저비용 벡터 저장소 (학습용 적합) |
OpenSearch Serverless는 월간 비용이 발생하므로, 학습 목적으로 S3 Vectors를 사용했습니다.
⚠️ 주의: Knowledge Base 생성은 루트 사용자로는 불가능합니다. 반드시 IAM 사용자 또는 IAM 역할로 로그인해야 합니다. 루트 사용자로 시도하면 "루트 사용자로 지식 기반을 만드는 것은 지원되지 않습니다" 오류가 발생합니다.
IAM 사용자(bedrock-admin)를 생성하고 AdministratorAccess 권한을 부여한 후, 해당 사용자로 로그인하여 Knowledge Base를 생성했습니다.

Knowledge Base를 생성한 후, S3의 문서를 벡터로 변환하여 인덱싱하는 동기화 작업이 필요합니다.
데이터 소스를 선택하고 "동기화" 버튼을 클릭합니다.

Knowledge Base 상세 페이지에서 "지식 기반 테스트" 버튼을 클릭하면 테스트 화면이 열립니다.

테스트 모드 설명:
| 모드 | 설명 |
|---|---|
| 검색 전용: 데이터 소스 | 관련 문서 조각만 반환 (Retrieval만) |
| 검색 및 응답 생성: 데이터 소스 및 모델 | 문서 검색 + AI 답변 생성 (완전한 RAG) |
"검색 및 응답 생성" 모드를 선택하고, 응답 생성 모델로 Claude 3 Haiku를 설정했습니다.

product-guide.txt 문서에서 정확한 정보를 찾아 답변했습니다.
1. 질문 입력 → "SmartHome Pro Premium 가격은?"
↓
2. 검색 (Retrieval)
- 질문을 Titan Embeddings로 벡터 변환
- S3 Vectors에서 유사한 문서 청크 검색
↓
3. 생성 (Generation)
- 검색된 문서 청크 + 원래 질문을 Claude에게 전달
- Claude가 문서 기반으로 답변 생성
↓
4. 출처 포함 응답 반환