복잡한 금융 사이트를 위한 프로덕션급 RAG 챗봇 구축, 기술 스택 조언 부탁드립니다.
Building a Production-Grade RAG Chatbot for a Complex Banking Site, Tech Stack Advice Needed?
핵심 요약
금융 사이트용 RAG 챗봇 구축 시 필요한 아키텍처와 보안, 데이터 처리 전략에 대한 조언을 구하는 글입니다.
- 보안 및 규제 — 금융 데이터 특성상 PII 마스킹과 출력 검증 레이어가 필수적임.
- 데이터 처리 — FAQ와 제품 페이지 등 콘텐츠 유형별로 청킹 전략을 다르게 가져가야 함.
- 검색 품질 향상 — 리랭커(Reranker)를 도입해 검색 관련성을 높이고 할루시네이션을 방지해야 함.
- 아키텍처 설계 — 단순 RAG를 넘어 프롬프트 인젝션 방어와 접근 제어 등 통제 레이어가 중요함.
여러분 안녕하세요,
저는 현재 상당히 규모가 크고 구조화된 금융 웹사이트를 AI 기반 지식 어시스턴트(RAG 기반)로 전환하는 작업을 하고 있습니다. 사이트 자체가 간단하지 않아서 여러 제품 카테고리(카드, 대출, 계좌), 중첩된 페이지, FAQ, 그리고 정적 및 동적 콘텐츠가 혼합되어 있습니다.
제 목표는 단순한 키워드 검색을 넘어 다음과 같은 기능을 수행할 수 있는 것을 만드는 것입니다:
- 사용자 의도 파악
- 페이지 전반에 걸친 관련 정보 검색
- 구조화되고 명확한 답변 반환 (단순 요약이 아닌)
현재 계획 중인 스택:
- 백엔드: FastAPI
- RAG 오케스트레이션: LangChain
- 데이터베이스: PostgreSQL
- 벡터 DB: Pinecone
너무 깊이 들어가기 전에, 비슷한 시스템을 구축해 본 분들의 조언을 얻고 싶습니다.
제가 고민 중인 주요 사항들:
- 크롤링의 경우: 기존 도구(Playwright/Scrapy 파이프라인 등)에 의존해야 할까요, 아니면 처음부터 더 맞춤화된 구조적 추출기를 구축해야 할까요?
- 검색의 경우: Pinecone이 장기적으로 견고한 선택일까요, 아니면 자체 호스팅 벡터 DB 같은 것이 더 나을까요?
- 혼합 콘텐츠(제품 페이지 vs FAQ vs 일반 정보)가 있는 사이트의 수집 파이프라인은 어떻게 구성하시겠습니까?
- 제 계획은 다음과 같습니다: 스크래핑 -> 마크다운 변환 -> 청킹 -> Pinecone 업서트 -> FastAPI/LangChain RAG. 이 순서가 타당한가요, 아니면 리랭커(Reranker)나 PII 마스킹(금융권이므로) 같은 중요한 단계를 놓치고 있는 건가요?
현재 머릿속에 있는 대략적인 흐름:
- 구조화된 콘텐츠 크롤링 및 추출
- 메타데이터와 함께 정리 및 청킹
- 임베딩 저장
- 검색 + 리랭킹 레이어 구축
- 근거 기반 답변 생성
저는 단순히 '문서 위에서 채팅하는' 수준이 아니라 제대로 구축하고 싶어서, 아키텍처 결정이나 흔한 실수에 대한 조언을 주시면 큰 도움이 될 것 같습니다.
미리 감사드립니다.

