AWS Bedrock으로 RAG 시스템 학습

이건선·2026년 3월 4일

해결

목록 보기
62/66

학습 목표

  • Bedrock Playground에서 AI 모델 사용
  • 시스템 프롬프트를 활용한 AI 응답 제어
  • Knowledge Base(RAG) 구축으로 문서 기반 Q&A 시스템 완성

최종 아키텍처

사용자 질문
    ↓
[Bedrock Knowledge Base]
    ↓
1. 질문을 벡터로 변환 (Titan Text Embeddings v2)
    ↓
2. S3 Vectors에서 유사 문서 검색
    ↓
3. 검색된 문서 + 질문 → Claude 3 Haiku로 전달
    ↓
4. 문서 기반 답변 생성

1단계: Bedrock 콘솔 접근

AWS 콘솔에서 "Amazon Bedrock"을 검색하여 접속합니다.

Bedrock 주요 기능:

기능설명
채팅/텍스트 플레이그라운드AI 모델을 직접 테스트하는 대화형 인터페이스
지식 기반 (Knowledge Base)문서 기반 RAG 시스템 구축
에이전트 (Agent)RAG + 외부 API 연동 자동화
가드레일 (Guardrails)AI 응답 필터링 및 안전장치

2단계: Playground에서 모델 테스트

2.1 Playground 접속

좌측 메뉴에서 "채팅/텍스트 플레이그라운드"를 클릭합니다. "모델 선택" 버튼을 눌러 사용할 AI 모델을 선택합니다.

Playground 초기 화면 - 모델 선택 전 상태

2.2 모델 선택 및 첫 대화

Claude 3 Haiku 모델을 선택했습니다. 가볍고 빠른 모델로 학습용으로 적합합니다.

참고: Anthropic 모델을 처음 사용할 때는 Use Case 정보를 제출해야 합니다. 간단한 양식 작성 후 즉시 사용 가능합니다.

첫 번째 테스트 질문: 한국의 수도는 어디인가요?

모델이 정상적으로 "서울"이라고 답변하며, 상단에 토큰 사용량이 표시됩니다:

  • 입력(Input): 프롬프트에 사용된 토큰 수
  • 출력(Output): 응답 생성에 사용된 토큰 수
  • 지연 시간(Latency): 응답까지 걸린 시간

2.3 시스템 프롬프트 실험

시스템 프롬프트는 AI의 역할과 성격을 설정하는 지시문입니다.

시스템 프롬프트 설정:

5살 어린이에게 설명하는 친절한 과학 선생님

3단계: Knowledge Base(RAG)

3.1 RAG란?

RAG(Retrieval-Augmented Generation)는 AI 모델이 외부 문서를 검색하여 참조한 후 답변을 생성하는 기술입니다.

3.2 샘플 문서 준비

2개의 샘플 문서를 생성 하고 S3에 업로드 했습니다:

파일명내용
product-guide.txtSmartHome Pro 제품 가이드 (모델별 사양, FAQ)
company-policy.txtABC 회사 인사정책 (근무시간, 휴가, 급여, 복리후생)

4단계: Knowledge Base 생성

4.1 생성 마법사 실행

Bedrock 콘솔 좌측 메뉴에서 "지식 기반""생성""벡터 저장소가 포함된 지식 기반"을 선택합니다.

4.2 Step 1: 지식 기반 세부 정보

  • 지식 기반 이름: 자동 생성 (knowledge-base-quick-start-sh1ah)
  • 서비스 역할: 자동 생성 (AmazonBedrockExecutionRoleForKnowledgeBase_sh1ah)
  • 데이터 소스 유형: Amazon S3

4.3 Step 2: 데이터 소스 구성

  • S3 URI: s3://bedrock-kb-test-******-2024/docs/
  • 청킹 전략: 기본값 (~300 토큰 단위로 문서 분할)
  • 구문 분석: Amazon Bedrock Default

4.4 Step 3: 임베딩 모델 및 벡터 저장소

구성 요소선택설명
임베딩 모델Titan Text Embeddings v2텍스트를 1024차원 벡터로 변환
벡터 저장소Amazon S3 Vectors저비용 벡터 저장소 (학습용 적합)

OpenSearch Serverless는 월간 비용이 발생하므로, 학습 목적으로 S3 Vectors를 사용했습니다.

4.5 Step 4: 검토 및 생성

⚠️ 주의: Knowledge Base 생성은 루트 사용자로는 불가능합니다. 반드시 IAM 사용자 또는 IAM 역할로 로그인해야 합니다. 루트 사용자로 시도하면 "루트 사용자로 지식 기반을 만드는 것은 지원되지 않습니다" 오류가 발생합니다.

IAM 사용자(bedrock-admin)를 생성하고 AdministratorAccess 권한을 부여한 후, 해당 사용자로 로그인하여 Knowledge Base를 생성했습니다.


5단계: Knowledge Base 생성 완료 및 확인


6단계: 데이터 동기화

Knowledge Base를 생성한 후, S3의 문서를 벡터로 변환하여 인덱싱하는 동기화 작업이 필요합니다.

데이터 소스를 선택하고 "동기화" 버튼을 클릭합니다.


7단계: RAG 테스트

7.1 테스트 UI 접속

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

테스트 모드 설명:

모드설명
검색 전용: 데이터 소스관련 문서 조각만 반환 (Retrieval만)
검색 및 응답 생성: 데이터 소스 및 모델문서 검색 + AI 답변 생성 (완전한 RAG)

"검색 및 응답 생성" 모드를 선택하고, 응답 생성 모델로 Claude 3 Haiku를 설정했습니다.

7.2 테스트 결과

product-guide.txt 문서에서 정확한 정보를 찾아 답변했습니다.

7.3 RAG 동작 원리 정리

1. 질문 입력 → "SmartHome Pro Premium 가격은?"
       ↓
2. 검색 (Retrieval)
   - 질문을 Titan Embeddings로 벡터 변환
   - S3 Vectors에서 유사한 문서 청크 검색
       ↓
3. 생성 (Generation)
   - 검색된 문서 청크 + 원래 질문을 Claude에게 전달
   - Claude가 문서 기반으로 답변 생성
       ↓
4. 출처 포함 응답 반환
profile
멋지게 기록하자

0개의 댓글