문서에서 답변으로: RAG가 작동하는 방식

발행: (2026년 2월 23일 오전 03:48 GMT+9)
6 분 소요
원문: Dev.to

I’m ready to translate the article for you, but I need the full text you’d like translated. Could you please paste the content (excluding the source line you already provided) here? Once I have the text, I’ll translate it into Korean while preserving all formatting, markdown, and technical terms as requested.

Source:

RAG 인덱싱

인덱싱 단계는 원시 문서를 구조화된 벡터 표현으로 변환하여 이후 유사도 검색을 통해 효율적으로 검색할 수 있게 합니다.

RAG 인덱싱 아키텍처 다이어그램

1) 문서 수집 및 전처리

첫 번째 과정은 수집, 정제, 그리고 데이터를 적절한 형식으로 변환하는 단계입니다. 이는 Bronze 레이어의 원시 데이터를 Gold 레이어로 변환하는 작업을 포함합니다.

RAW DATA

INTRODUCTION TO DATA SCIENCE!!!
• DATA is everywhere in today's world  
• MACHINE learning helps in prediction  
• tools like PYTHON , R , SQL are used

전처리 및 정규화 후

Section: Introduction to Data Science  
Content: Data is everywhere in today's world. Machine learning helps in prediction. Tools like Python, R, and SQL are used.

2) 청킹 (Chunking)

청킹은 큰 텍스트를 더 작은 조각으로 나누어 컴퓨터가 보다 효과적으로 이해하고 검색할 수 있게 하는 작업입니다.

일반적인 청킹 전략에는 다음과 같은 기준으로 나누는 것이 포함됩니다:

  • 주제
  • 헤딩
  • 단락
  • \n\n. 과 같은 구분자를 이용한 재귀 패턴

자세한 내용은 청킹 전략을 참고하세요.

각 청크는 chunk_id, chunk_index 등과 같은 메타데이터와 함께 저장됩니다. 대규모 데이터의 경우 메타데이터를 JSON 또는 Parquet 파일로 저장할 수 있습니다.

예시 chunk.json

[
  {
    "chunk_id": "ml_intro_chunk_0001",
    "chunk_index": 0,
    "doc_id": "machine_learning_basics",
    "section": "Introduction to Machine Learning",
    "content": "What is AI, Types of Algorithms",
    "page_start": 1,
    "page_end": 1,
    "char_start": 0,
    "word_count": 6,
    "language": "en"
  }
]

3) 임베딩 (Embeddings)

진짜 핵심은 여기입니다: 모든 데이터를 숫자로 변환하여 컴퓨터가 의미를 이해하도록 합니다.

예시로, “The dog and cat are friends”라는 문장을 3차원 공간에 임베딩하면 다음과 같습니다:

3차원 벡터 표현

실제로는 수천 차원의 벡터가 사용됩니다. 임베딩이 완료되면 각 문서 청크는 벡터 임베딩이 되어 벡터 데이터베이스에 저장되고, 인덱싱 단계가 마무리됩니다.

RAG 쿼리

사용자가 쿼리를 제출하면, 먼저 인덱싱 시 사용된 동일한 모델을 사용해 임베딩으로 변환됩니다. 검색된 결과는 LLM에 전달되어 출력 생성 및 추론에 사용됩니다.

Query Processing Diagram

단계 1: 사용자 쿼리를 임베딩으로 변환

사용자 쿼리는 문서 임베딩을 만든 동일한 모델을 사용해 벡터 임베딩으로 변환됩니다.

단계 2: 유사도 검색

쿼리 벡터는 벡터 데이터베이스에 저장된 모든 문서 벡터와 비교됩니다. 코사인 유사도를 이용해 시스템은 가장 유사한 상위 k개의 청크를 선택하고 이를 LLM에 전달합니다.

예시

사용자 질문: “알고리즘의 유형은 무엇인가요?”

시스템은 쿼리 벡터를 다음과 같은 저장된 청크와 비교합니다:

  • AI란
  • 알고리즘의 유형
  • 컴퓨터의 역사

알고리즘의 유형 청크가 가장 높은 유사도 점수를 받아 LLM에 전달됩니다.

단계 3: LLM 응답 생성

LLM은 다음을 받습니다:

  • 원본 사용자 쿼리
  • 검색된 문서 청크(있는 경우)

검색된 내용을 쿼리 컨텍스트에 추가하고 최종 답변을 생성합니다.


저는 현재 RAGAgentic AI에 대해 단계별로 학습하고 있습니다. 이 내용이 파이프라인을 이해하는 데 도움이 되었다면, 좋아요나 팔로우를 눌러 주세요. 앞으로도 제 여정을 공유하겠습니다.

0 조회
Back to Blog

관련 글

더 보기 »