헬창 개발자
RAG, 랭체인 그게 뭔데?? 본문
AI 챗봇은 이제 우리 일상에서 중요한 역할을 하고 있습니다. 특히, LLM(Large Language Model, 대규모 언어 모델) 을 기반으로 한 대화형 AI 시스템이 점점 더 발전하고 있죠.
하지만 여전히 해결해야 할 세 가지 큰 문제점이 있습니다.
최신 정보 반영의 어려움
대부분의 챗봇은 사전 학습된 데이터를 기반으로 동작하기 때문에, 새로운 정보나 실시간 데이터를 반영하기 어렵습니다.
예를 들어, "2024년 최신 스마트폰 리뷰 알려줘!" 라고 질문하면, 챗봇이 2023년 기준의 정보를 제공할 가능성이 높죠.
할루시네이션(Hallucination) 문제
AI가 잘못된 정보를 사실처럼 생성하는 현상을 할루시네이션이라고 합니다.
이는 모델이 학습한 데이터의 부족, 모순된 정보, 혹은 문맥을 완벽히 이해하지 못하는 경우에 발생합니다.
👉 예를 들어, "아인슈타인이 달에 갔었어?" 라는 질문에 "네, 1969년에 달에 갔어요." 같은 잘못된 답변을 할 수 있습니다.
사용자 맞춤형 응답의 한계
많은 챗봇이 사용자의 개별적인 요구에 맞춘 답변을 제공하는 데 어려움을 겪습니다.
예를 들어, 기업 내 문서를 참고해 답변하는 AI를 만들고 싶어도, 일반적인 챗봇은 사전에 학습된 데이터 외의 정보를 활용하기 어렵습니다.
LLM(Large Language Model, 대규모 언어 모델) 기반의 챗봇들은 이미 많은 정보를 학습했지만, 다음과 같은 한계가 있습니다.
✅ 최신 정보 부족 → 챗봇이 학습한 이후의 정보는 반영되지 않음
✅ 할루시네이션(Hallucination) 발생 → 사실과 다른 내용을 만들어낼 가능성
✅ 사용자 맞춤형 답변 어려움 → 개인화된 응답 제공이 힘듦
👉 이 문제를 해결하는 방법 중 하나가 바로 "RAG"입니다.
RAG (검색 증강 생성, Retrieval-Augmented Generation)란?
RAG는 AI가 단순히 학습된 데이터만 사용하는 것이 아니라, 외부 데이터를 검색해서 더 정확한 답변을 생성하는 기술입니다.
쉽게 말하면
일반적인 챗봇이 "이미 학습한 정보"로만 답변한다면,
RAG 챗봇은 필요할 때마다 외부 데이터베이스에서 정보를 검색하고 최신 내용을 반영하는 것입니다.
📌 예시
일반 챗봇: "2024년 월드컵은 어디서 열리나요?"
RAG 챗봇: "2024년에는 월드컵이 없습니다. 하지만 2026년 월드컵은 미국, 캐나다, 멕시코에서 열릴 예정입니다."

이 이미지는 RAG(Retrieval-Augmented Generation)의 흐름을 시각적으로 나타낸 다이어그램입니다.
1. 검색 단계 (Retrieval)
사용자가 질문("How do I do X?")을 입력하면, 시스템은 연관된 정보를 검색하기 위해 아래 단계를 거칩니다.
1️⃣ Embedding Machine (임베딩 변환)
- 질문을 숫자로 변환하여(벡터 임베딩) AI가 이해할 수 있도록 만듭니다.
- 이 과정에서 Embedding Model(임베딩 모델)이 사용됩니다.
2️⃣ Vector Database (벡터 데이터베이스) 검색
- 질문의 벡터 표현을 기존에 저장된 데이터(문서, 코드, FAQ 등)와 비교하여 관련된 정보를 검색합니다.
- 벡터 데이터베이스는 유사한 의미를 가진 데이터를 빠르게 찾을 수 있도록 도와줍니다.
3️⃣ Relevant Snippets (관련 문서 조각) 반환
- 검색된 결과에서 가장 관련성이 높은 정보(문서 조각)를 추출하여 답변 생성에 활용합니다.
2. 생성 단계 (Generation)
이제 검색된 정보를 기반으로 AI가 답변을 생성하는 과정입니다.
4️⃣ LLM (대규모 언어 모델) 처리
- 검색된 문서를 바탕으로 LLM이 최종적인 답변을 생성합니다.
- 단순히 사전 학습된 데이터만으로 답변을 생성하는 것이 아니라, 검색된 최신 정보를 반영하는 것이 핵심입니다.
5️⃣ Augmented Answer (검색 증강 답변) 출력
- AI는 질문과 관련된 정보를 종합하여, 보다 정확한 답변("X can be done by...")을 생성합니다.
- 이렇게 생성된 답변은 기존 LLM보다 신뢰성이 높고 최신 정보가 반영된 답변이 됩니다.
RAG vs. 파인 튜닝(Fine-Tuning)
챗봇을 더 똑똑하게 만드는 또 다른 방법으로 파인 튜닝(Fine-Tuning) 이 있는데요,
이 방식과 RAG를 비교해 볼까요?
장점 | 단점 | |
파인 튜닝 | 특정 도메인(예: 법률, 의학)에 최적화 가능 | 추가 학습 비용이 크고, 최신 정보 반영 어려움 |
RAG | 최신 정보 반영 가능, 유연한 확장성 | 검색 성능에 따라 결과 품질이 달라질 수 있음 |
랭체인(LangChain)이란?
랭체인은 "AI 모델을 더 쉽게 활용할 수 있도록 도와주는 개발 프레임워크" 입니다.
랭체인의 핵심 역할
1️⃣ 외부 데이터 연결 → PDF, DB, API 등의 데이터를 AI와 연결
2️⃣ 체인(Chain) 기능 → 여러 AI 기능을 조합해서 더 강력한 응답 생성
3️⃣ 메모리 기능 → 대화 기록을 기억해서 문맥을 이해하는 챗봇 개발 가능
즉, RAG의 검색 기능을 더 강력하게 만들고, 다양한 AI 애플리케이션을 쉽게 개발할 수 있도록 도와주는 도구라고 보면 됩니다.

LangChain은 LLM(대규모 언어 모델)을 효율적으로 활용하기 위해 다양한 외부 데이터를 연결하고, 이를 적절히 가공하는 과정을 지원합니다. 그림 1은 LangChain이 LLM에서 원하는 결과를 얻기까지의 주요 흐름입니다.
① 데이터 소스(Data Sources) 연결
LLM이 텍스트를 생성, 번역, 요약하거나 질문에 답변하기 위해서는 필요한 정보를 가져올 데이터 소스가 필요합니다.
- 데이터 소스는 PDF 문서, 웹 페이지, CSV 파일, 관계형 데이터베이스 등 다양한 형식으로 존재할 수 있습니다.
- LangChain은 이러한 외부 데이터를 검색하여 LLM이 활용할 수 있도록 지원합니다.
💡 쉽게 말해: AI가 질문을 받으면, 필요한 정보를 문서나 데이터베이스에서 먼저 찾아오는 역할을 합니다.
② 단어 임베딩(Word Embeddings) 변환
AI가 검색한 데이터를 직접 이해하는 것은 어렵기 때문에, 텍스트 데이터를 벡터(Vector)로 변환하는 과정이 필요합니다.
- 벡터는 텍스트의 의미를 수치화한 형태이며, LLM은 이 벡터 데이터를 기반으로 문맥을 이해하고 연관성을 분석합니다.
- LangChain은 다양한 임베딩 모델을 지원하여, 개발자가 필요한 방식으로 텍스트 데이터를 변환할 수 있도록 도와줍니다.
💡 쉽게 말해: "단어"를 숫자로 변환해서 AI가 더 잘 이해하도록 만드는 과정입니다.
③ 벡터 데이터베이스(Vector Database) 저장
텍스트가 벡터로 변환되면, 벡터 데이터베이스에 저장됩니다.
- 벡터 데이터베이스는 빠른 유사성 검색을 지원하는 저장소로,
AI가 질문을 받았을 때 관련된 정보를 빠르게 검색할 수 있도록 돕습니다. - 검색 속도가 빠르고, 의미적으로 유사한 문장을 찾아주는 기능이 핵심입니다.
💡 쉽게 말해: AI가 필요한 정보를 찾을 때, 빠르게 검색할 수 있도록 잘 정리된 데이터 저장소입니다.
④ LLM(대규모 언어 모델)과 연결
LangChain은 다양한 LLM(예: OpenAI GPT-4, Hugging Face의 오픈소스 모델 등)과 연동할 수 있습니다.
- AI는 벡터 데이터베이스에서 검색된 정보를 바탕으로 더 정확한 답변을 생성합니다.
- 이를 통해 실시간 정보 검색이 가능하고, 기존 모델보다 더 정확한 답변을 제공할 수 있습니다.
💡 쉽게 말해: "필요한 정보를 검색해서 답변을 생성하는 더 똑똑한 AI 시스템"을 만들 수 있습니다.
RAG + LangChain
이 두 가지 기술을 결합하면?
- RAG: 최신 정보를 검색해서 정확한 답변 생성
- LangChain: AI 모델을 외부 데이터와 연결하고, 더욱 효율적으로 활용 가능
활용 사례
✔ 기업 문서 챗봇 → 사내 문서를 검색해 정확한 답변 제공
✔ 최신 뉴스 챗봇 → 실시간으로 뉴스 데이터를 가져와 요약 제공
✔ 기술 지원 AI → 특정 제품 매뉴얼을 검색해 문제 해결 가이드 제공
AI 챗봇이 단순한 Q&A 수준을 넘어서, 진짜 유용한 정보 제공 도구로 발전할 수 있는 핵심 기술 조합입니다.
요약
RAG: AI가 실시간으로 데이터를 검색해 최신 정보를 반영하는 기술
LangChain: AI 모델을 외부 데이터와 연결하고 쉽게 활용할 수 있도록 돕는 프레임워크
RAG + LangChain 조합: 더 똑똑한 AI 챗봇, 문서 검색 AI, 최신 정보 반영 AI 개발 가능
'공부방' 카테고리의 다른 글
LCEL (LangChain Expression Language) (0) | 2024.06.18 |
---|---|
LLM fine-tunning (2) | 2024.06.14 |
동적 페이지 스크롤을 이용한 크림 시세 크롤링 (1) | 2023.12.08 |
[스프링부트] 게시판 만들기 (2) | 2023.08.18 |
prophet 설치 오류 해결 방법 (0) | 2022.11.03 |