이번 단계는 RAG(검색 증강 생성) 시스템의 심장이자, 수많은 데이터 속에서 필요한 지식을 빛의 속도로 찾아내는 [13단계: Vector DB] 지식의 저장소입니다. 텍스트를 단순한 글자가 아닌 '공간 속의 좌표'로 이해하는 이 혁신적인 저장 기술을 정리해 드립니다.
[LLM 컨셉] Vector DB: 의미를 좌표로 저장하는 지식 창고
**벡터 데이터베이스(Vector Database)**는 데이터를 수치화된 리스트인 '벡터(Vector)' 형태로 저장하고 검색하는 데 특화된 저장소입니다. 기존 DB가 '키워드'가 일치하는지를 따졌다면, 벡터 DB는 '의미'가 얼마나 가까운지를 계산합니다.
1. 왜 벡터 DB가 필요한가? (키워드 검색의 한계)
기존의 관계형 DB(SQL)나 단순 검색은 단어가 정확히 일치해야 찾을 수 있습니다.
- 기존 방식: '강아지'를 검색하면 '개'라는 단어가 포함된 문서는 찾지 못할 수 있음.
- 벡터 DB: '강아지'와 '개'의 의미적 거리가 가깝다는 것을 좌표상에서 파악하여 연관된 정보를 정확히 찾아냄.
2. 핵심 원리: 임베딩(Embedding)과 유사도 검색
벡터 DB가 작동하는 방식은 크게 두 단계로 나뉩니다.
① 임베딩 (Embedding)
텍스트를 고차원 공간상의 좌표로 변환하는 과정입니다. LLM과 같은 모델을 통과하면 "나는 오늘 행복해"라는 문장은 [0.12, -0.5, 0.88, ...] 같은 수천 개의 숫자로 변환됩니다. 이때 의미가 비슷한 문장들은 공간상에서 서로 가까운 위치에 모이게 됩니다.
② 유사도 검색 (Similarity Search)
사용자가 질문을 던지면, 그 질문도 벡터로 변환합니다. 그 후 DB 내에 저장된 수많은 벡터 중 질문 벡터와 가장 거리가 가까운 것들을 골라냅니다. 주로 **코사인 유사도(Cosine Similarity)**나 L2 거리 등을 사용하여 거리를 측정합니다.
3. 벡터 DB의 주요 기능과 특징
- 고차원 인덱싱 (Indexing): 수백만 개의 데이터 속에서 빠르게 검색하기 위해 데이터를 체계적으로 분류해 둡니다. (예: HNSW, IVFFlat 알고리즘 등)
- 메타데이터 필터링: 벡터 값뿐만 아니라 "2024년에 작성된 문서만 찾아줘"와 같은 일반적인 조건(날짜, 작성자 등)을 결합해 검색할 수 있습니다.
- 실시간 업데이트: 새로운 문서를 추가하면 즉시 임베딩되어 검색 결과에 반영되므로, RAG 시스템의 지식을 실시간으로 확장할 수 있습니다.
4. 대표적인 벡터 DB 솔루션
현재 시장에서 많이 쓰이는 도구들은 다음과 같습니다.
- 오픈소스/설치형: Chroma, Milvus, Weaviate, Faiss (Facebook 개발)
- 클라우드/매니지드: Pinecone, MongoDB Atlas Vector Search, Azure AI Search
5. [선생님의 심화 보충] 청킹(Chunking) 전략
벡터 DB에 문서를 넣을 때 가장 중요한 실무 기술은 **청킹(Chunking)**입니다. 책 한 권을 통째로 하나의 벡터로 만들면 의미가 너무 희석됩니다. 따라서 문서를 의미 있는 단위(예: 500자 내외)로 쪼개서 저장해야 합니다.
- 너무 작으면: 문맥이 끊겨서 내용을 이해하지 못함.
- 너무 크면: 불필요한 정보가 섞여 검색의 정확도가 떨어짐. **"적절한 크기로 쪼개서 겹치게(Overlap) 저장하는 것"**이 벡터 DB 활용의 핵심 노하우입니다.
✍️ 공부를 마치며
벡터 DB는 LLM이 방대한 외부 지식을 마치 자신의 기억처럼 꺼내 쓸 수 있게 해주는 '외장 하드'입니다. 이제 우리는 지식을 저장하고 찾는 법까지 마스터했습니다.
1️⃣ RunnableLambda란?
- LangChain의 Runnable 클래스 중 하나로,
- 간단한 Python 함수를 LangChain의 체인(Chain) 안에서 실행할 수 있도록 감싸주는 역할을 해요.
- 즉, 보RunnableMap
- 여러 개의 Runnable을 동시에 실행해서 딕셔너리 형태로 결과를 반환합니다.
- 즉, 하나의 입력에 대해 여러 경로로 처리 가능.

jax, 러스트 유망주 언어 모델임 참고
cell 추가
현재 셀에서
b
위에 추가
a
삭제
dd
복사
c
붙여넣기
v
되돌리기
z
마크다운
m
코드모드
y

'AI > LLM' 카테고리의 다른 글
| [LangChain] AI 파이프라인 구축 (0) | 2025.08.05 |
|---|---|
| [Semantic Search] 의미 기반 검색 (4) | 2025.08.04 |
| [RAG 기초] 환각 현상의 구세주 (0) | 2025.07.31 |
| [PEFT 2] 양자화 튜닝 QLoRA (3) | 2025.07.30 |
| [PEFT 1] 효율적 튜닝 LoRA (0) | 2025.07.29 |