NLP | LLM

[LangChain] 2. LangChain과 RAG에 대한 모든 것

삐롱K 2025. 6. 24. 00:28
728x90
반응형
[LangChain] 시리즈 1편. LangChain의 개념과 작동과정 등을 먼저 읽어보시는 걸 추천드립니다!

 

 

[LangChain] 1. LangChain의 모든 것

LangChainLLM을 활용한 애플리케이션 개발을 위한 오픈소스 프레임워크LLM과의 상호작용, 메모리 관리, 체인 실행, 데이터 처리 등을 통해 복잡한 AI 애플리케이션을 효율적으로 구축할 수 있음.LangGr

wavetoai.com

 

RAG

사용자가 질문을 입력하면 연관된 문서를 검색한 후, 검색 결과를 바탕으로 응답을 생성하는 방식

RAG에 대한 더 자세한 내용은 아래 링크로!🔥

 

1. RAG와 LangGraph의 등장과 동작과정

RAG (Retrieval-Augmented Generation)LLM의 한계를 극복하기 위해 '지식 검색'과 '언어 생성'을 결합한 프레임워크RAG 동작 과정질문 이해 및 처리(Query Encoder)지식 검색(Retrieval)생성(Generaton)- 사용자의 질문

wavetoai.com

 

1) 문서 로더

2) 벡터 데이스베이스

임베딩 데이터를 보다 효율적으로 저장하고 빠르게 검색하기 위해 사용하며, 임베딩 저장과 검색을 목적으로 특별히 설계된 도구로 많은 양의 임베딩을 효과적으로 관리하고 검색 속도를 크게 향상시킬 수 있다.

 

  • Chroma: AI 애플리케이션을 위한 오픈소스 벡터 데이터베이스로, 고차원 벡터 데이터를 빠르고 효율적으로 저장하고 검색하는 기능을 제공한다. 실시간 검색과 낮은 지연 시간으로 유사도 검색을 지원하여, 추천 시스템과 자연어 처리, 이미지 및 비디오 검색 등 다양한 응용 프로그램에 적용할 수 있다. 하지만 주로 단일 노드 환경에서 사용하기 때문에 대규모 데이터셋을 다룰 때는 성능에 한계가 있을 수 있다.
  • FAISS: 페이스북 AI 리서치 팀이 개발한 고성능 벡터 검색 라이브러리로, 특히 대규모 데이터셋에서 유사성 검색과 클러스터링 작업을 효율적으로 수행할 수 있도록 설계됨. GPU 가속을 통해 수백만 개 이상의 고차원 벡터를 처리하여 매우 빠른 검색 속도를 제공한다. 또한 다양한 인덱싱과 검색 알고리즘을 지원해 데이터 특성에 맞게 최정화할 수 있다는 장점이 있다.단, 고급기능을 활용하려면 설정이 복잡하고, 분산 시스템에서는 제약이 있을 수 있다.

 

벡터 데이터베이스벡터 메트릭로컬 베포클라우드 베포인증 및 암호화데이터 백업

Milvus 유클리드, 코사인, IP, L2, 해밍, 자카드 ✅(자체 호스팅)
Faiss L2, 코사인, IP, L1, Linf
Chroma 코사인, 유클리드, 내적 ✅(자체 호스팅)
Pinecone 코사인, 유클리드, 내적 ✅(관리형)
Qdrant 코사인, 내적, L2 ✅(자체 호스팅)
Weaviate 코사인 ✅(자체 호스팅)

 

RAG 챗봇 동작과정

 

langchain-tutorial/Ch02. RAG/ch02_RAG_CHATBOT.ipynb at main · langchain-kr/langchain-tutorial

랭체인 튜토리얼. Contribute to langchain-kr/langchain-tutorial development by creating an account on GitHub.

github.com

 

1. 인덱싱 과정: 문서를 수집하고, 검색이 용이하도록 데이터베이스에 적재

  • 문서 준비 및 분할
  • 임베딩 생성 및 저장
  • 데이터베이스 적재 및 관리

2. 쿼리 과정: 사용자가 질문을 입력하면 관련 정보를 실시간으로 검색하고 답변 생성하는 단계

  • 질문 입력 및 변환: DB 검색에 사용할 수 있도록 벡터로 변환
  • 검색 및 재정렬
  • 프롬프트 템플릿 설정
  • 문맥 구성
  • 답변 생성 및 응답 제공


Last Updated. 2025.06.24

🔖 참고 자료

📔 RAG 마스터
RAG 마스터_github

728x90
반응형