AI 챗봇 시스템 - 인증부터 RAG, Agent, Observability까지

최근 기업들은 고객 응대, 내부 지식 활용, 업무 효율화를 위해 AI 기반 챗봇 도입을 적극 추진하고 있습니다. 단순히 질문에 답하는 수준을 넘어, 기업 내부 지식과 외부 데이터를 통합하고 사용자의 권한과 상황을 고려하여 정확하고 신뢰성 있는 응답을 제공해야 합니다. 이를 위해 AI 챗봇은 단순 대화 생성기를 넘어, 기업 환경과 연동된 통합 지식 기반 시스템으로 발전하고 있습니다. 내부 문서와 외부 데이터를 통합해 신뢰성 있는 답변을 제공하고, 사용자 인증·권한 관리까지 연계함으로써 안전하고 맞춤형 서비스를 구현할 수 있어야 합니다.

이러한 요구 사항을 충족하고, 기업 환경에 최적화된 AI 챗봇 서비스를 구현하기 위해 Keycloak, Kong Gateway, LangChain, Qdrant 등과 같은 최신 오픈소스 기술을 활용하여 구축한 AI 챗봇 시스템을 소개합니다.

  • 통합 인증·권한 관리: Keycloak과 Kong Gateway를 통해 모든 구성 요소에 대한 SSO 기반 인증 체계를 구현
  • 다양한 추론 모델 연계: LangChain을 활용해 LLM, Agent, RAG 등 여러 모드를 유연하게 연결
  • 벡터 기반 검색: 자체 문서 및 외부 데이터를 임베딩하여 정확한 정보 검색 지원
  • 관측성 및 분석: 대화 로그, 성능, 오류를 추적하여 서비스 품질을 지속적으로 개선
aichat-overview


아키텍처 구성

AI 챗봇은 LangChain 기반으로 다양한 LLM 모델과 유연하게 연동할 수 있게 설계하였습니다. 고객의 요구에 맞춰 기능을 빠르게 확장할 수 있도록 구조화되어 있어, 새로운 서비스 추가와 기능 개선이 용이합니다. 이를 통해 변화하는 비즈니스 환경에서도 안정적이고 효율적인 AI 서비스 운영이 가능합니다.

  • API 레이어는 외부 애플리케이션과 통신하며, 텍스트 임베딩, 문서 재정렬, LLM 호출 등의 기능을 제공
  • 서비스 레이어는 체인, 임베딩, 검색 등을 위한 다양한 LLM 워크플로우를 구성하고, LLM 레이어에 추론 요청
  • LLM 관리 레이어는 외부 지식 검색과 요약을 제공하며, 여러 LLM 모델을 효율적으로 관리
  • Observability & 외부 통합 레이어는 로그와 요청 추적을 관찰하고, 벡터 스토어, 모델 API, 모니터링 도구 등과 연계
aichat-architecture


프론트엔드 구성

신속한 개발과 직관적인 사용자 경험을 위해 프론트엔드는 최소한의 코드로도 고품질의 웹 인터페이스를 구현할 수 있는 Streamlit 기반 UI를 통해 챗봇의 대화 흐름과 시각적 요소를 빠르게 개발하고 반복 개선할 수 있습니다. 또한 LangServe를 통해 LangChain 기반 백엔드와의 연동 및 테스트 환경을 손쉽게 구성할 수 있어, 빠른 프로토타이핑과 기능 확장이 가능합니다.

  • LLM, Agent, RAG 기반 대화 모드 지원
  • 관리자 전용 문서 임베딩 및 벡터 스토어 관리 기능
  • 세션별, 사용자별 대화 이력 관리
  • 직관적인 대화 기반 정보 탐색 환경 제공
aichat-frontend


인증 및 권한 관리

일관된 사용자 인증과 접근 제어를 위해 챗봇 UI는 Kong API Gateway를 통해 라우팅과 OIDC 플러그인 적용하여 인증된 사용자만 접근할 수 있도록 구성되었습니다. 또한 Keycloak과 연동된 SSO 기반 중앙 집중식 인증 체계를 도입함으로써, 분산된 서비스 간 중복 인증을 방지하고 보안성과 개발 효율성을 동시에 확보하였습니다.

  • API Gateway 중심의 인증 위임
  • 사용자 접근 제어 및 보안 정책 일관성 유지
  • 개발 및 운영 환경의 복잡도 최소화
aichat-auth.png


RAG 기반 문서 임베딩 및 검색

대규모 언어 모델만으로는 최신 정보나 특정 도메인 지식을 완벽하게 반영하기 어렵기 때문에, RAG(Retrieval-Augmented Generation)가 필요합니다. RAG는 외부 문서나 데이터베이스에서 관련 정보를 검색(Retrieval)한 후 이를 바탕으로 응답(Generation)을 생성하여, 사실적 정확성과 문맥 적합성을 동시에 확보하고 보다 신뢰성 있는 답변을 제공합니다.

이를 위해, AI 챗봇은 먼저 웹 문서와 텍스트 문서를 각각 로드하고 의미 단위로 분할한 뒤, 벡터 스토어에 저장하는 문서 임베딩 파이프라인을 거칩니다. 분할된 문서는 Dense와 Sparse 임베딩 모델로 벡터화되어 Qdrant Collection에 저장되며, 이를 기반으로 향후 RAG 과정에서 효율적인 검색과 문맥 기반 응답 생성이 가능합니다.

aichat-embedding

검색은 사용자의 질의를 Dense와 Sparse 임베딩으로 변환한 뒤 일정 비율로 결합한 하이브리드 방식으로 문서를 조회하고, 이후 리랭크 과정을 거쳐 추론 시 문맥 기반 정확도를 향상시킵니다.

  • 사용자의 질의를 임베딩 후 Qdrant 벡터 스토어에서 관련 문서 검색
  • 리랭크 및 포맷팅 후 LLM 호출로 문맥 기반 응답 생성
aichat-rag


벡터 스토어 Qdrant 활용

Qdrant는 고성능 벡터 검색 엔진으로, 수십억 개 이상의 임베딩 데이터를 대상으로 근사 최근접 탐색(ANN, Approximate Nearest Neighbor Search)을 지원하며, 대규모 문서 기반 시스템에서도 실시간 검색 성능과 확장성을 동시에 확보할 수 있도록 설계되었습니다.

  • Dense + Sparse 하이브리드 검색으로 정확도 향상
  • 세그먼트 인덱싱 및 샤드 분산 구조로 검색 성능/확장성 확보
  • 안정적인 대규모 문서 기반 검색 환경 제공
aichat-qdrant


Agent 기반 외부 지식 연동

Agent는 사용자의 대화 이력을 기반으로 상황을 이해하고, 적절한 도구와 LLM을 활용해 질의에 대한 응답을 생성하는 지능형 수행 단위입니다. 이를 통해 단순 질의 응답을 넘어, 복잡한 다단계 작업과 문맥 기반 의사결정까지 지원할 수 있습니다. AI 챗봇에서 지원하는 Agent는 대화 이력(Session/ChatMessage)을 관리하고 요약한 후 이를 기반으로 질의를 수행합니다.

  • Tool 사용 여부 판단 및 호출 (예: Tavily 검색, 요약 도구, LLM 호출)
  • Observation Node를 통한 결과 관찰 및 후속 응답 생성
  • 복잡한 질의에 대한 정교한 응답 지원
aichat-agent


Fine-tuning 전략

대규모 언어 모델(LLM)은 범용 지식을 기반으로 학습되어 있지만, 특정 도메인이나 업무 환경에 맞춘 세부 조정이 필요할 수 있습니다. 이를 위해 Fine-Tuning 과정에서는 기존 모델의 지식을 유지하면서, 특정 데이터나 태스크에 맞춰 성능을 최적화합니다. 본 시스템에서는 이러한 모델 학습을 위해 **SFT(Supervised Fine-Tuning)**와 **LoRA(Low-Rank Adaptation)**를 활용하여, 비용 효율적으로 특정 도메인과 업무 요구에 최적화된 모델을 구축합니다.

  • 일부 레이어만 학습하여 특정 도메인/톤 유지
  • 학습 손실 시각화로 모델 성능 모니터링
  • 질문-응답 태스크에 일관된 응답 품질 제공
  • 반복 업무나 정책성 자료 대응에 최적화
aichat-finetuning


Observability와 운영 최적화

AI 챗봇 시스템의 성능을 안정적으로 유지하고 비용을 효율적으로 관리하기 위해서는 운영 관측성이 필수적입니다. 본 시스템은 이를 위해 Langfuse를 도입하여 모델 호출, 응답 속도, 비용, 사용 패턴 등을 실시간으로 추적하고 분석합니다. 이를 통해 LLM 호출의 각 단계를 트레이싱 및 시각화하여 프롬프트 튜닝과 Agent 동작을 정밀하게 분석할 수 있으며, 응답 지연 시간, 호출 빈도, 모델별 비용, 사용자별 사용량 등 주요 메트릭을 기반으로 운영 효율성과 시스템 품질을 지속적으로 개선합니다.

aichat-observability


AI 챗봇 시스템 구축 효과

유연하고 확장 가능한 LLM 서비스 인프라 확보
프라이빗 데이터 센터에 Ollama 기반 LLM 인프라를 구축함으로써, 다양한 오픈소스 추론 모델을 자유롭게 운용할 수 있는 환경을 마련했습니다. 또한 OpenAI API와의 하이브리드 구조를 통해 내부 모델과 외부 상용 서비스를 병행함으로써, 안정성과 확장성을 동시에 확보했습니다.

고품질 응답과 문맥 이해 능력 향상
RAG(Retrieval-Augmented Generation) 기반 아키텍처를 통해 기업 내부 문서를 벡터 스토어에 임베딩하여 문서 중심의 정밀 검색과 문맥 기반 응답을 지원합니다. 외부 검색 엔진 및 업무 시스템과의 연동을 통해 실시간 정보 조회 및 자동화 기능을 구현하였으며, 변경 주기가 낮은 정책성 자료는 LoRA 기반 Fine-Tuning을 적용하여 응답 품질과 일관성을 유지합니다.

운영 효율성과 서비스 신뢰성 제고
Langfuse 기반의 Observability 체계를 도입하여 LLM 호출 전 구간에 대한 트레이싱과 모니터링을 수행합니다. 이를 통해 모델 성능, 응답 지연, 자원 사용률 등을 실시간으로 분석·최적화함으로써, 안정적이고 신뢰성 높은 서비스 운영이 가능해졌습니다.