티스토리 뷰
✅ RAG란?
RAG는
🔍 검색 기반 생성 (Retrieval-Augmented Generation)
이라는 의미로,
**LLM(대형 언어 모델)**이 정보를 "기억"하는 대신,
외부 지식(문서, DB, 웹 등)을 검색해서 답변을 생성하는 구조입니다.
🧠 왜 RAG가 필요할까?
✋ 문제점: LLM의 한계
- GPT, Claude 등은 학습된 정보만 알고 있음
- 최신 정보나 내부 문서에 대한 지식은 없음
- 큰 모델을 계속 재학습하는 건 비용과 시간이 큼
✅ 해결책: RAG 구조
💡 핵심 개념:
LLM이 직접 답을 “기억”하지 않고, 관련 문서를 먼저 “검색”해서 보고 답을 만든다!
🔄 RAG 전체 흐름
[사용자 질문] ↓ [질문을 임베딩 벡터로 변환] ↓ [벡터 DB에서 관련 문서 검색 (Top-k)] ↓ [검색된 문서 + 질문 → LLM에 전달] ↓ [LLM이 문서를 참조해 답변 생성]
✅ RAG 구성 요소 요약
단계구성 요소설명
| 단계 | 구성요소 | 설명 |
| 1 | 임베딩 모델 | 질문/문서를 벡터로 변환 (ex. MiniLM, OpenAI) |
| 2 | 벡터 DB | 유사도 기반 문서 검색 (ex. FAISS, Milvus, Chroma) |
| 3 | LLM | 답변 생성 (ex. GPT-4, Claude, KoAlpaca) |
| 4 | 청킹 | 문서를 작은 덩어리로 나누는 전처리 단계 |
| 5 | RAG 파이프라인 | 전체 흐름을 연결하는 코드 (LangChain 등 활용) |
🔎 예시 상황
질문: “우리 회사 인사 정책 중 휴가 규정은 어떻게 되나요?”
→ GPT는 모름
→ RAG는 휴가 규정 문서를 찾아서 답변 가능!
✅ RAG 구조의 장점
장점설명
| 장점 | 설명 |
| ✅ 최신 정보 반영 | 문서만 교체하면 LLM 재학습 없이 업데이트 |
| ✅ 보안 유지 | 민감한 내부 데이터는 외부 LLM 학습에 포함되지 않음 |
| ✅ 비용 절감 | Fine-tuning 없이도 고품질 응답 가능 |
| ✅ 유연한 검색 | Top-k, 필터링, 날짜 조건 등 조절 가능 |
⚠️ RAG의 한계 & 주의점
한계설명
| 한계 | 설명 |
| ❌ 검색 정확도 문제 | 질문과 관련 없는 문서가 검색되면 응답이 이상해짐 |
| ❌ 문맥 연결 어려움 | 청킹을 잘못하면 중요한 내용이 잘림 |
| ❌ 보안 이슈 | 검색된 데이터가 외부 LLM으로 나가면 민감정보 유출 가능 |
✅ 해결: 적절한 Chunking + Embedding + 필터링 + 프롬프트 엔지니어링이 중요
🧪 RAG 실전 예제 (LangChain 기반)
| from langchain.vectorstores import FAISS from langchain.embeddings import HuggingFaceEmbeddings from langchain.chat_models import ChatOpenAI from langchain.chains import RetrievalQA # 벡터 DB 불러오기 embedding = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") db = FAISS.load_local("my_index", embeddings=embedding) # LLM 설정 llm = ChatOpenAI(model_name="gpt-3.5-turbo") # RAG 체인 구성 qa = RetrievalQA.from_chain_type(llm=llm, retriever=db.as_retriever()) response = qa.run("휴가 규정 알려줘") print(response) |
🧱 실제 사용하는 곳 (레퍼런스)
| 기업/제품 | 설명 |
| Notion AI | 문서 기반 질문 응답 (RAG 구조) |
| GPTs (Custom GPT) | 업로드한 파일 기반 검색 |
| Canva AI | 헬프 센터 문서를 GPT로 요약 |
| 삼성전자, 현대차 | 내부 문서 기반 RAG 챗봇 구축 (보안 고려) |
🧩 RAG에 쓰이는 대표 오픈소스
| 영역 | 도구 |
| Embedding | HuggingFace, OpenAI |
| Vector DB | FAISS, Milvus, Weaviate, Chroma |
| Framework | LangChain, LlamaIndex |
| UI | Streamlit, Gradio |
| MLOps | MLflow, Airflow, Docker |
---------------------------
참고사항 AI 서적

















댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 임베딩
- VectorStore
- RangChain
- MSA
- CVE 취약점 점검
- embedding
- 5.4.0.1072
- K8s
- faiss
- Oracle
- 버쳐박스
- RAG
- n8n
- Chroma
- AWS
- open ai
- 테라폼
- Ai
- MCP
- 쿠버네티스
- poetry
- chunking
- kiwipiepy
- KoSimCSE
- Qdrant
- 오라클
- Weaviate
- llama
- llm
- 코로나19
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
글 보관함
