Skip to content

[과제] - RAG 구현 및 학습 - 정영훈 #4

Description

@gannak1

✈️ RAG 구현 및 학습

작업 설명

LLM이 질문에 바로 답하는 방식과 달리, RAG는 외부 문서나 데이터를 먼저 검색한 뒤 그 내용을 근거로 답변을 생성.
이 과제의 목적은 RAG의 기본 흐름을 이해하고, 간단한 문서 및 이미지 기반 질의응답 시스템을 구현

RAG 개념 학습
필요한 라이브러리 정리 및 예시 코드 정리
생각한 이미지 임베딩이 제대로 동작하는지 확인

상세 작업

- [ ] RAG 학습 및 질문 정리

기본 개념

  - RAG가 무엇인지
  - Fine-tuning과 RAG의 차이
  - “검색”과 “생성”이 각각 어떤 역할을 하는지

문서 처리

  - 문서를 작은 조각으로 나누는 방법
  - chunk size
  - chunk overlap
  - 문서 메타데이터

임베딩

  - 텍스트를 벡터로 바꾸는 이유
  - 의미적으로 비슷한 문장이 가까운 벡터가 되는 원리
  - embedding model의 역할

벡터 검색

  - vector database
  - cosine similarity
  - top-k 검색
  - FAISS, Chroma, Pinecone 같은 도구의 역할

프롬프트 구성

  - 검색된 문서를 context로 넣는 방식
  - “문서에 있는 내용만 답하라”는 제약
  - 출처 표시

답변 품질 개선

  - 잘못된 문서가 검색되는 문제
  - chunk가 너무 크거나 작은 문제
  - reranking
  - query rewriting

실전 구현

  - PDF나 TXT 문서 읽기
  - 문서 chunking
  - embedding 생성
  - vector DB 저장
  - 질문 시 유사 문서 검색
  - LLM 답변 생성

- [ ] 문서 데이터 준비

RAG가 참고할 텍스트 문서 및 이미지 준비

문서를 작은 단위로 나누는 chunking 개념 학습

  - Chunk의 의미
  - Chunk size
  - Chunk overlap
  - 나누는 기준
  - Metadata
  - 좋은 chunking인지 확인하는 방법
  - 문서 조각이 검색 대상이 되는 방식 이해

- [ ] 검색 과정 구현

사용자 질문을 입력받음

질문과 관련 있는 문서 조각을 찾음

관련도가 높은 문서를 선택함

- [ ] 답변 생성 과정 이해

검색된 문서를 context로 사용

LLM이 context를 참고해서 답변 생성

문서에 없는 내용은 답하지 않도록 제한하는 방식 학습

- [ ] 결과 확인

질문을 입력했을 때 관련 문서가 잘 검색되는지 확인

답변이 검색된 문서에 근거하는지 확인

검색 결과가 잘못되면 답변 품질도 떨어지는지 관찰

- [ ] 이미지 기반 임베딩

위의 기반 학습 모두 처리

이미지 기반 벡터 처리

이미지 임베딩 방식 테스트

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Fields

Priority

Low

Start date

Jun 14, 2026

Target date

Jun 15, 2026

Effort

Low

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions