RAG 시스템의 핵심, 검색기(Retriever)란?

2025. 4. 1. 13:50· AI/RAG
목차
  1. RAG 시스템의 핵심, 검색기(Retriever)란?
  2. 검색기의 필요성
  3. 검색기의 동작 방식
  4. Sparse Retriever vs Dense Retriever
  5. Sparse Retriever
  6. Dense Retriever
  7. Dense & Sparse Retriever 코드 예시 (LangChain 기반)
  8. 참고 자료
반응형

RAG 시스템의 핵심, 검색기(Retriever)란?

검색기(Retriever)는 RAG(Retrieval-Augmented Generation) 시스템에서 5번째 단계에 해당하며, 사용자의 질문과 관련된 정보를 벡터 데이터베이스에서 찾아주는 역할을 합니다. 이 단계의 성능은 전체 시스템의 정확도와 응답 속도에 직접적인 영향을 미칩니다.

검색기의 필요성

  • 정확도 향상: 사용자 질문과 높은 관련도를 가진 문서를 선택해, 보다 정밀한 답변을 생성합니다.
  • 응답 속도 개선: 효율적인 검색 알고리즘으로 빠르게 문서를 탐색하여 전체 시스템 응답 시간을 줄입니다.
  • 시스템 최적화: 관련된 문서만 선택해 불필요한 연산과 자원 낭비를 줄입니다.

검색기의 동작 방식

  1. 질문의 벡터화: 질문을 임베딩 기법으로 벡터화
  2. 유사도 비교: 저장된 문서 벡터와 질의 벡터 간 유사도를 계산 (Cosine Similarity, MMR 등)
  3. 상위 문서 선정: 가장 유사한 문서 N개를 선택
  4. 문서 정보 전달: 선택된 문서의 내용과 메타데이터를 다음 단계로 전달

Sparse Retriever vs Dense Retriever

Sparse Retriever

전통적인 정보 검색 기법(TF-IDF, BM25)을 사용해 키워드 기반의 벡터로 문서와 쿼리를 표현합니다.

  • 계산 비용이 낮고 구현이 간단함
  • 의미 파악보다는 키워드 일치 여부에 의존

Dense Retriever

딥러닝 임베딩을 통해 문서와 쿼리를 고차원 벡터로 표현하여, 의미 기반 검색이 가능합니다.

  • 문맥과 의미를 더 깊이 파악
  • 키워드 일치하지 않아도 관련 문서를 검색 가능
  • 복잡한 쿼리에 더 적합

Dense & Sparse Retriever 코드 예시 (LangChain 기반)

# Dense Retriever
from langchain_community.vectorstores import FAISS

vectorstore = FAISS.from_documents(documents=split_documents, embedding=embeddings)
faiss_retriever = vectorstore.as_retriever()

# Sparse Retriever
from langchain_community.retrievers import BM25Retriever

bm25_retriever = BM25Retriever.from_documents(split_documents)

참고 자료

  • 위키독스: LangChain 검색기
  • LangChain 공식 문서
 

01. 벡터스토어 기반 검색기(VectorStore-backed Retriever)

.custom { background-color: #008d8d; color: white; padding: 0.25em 0.5…

wikidocs.net

 

 

How-to guides | 🦜️🔗 LangChain

Here you’ll find answers to “How do I….?” types of questions.

python.langchain.com


출처 : 패스트캠퍼스 테디노트 
https://fastcampus.co.kr/data_online_teddy?utm_source=google&utm_medium=cpc&utm_campaign=fassker

728x90
반응형

'AI > RAG' 카테고리의 다른 글

임베딩(Embeddings)이란 무엇인가요?  (1) 2025.05.02
RAG에서 텍스트 분할(Text Splitting)이 중요한 이유  (1) 2025.05.02
RAG 시스템의 핵심 단계: 텍스트 분할(Text Splitter)이란?  (0) 2025.04.01
RAG(Retrieval Augmented Generation)를 사용해야 하는 이유와 장점  (0) 2025.03.28
  1. RAG 시스템의 핵심, 검색기(Retriever)란?
  2. 검색기의 필요성
  3. 검색기의 동작 방식
  4. Sparse Retriever vs Dense Retriever
  5. Sparse Retriever
  6. Dense Retriever
  7. Dense & Sparse Retriever 코드 예시 (LangChain 기반)
  8. 참고 자료
'AI/RAG' 카테고리의 다른 글
  • 임베딩(Embeddings)이란 무엇인가요?
  • RAG에서 텍스트 분할(Text Splitting)이 중요한 이유
  • RAG 시스템의 핵심 단계: 텍스트 분할(Text Splitter)이란?
  • RAG(Retrieval Augmented Generation)를 사용해야 하는 이유와 장점
불타는고굼이
불타는고굼이
잡동사니 끄적끄적
반응형
250x250
불타는고굼이
불타는 고구미 담벼락
불타는고굼이
전체
오늘
어제
  • 공부 및 정리 (235)
    • Language (10)
      • Java (2)
      • Javascript (6)
      • Python (1)
      • C,C++ (1)
    • Web (42)
      • Tomcat (2)
      • Spring (11)
      • Node (4)
      • react (5)
      • NestJS (2)
      • Elastic Search (1)
      • etc (14)
      • error (3)
    • AI (17)
      • AI 동향 (2)
      • LLM관련 (1)
      • RAG (5)
      • LangChain (8)
      • Llamaindex (1)
    • Tools (16)
      • eclipse (1)
      • STS (3)
      • Visual Studio Code (8)
      • git | github (3)
      • Notion (0)
      • etc (1)
    • DB (3)
      • MySQL (2)
      • MSSQL (1)
    • Android (24)
      • Kotlin (24)
      • etc (0)
    • Algorithm & 자료구조 (15)
      • 백준 (4)
      • 프로그래머스 (1)
      • 기초수학 (4)
      • 자료구조 (6)
    • Image Processing (16)
      • 세팅 (1)
      • 예제 (6)
      • Python2Cpp (8)
      • YOLO (1)
    • 취미 (80)
      • photo (5)
      • food (48)
      • travel (6)
      • walk&run (16)
      • ETC (5)
    • ETC (7)
      • 제로베이스 (3)
      • 멀티캠퍼스 (1)
      • 패스트캠퍼스 INNERCIRCLE (3)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • #홍대맛집
  • #속초맛집 #속초문어국밥 #문어국밥 #문어비빔국수 #속초해장국 #강원도맛집 #속초여행맛집 #속초로컬맛집 #문어요리 #속초밥집
  • 백엔드
  • #하루런 #harurun #하남미사경정공원 #임시완 #러닝대회후기 #5km마라톤 #하루야채 #커플런 #마라톤참가후기 #건강마라톤
  • java
  • #부트캠프후기 #개발자성장기 #코딩프로젝트 #프로그래밍교육 #1차프로젝트완료 #팀워크 #신입개발자일상 #개발자블로그
  • #ai프로젝트 #dify #llm아키텍처 #ai서비스기획 #노코드ai #ai멘토링 #ai입문 #딥러닝 #머신러닝 #pm특강 #프로젝트관리 #초보ai개발자 #ai교육후기 #ai캠프후기 #ai기반서비스 #생성형ai #ai툴활용 #데이터기반서비스 #ai직무전환 #it비전공자 </p>
  • #레트로카페
  • #elasticsearch설치 #dockerelasticsearch #검색엔진 #로컬서버구축 #elasticstack #검색솔루션 #elasticsearch보안
  • #선유도역맛집 #돈웍 #서울고기맛집 #1인고기세트 #목살구이 #된장찌개맛집 #영등포구맛집 #혼밥맛집 #삼겹전문점 #덮밥맛집 #서울혼밥추천
  • #프레퍼스 #다이어트식사 #헬스식단 #샐러드맛집 #다이어트맛집 #다이어트플레이트 #프레퍼스후기 #운동식단 #건강한한끼 #맛있는다이어트
  • #홍대나가노
  • #보광정 #수육런 #남산러닝 #러닝이벤트 #단백질런 #러닝후기 #수육맛집 #러닝인증 #남산순환로 #러너들의맛집
  • #팝플리
  • #선유도맛집 #선유도역맛집 #선유도돈까스 #선유도회식 #내일식당 #내일다이닝 #대파안심돈까스 #돈까스맛집 #서울맛집추천 #영등포맛집 #혼밥추천 #회식장소추천 #맛집블로그 #블로그후기 #먹스타그램 #푸드로그 #맛집탐방
  • 제로베이스
  • #나가노굿즈
  • #속초중앙시장 #속초시장맛집 #속초오징어순대 #속초튀김 #속초닭강정 #중앙닭강정 #속초떡볶이 #강원도시장 #속초간식투어 #속초여행코스
  • #홍대팝업스토어
  • #나가노팝업
  • #홍대캐릭터샵
  • #농담곰
  • Spring
  • 개발자 #백엔드공부 #백엔드스쿨
  • #고미푸딩
  • #치이카와굿즈
  • #나가노마켓
  • #경주여행 #황리단길카페 #경주카페추천 #향미사 #경주가볼만한곳 #첨성대 #대릉원 #경주핫플 #경주감성카페 #황리단길맛집 #경주말거리 #경주핫스팟
  • #일본캐릭터
  • #경주맛집 #황리단길맛집 #향화정 #경주한옥맛집 #경주육회물회 #꼬막비빔밥 #해물파전맛집 #경주가볼만한곳 #경주맛집추천 #경주현지맛집 #경주여행코스 #경주로컬맛집 #한식전문점 #블로그후기 #먹스타그램 #맛집기록 #경주한옥식당 #황리단길한식

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
불타는고굼이
RAG 시스템의 핵심, 검색기(Retriever)란?
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.