[Spring AI + Ollama + Rag 도입기] 자동화 창고 챗봇 서비스 구현 ⑦

양현지·2026년 5월 22일

연구

목록 보기
24/26

RAG 시스템의 성능 개선 요소

LLM의 한계를 극복하기 위해 외부 지식(DB)를 검색하여 LLM의 답변 생성 시 참고하도록 붙여주는 RAG 시스템은 DB 구성 방식이 매우 중요하다.
결국 LLM은 외부 지식(DB)를 기반으로 판단하여 응답을 생성하기 때문이다.

가령, WCS에서 "현재 재고 정보를 알려줘!"

→ RAG 데이터 내에 재고 테이블 정보를 조회한 뒤
→ 연결된 실시간 Database에서 T_SKU 테이블을 조회해온 뒤
→ 재고 정보에 대한 응답을 생성
그런데, 실제 T_SKU에 등록된 데이터를 해석하기 위해서는 T_ITEM과 T_ARVINF 등의 테이블과 조인해야하며, STATUS에 등록된 값은 1,2,3 과 같이 공통코드로 관리되는 값이다.
즉, LLM은 죽었다 깨어나도 STATUS가 2인 데이터를 해석할 수 없다.

  • 이를 극복하기 위해서 필요한게 RAG 데이터이다. (STATUS와 같은 공통코드로 관리되는 값들을 추가로 메타 데이터로 주입해줘야 한다는 것이다.)

1. 데이터 전처리 및 인덱싱

인덱싱이란?

  • RAG 데이터를 벡터 DB에 넣는 전처리 과정, 즉. RAG 시스템을 위한 자료구조 구축 과정

인덱싱 단계

  • 문서 분할 | 텍스트(pdf, word, txt .. ) → 청크로 분리
  • 임베딩 | 각 청크 → 벡터로 변환
  • 메타데이터 추가 | 검색 속성 추가
  • 벡터DB 저장(ChromaDB) | 벡터 + 청크 + 메타데이터 저장
① Chunking
② Re-Ranking
③ 모델 최적화

2. 검색 및 벡터DB 튜닝

② MetaData Filtering
③ HyDE

3. LLM 프롬프트 및 후처리

① Cross-Encoder
② 프롬프트 최적화
다음 테마는 시각화 !

0개의 댓글