사내 RAG 시스템(TextRAG) 도입·운영
외부 LLM에 사내 자료를 보낼 수 없는 제약 아래, 로컬 LLM·벡터 DB 기반 사내 RAG를 설계·구축해 운영하고 iOS 팀 도입까지 진행
언어
- Python3
- Shell
기술
- FastAPI
- Ollama
- vLLM
환경
- PyCharm
- VSCode
외부 LLM에 사내 자료를 보낼 수 없는 제약 아래, 로컬 LLM과 자체 임베딩 기반의 사내 RAG 시스템(TextRAG)을 설계부터 팀 도입까지 맡아 운영하고 있습니다.
배경·과제
-
보안 제품을 만드는 회사 특성상 사내 자료를 외부 LLM API로 보낼 수 없어, 사내에서만 동작하는 검색·생성 인프라가 필요했습니다.
-
서빙 장비의 RAM이 작아 임베딩·재정렬·생성 세 모델을 동시에 띄울 수 없다는 메모리 제약도 있었습니다.
수행·기여
-
임베딩·재정렬·생성 3단 모델 스택을 인덱싱 전용과 서빙 전용 두 장비로 나누는 구조로 설계했습니다.
-
모델별 keep_alive 토글, 재정렬 선택적 비활성, KV cache 축소로 메모리 예산 시나리오를 짜서 동시 상주 제약을 풀었습니다.
-
코드를 심볼 청크와 패시지 청크로 이중 분할해, 같은 코드베이스를 코드 검색과 서술형 답변 양쪽에서 재사용하게 했습니다.
-
검색 기능을 Claude Code MCP 도구로 노출하고, 원클릭 설치 스크립트와 도입 가이드를 만들어 iOS 팀 교육까지 진행했습니다.
-
코드 리뷰용 API 엔드포인트를 열어 GitLab MR 리뷰봇이 같은 엔진을 호출하도록 연동했습니다.
성과
-
iOS 팀 코드베이스 7종, 문서 코퍼스 2종(7천 청크 이상), 보조 코퍼스까지 15개 코퍼스를 상주시켜 운영하고 있습니다.
-
단일 서버 엔진을 사내 검색, MCP 도구, MR 리뷰봇이 함께 쓰는 공통 인프라로 재사용하고 있습니다.
-
제안부터 설계, 구현, 서버 구축, 패키지, 팀 도입 교육까지 한 사이클을 직접 맡았습니다.