CoreKit RAG 플랫폼
문서를 올리면 자동으로 분석·색인하고, 자연어 질문에 원문 페이지 출처와 함께 답하는 RAG 플랫폼.
엔진(API)과 웹 서비스를 모두 자체 개발해 운영 중입니다.
이 시스템이 해결하는 문제
BEFORE
방대한 문서에서 답을 못 찾는다
매뉴얼 수백 페이지를 사람이 직접 뒤져야 했다. 키워드 검색으로는 문맥을 파악하기 어렵고, 찾아도 맞는지 확인이 안 됐다.
AFTER
자연어로 질문하면 관련 구절을 찾아 AI가 답변을 생성하고, 원본 PDF의 페이지 번호(page_start~page_end)까지 함께 제시한다.
BEFORE
AI 답변을 믿기 어렵다
LLM은 근거 없이 그럴듯한 답을 만들어낸다. 문서에 없는 내용을 답변으로 내놓아도 사용자가 알 수 없다.
AFTER
유사도 문턱값 필터링, 근거 전용 프롬프트, 근거 부족 시 경고 반환, 답변·출처 구조 분리 — 4중 할루시네이션 필터로 통제한다.
BEFORE
RAG를 서비스마다 새로 만든다
여러 시스템이 각자 RAG를 구축하면 중복 비용이 크다. 임베딩·벡터 저장·LLM 호출 로직을 팀마다 따로 만들고 관리한다.
AFTER
클라이언트별 API 키 발급·차등 rate limit·웹훅 통지를 갖춘 공용 RAG 엔진. 외부 시스템은 API 연동만으로 문서 질의응답 기능을 탑재한다.
두뇌와 서비스 계층
두 저장소가 역할을 나눠 하나의 플랫폼을 구성한다. RAG 엔진이 "두뇌"(벡터 검색·LLM), 웹 서비스가 "서비스 계층"(인증·저장·운영·UX).
| 책임 영역 | corekit-rag-web (서비스 계층) | corekit-rag (RAG 엔진) |
|---|---|---|
| 사용자 인증·권한 | JWT + httpOnly 쿠키, ADMIN/USER 역할 | — |
| 파일 저장 | S3 업로드, 메타데이터 DB 관리 | — |
| 인덱싱 | 처리 요청 + 상태 추적 + 웹훅 수신 | PDF 파싱, 청킹, 임베딩, 벡터 저장 |
| 검색 | 질의 변환, 결과 enrichment, 검색 로그 | 벡터 검색, LLM 답변 생성, exam 분석 |
| UI / 운영 | 전 화면, 관리자 패널, 이력·통계, 에러 로깅 | — |
DOCUMENT PIPELINE
기술적으로 내세울 것들
개발자 관점에서 설계가 까다로웠던 지점들.
(doc_id, 페이지) 기준으로 중복 제거·거리순 병합해 재현율과 정밀도를 동시에 확보한다.
#page=N fragment를 더해 원문의 정확한 페이지로 바로 이동한다.