자유게시판
일반

AI 용어 및 검색방법 절차

중년개발자
중년개발자

@loxo

8일 전

18

📚 AI는 어떻게 기억을 찾을까?

- 도서관 탐정으로 배우는 RAG, 임베딩, 벡터, 리트리버 이야기

한 줄 요약

LLM(ChatGPT)은 모든 것을 외우고 있는 것이 아니라,
도서관에서 자료를 찾아와 답하는 똑똑한 사서라고 생각하면 이해가 쉽다.


어느 날...

당신은 엄청나게 큰 도서관의 관장이 되었다.

이 도서관에는

  • 회사 문서
  • PDF
  • 이메일
  • 소스코드
  • 위키
  • 회의록
  • 매뉴얼

수백만 권이 있다.

그러던 어느 날 누군가 물어본다.

"2025년에 우리 회사에서 PostgreSQL 업그레이드 정책이 뭐였죠?"

문제는...

사서가 모든 책을 읽을 시간은 없다.

그렇다면 어떻게 몇 초 안에 답을 줄 수 있을까?

바로 여기서 RAG가 등장한다.


RAG(Retrieval-Augmented Generation)란?

RAG는

검색(Retrieval) 후 생성(Generation)

이라는 뜻이다.

즉,

text
질문 관련 문서 검색 LLM에게 전달 답변 생성

ChatGPT가 모르는 회사 문서를
먼저 찾아서 읽고 대답하는 방식이다.


사람이라면 어떻게 찾을까?

만약 당신이

"고양이 키우는 방법"

을 찾는다고 해보자.

사람은

text
고양이 사료 화장실 예방접종

같은 의미를 떠올린다.

하지만 컴퓨터는...

text
고양이 == "고양이" 끝.

이다.

"냥이"

"집사"

"캣"

모두 다른 단어라고 생각한다.

그래서 AI는

단어를 숫자로 바꾸는 기술을 사용한다.


이것이 임베딩(Embedding)

임베딩은

문장의 의미를 숫자로 표현하는 기술

이다.

예를 들어

text
고양이는 귀엽다.

text
[0.21, -0.88, 0.56, 0.31, ...]

이런 긴 숫자가 된다.

사람은 의미를 이해하고

AI는 숫자를 이해한다.


그런데 왜 숫자로 바꿀까?

왜냐하면

숫자는

거리 계산이 가능하기 때문이다.

예를 들어

text
고양이

text
(10,5)
text
냥이

text
(11,4)

거리가 아주 가깝다.

반면

text
자동차

text
(90,120)

멀리 있다.

의미가 비슷하면

숫자 위치도 가까워진다.


이것이 벡터(Vector)

벡터는

숫자로 표현된 의미의 위치

라고 생각하면 된다.

예를 들어

text
고양이 / / / 원점

자동차는

text
고양이 ● 자동차 ●

멀리 있다.

AI는

이 거리를 계산해서

의미가 비슷한 문서를 찾는다.


벡터 DB(Vector Database)는 무엇일까?

문서가

100만 개 있다고 해보자.

모든 문서를 매번 비교하면

엄청 오래 걸린다.

그래서

벡터 전용 데이터베이스가 등장한다.

대표적으로

  • Pinecone
  • Weaviate
  • Milvus
  • Qdrant
  • pgvector(PostgreSQL)

이들은

text
질문 벡터 가장 가까운 벡터 몇 ms 안에 검색

을 해준다.


Retriever는 누구일까?

Retriever는

도서관 사서이다.

질문이 들어오면

text
질문 임베딩 벡터 검색 관련 문서 TOP5 반환

을 수행한다.

LLM보다 먼저 일하는 직원이다.


Chunk는 왜 필요할까?

책 한 권이

1000페이지라고 하자.

LLM에게

1000페이지를 모두 주면

비싸고 느리다.

그래서

잘게 자른다.

text
1장 2장 3장 ...

이 조각을

Chunk라고 한다.

보통

  • 500자
  • 1000 토큰

정도로 자른다.


Chunking

Chunking은

문서를 잘게 자르는 작업이다.

예를 들어

text
회사규정.pdf Chunk1 Chunk2 Chunk3 Chunk4

검색은

Chunk 단위로 이루어진다.


왜 Chunk 단위가 좋을까?

예를 들어

500페이지 책에서

한 줄만 필요하다.

책 전체보다

관련된

한 페이지만 전달하는 것이

훨씬 정확하다.


Top-K

검색 결과가

100개 나왔다.

그중

가장 비슷한

5개만 가져온다.

text
Top-5 Top-10 Top-20

이것을

Top-K라고 한다.


Similarity

Similarity는

얼마나 비슷한지를 나타낸다.

예를 들어

text
고양이 냥이 98%
text
고양이 강아지 62%
text
고양이 자동차 3%

이렇게 계산한다.


Cosine Similarity

가장 유명한 거리 계산법이다.

쉽게 말하면

두 화살표가 얼마나 같은 방향을 보는가?

이다.

text
거의 같다
text
전혀 다르다

Re-ranking

검색 결과를

한 번 더 똑똑하게 정렬한다.

text
검색 Top20 AI가 다시 평가 Top5

이 과정을

Re-ranking이라고 한다.


Prompt

Retriever가 가져온 문서를

LLM에게 이렇게 전달한다.

text
질문 === 회사 규정 ... 회의록 ... 매뉴얼 ...

이렇게 만들어진 입력이

Prompt이다.


Context

LLM에게 제공되는

추가 정보이다.

예를 들어

text
질문 + 검색 문서 + 규칙

전체를

Context라고 한다.


LLM은 언제 등장할까?

놀랍게도

가장 마지막이다.

text
질문 Retriever 검색 관련 문서 LLM 답변

LLM은

검색을 하지 않는다.

검색된 문서를 읽고

답을 만들어준다.


전체 흐름

text
사용자의 질문 ┌──────────────────┐ │ Embedding Model │ │ 질문 → 벡터 변환 │ └──────────────────┘ Vector Database (문서 벡터 수백만 개 저장) 가장 가까운 벡터 검색 Retriever 관련 Chunk Top-K 선택 ┌───────────────────────────┐ │ Prompt 생성 │ │ 질문 + 검색된 문서 │ └───────────────────────────┘ Large Language Model (GPT, Claude, Gemini) 최종 답변 생성

실제 비유

text
사용자 │ "은행 API 가이드 알려줘" ────────────────────────────────── 도서관 사서 (Retriever) 도서 색인 검색 (Embedding) 도서 위치 찾기 (Vector Search) 관련 페이지 복사 (Chunk) 질문과 함께 전달 박사님 (LLM) 설명해서 답변 ──────────────────────────────────

핵심 용어 한눈에 보기

용어가장 쉬운 비유
RAG도서관에서 책을 찾아 설명하는 시스템
Embedding문장을 숫자 좌표로 바꾸는 번역기
Vector의미를 표현한 숫자 위치
Vector DB의미 기반 도서 색인
Retriever책을 찾아주는 사서
Chunk책을 잘게 자른 한 페이지
Chunking책을 페이지 단위로 자르기
Similarity얼마나 비슷한가
Cosine Similarity의미의 방향이 얼마나 같은가
Top-K가장 비슷한 문서 몇 개 선택
Re-ranking검색 결과를 다시 똑똑하게 정렬
PromptLLM에게 전달하는 질문 꾸러미
Context답변에 사용할 모든 참고 자료
LLM자료를 읽고 자연스럽게 설명하는 전문가

기억하면 되는 한 문장

RAG는 '도서관에서 가장 관련 있는 자료를 찾아(Look up), AI가 그 자료를 읽고 답을 만들어주는 시스템'이다.

즉,

  • Embedding은 문장의 의미를 숫자로 바꾸고,
  • Vector DB는 의미가 비슷한 문서를 빠르게 찾으며,
  • Retriever는 가장 관련 있는 문서를 골라오고,
  • LLM은 그 문서를 바탕으로 사람처럼 자연스러운 답변을 만들어 준다.
#RAG#LLM#Embedding#Vector Database#AI

댓글 0

Ctrl + Enter를 눌러 등록할 수 있습니다
※ AI 다듬기는 내용을 정제하는 보조 기능이며, 최종 내용은 사용자가 확인해야 합니다.