Category: RAG

0

RAG 성능 최적화 기법

RAG 시스템 최적화 개요RAG 시스템의 성능은 다음 세 가지 측면에서 최적화할 수 있습니다: 검색 품질 - 관련성 높은 문서 찾기 응답 품질 - 정확하고 유용한 답변 생성 성능/비용 - 빠른 응답과 비용 효율성 1. 청킹 전략 최적화1.1 고정 크기 청킹from langchain.text_splitter import RecursiveCharacterTextSplitter# 기본 설정text_splitter = RecursiveCharacterTextSplitter( chunk_size=1000, chunk_overlap=200, length_function=len,)# 문서 유형별 최적화## 기술 문서 - 작은 청크tech_splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=100)## 소설/긴 글 - 큰 청크narrative_splitter = RecursiveCharacterTextSplitter( chunk_size=2000, chunk_overlap=400) 1.2 의미 기반 청킹from langchain_experimental.text_splitter import SemanticChunkerfrom langchain_openai.embeddings import OpenAIEmbeddings# 의미론적 유사도로 분할semantic_chunker = SemanticChunker( OpenAIEmbeddings(), breakpoint_threshold_type="percentile", # or "standard_deviation" breakpoint_threshold_amount=95 # 상위 5%에서 분할)chunks = semantic_chunker.split_documents(documents) 1.3 문서 구조 기반 청킹

0

벡터 데이터베이스 비교 및 선택 가이드

벡터 데이터베이스란?벡터 데이터베이스는 고차원 벡터 데이터를 효율적으로 저장하고 검색하는 데 특화된 데이터베이스입니다. RAG 시스템의 핵심 구성 요소입니다. 주요 벡터 데이터베이스 비교1. ChromaDB특징: 오픈소스, 로컬 우선 설계 Python 친화적 가볍고 시작하기 쉬움 임베디드 모드 지원 장점: ✅ 설치 및 설정이 매우 간단 ✅ 로컬 개발에 최적 ✅ 무료 오픈소스 ✅ 메타데이터 필터링 지원 단점:

0

RAG 시스템 구축 가이드

RAG 시스템 구축 단계RAG 시스템을 처음부터 구축하는 전체 과정을 단계별로 설명합니다. 1. 환경 설정필수 라이브러리 설치# Python 가상환경 생성python -m venv venvsource venv/bin/activate # Windows: venv\Scripts\activate# 기본 라이브러리 설치pip install langchain langchain-community langchain-openaipip install chromadb # 벡터 데이터베이스pip install openai # OpenAI APIpip install tiktoken # 토큰 카운팅pip install pypdf # PDF 처리pip install python-dotenv 환경 변수 설정# .env 파일 생성OPENAI_API_KEY=your-api-key-here 2. 문서 준비 및 로딩2.1 문서 로더 선택

0

RAG (Retrieval-Augmented Generation) 개요

RAG란?RAG(Retrieval-Augmented Generation)는 대규모 언어 모델(LLM)의 응답을 개선하기 위해 외부 지식 베이스에서 관련 정보를 검색하여 활용하는 기술입니다. RAG의 필요성 지식 최신성 문제 해결 LLM은 학습 시점까지의 데이터만 알고 있음 최신 정보나 실시간 데이터 제공 불가 RAG를 통해 최신 문서/데이터 참조 가능 환각(Hallucination) 감소 LLM이 사실이 아닌 내용을 생성하는 문제 외부 신뢰할 수 있는 소스 참조로 정확성 향상 도메인 특화 지식 제공 기업 내부 문서, 특정 도메인 지식 활용 재학습 없이 특정 분야 전문성 확보 비용 효율성 모델 재학습(Fine-tuning) 대비 저렴 데이터 업데이트가 용이 RAG 작동 원리기본 워크플로우사용자 질문 ↓1. 질문 임베딩 생성 ↓2. 벡터 DB에서 유사 문서 검색 ↓3. 검색된 문서 + 질문을 LLM에 입력 ↓4. LLM이 컨텍스트 기반 답변 생성 ↓최종 답변 제공 핵심 구성 요소 문서 처리 (Document Processing) 문서 수집 및 전처리 청크 분할 (Chunking) 임베딩 생성 검색 시스템 (Retrieval System) 벡터 데이터베이스 유사도 검색 알고리즘 하이브리드 검색 (키워드 + 벡터) 생성 모델 (Generation Model) LLM (GPT, Claude, Llama 등) 프롬프트 엔지니어링 컨텍스트 윈도우 관리