피드로 돌아가기
I Built a RAG App, Then Asked It What Car I Like. It Didn't Know.
Dev.toDev.to
AI/ML

Local RAG 파이프라인 구축을 통한 LLM 추론 및 Chunking 전략 분석

I Built a RAG App, Then Asked It What Car I Like. It Didn't Know.

Dogukan Karademir2026년 6월 24일7intermediate

Context

Spring AI와 pgvector, local Ollama를 활용한 End-to-End RAG 시스템 설계. 단순 CRUD를 넘어 문서 기반 질의응답 아키텍처의 실효성 검증 및 Local LLM의 제약 사항 분석에 집중.

Technical Solution

  • Apache Tika를 통한 텍스트 추출 및 TokenTextSplitter 기반의 Chunking 구조 설계
  • nomic-embed-text 모델을 이용한 벡터화 및 pgvector 기반의 Similarity Search 구현
  • Llama3.2:3b 모델을 활용하여 검색된 Context와 Question을 결합한 ChatClient 호출 로직 구성
  • WSL2 환경의 Docker 내 ROCm 미지원으로 인한 CPU-only 추론 환경 구축 및 제약 확인
  • 모델 크기에 따른 Attribute-binding 오류와 Chunk Dilution 현상을 통한 RAG 실패 원인 분석
  • 단일 대형 Chunk 내 다중 주제 혼재로 인한 벡터 밀도 저하 및 검색 정확도 하락 파악

- RAG 실패 시 Retrieval 단계의 Chunk 회수 여부를 먼저 확인하여 모델 추론 문제와 검색 문제 분리 - 단일 Chunk 내 너무 많은 주제를 포함할 경우 벡터 값이 희석되어 검색 성능이 저하되므로 주제별 세분화된 Chunking 전략 검토 - Local LLM 사용 시 호스트 OS와 컨테이너 간 GPU Driver 패스스루 제약 사항을 사전 점검 - LLM이 정답을 제시하면서도 모른다고 답하는 경우 모델 파라미터 크기에 따른 추론 능력 한계 고려

원문 읽기