rag-web-ui: 무엇이며, 어떤 문제를 해결하고, 왜 주목받고 있는가

rag-web-ui: 무엇이며, 어떤 문제를 해결하고, 왜 주목받고 있는가

해결하는 문제

RAG Web UI는 사설 지식 베이스를 기반으로 지능형 Q&A 서비스를 구축하기 위한 완전한 시스템을 제공합니다. 대형 언어 모델(LLM)이 모델 자체의 일반 학습 데이터에만 의존하지 않고, 사용자가 제공한 특정 문서에 근거한 정확하고 신뢰할 수 있는 답변을 제공하도록 하는 문제를 해결합니다.

작동 방식

시스템은 Retrieval-Augmented Generation(RAG) 파이프라인을 사용합니다:

  1. 문서 수집: 사용자는 문서(PDF, DOCX, Markdown, Text)를 업로드하면 해당 문서는 MinIO에 저장됩니다. 시스템은 이후 비동기적으로 텍스트를 추출하고, 이를 청크로 분할한 뒤 임베딩 서비스를 이용해 청크를 벡터로 변환합니다.
  2. 저장: 이러한 벡터는 벡터 데이터베이스(ChromaDB 또는 Qdrant)에 저장됩니다.
  3. 질문 처리: 사용자가 질문을 하면 시스템은 질문을 임베딩하고, 벡터 데이터베이스에서 가장 관련성 높은 문서 청크를 검색한 뒤, Cross-Encoder로 재순위화하고, 조합된 컨텍스트를 LLM에 전달해 최종 응답을 생성합니다.
  4. 통합: 다양한 LLM 제공자(OpenAI, DeepSeek, MiniMax, Ollama를 통한 로컬 모델)를 지원하며, 외부 접근을 위한 OpenAPI 인터페이스를 제공합니다.

대상 사용자

이 프로젝트는 사용자 친화적인 웹 인터페이스를 갖춘 사설 문서 기반 AI 채팅 시스템을 배포하고자 하는 사용자와, RAG 아키텍처의 레퍼런스 구현을 찾는 개발자를 위해 설계되었습니다.

주요 특징

  • 유연한 LLM 지원: 클라우드 서비스(OpenAI, DeepSeek, MiniMax)와 로컬 배포(Ollama)를 모두 호환합니다.
  • 다중 포맷 지원: PDF, DOCX, Markdown, Text 파일을 처리합니다.
  • 벡터 DB 선택 가능: 팩토리 패턴을 통해 ChromaDB와 Qdrant를 모두 지원합니다.
  • 풀스택 아키텍처: FastAPI 백엔드와 Next.js 14 프론트엔드, 그리고 분산 객체 저장을 위한 MinIO를 결합합니다.
  • 인용 기능: 대화 중에 참고 인용을 지원해 답변의 투명성을 보장합니다.

요약

사용자가 자체 문서 지식 베이스와 LLM을 결합하여 Retrieval-Augmented Generation을 활용한 맞춤형 Q&A 서비스를 구축할 수 있게 해 주는 지능형 대화 시스템.

제목

rag-web-ui: 무엇이며, 어떤 문제를 해결하고, 왜 주목받고 있는가

Sources