학교 공부/졸업 프로젝트 (RAG)

[논문 Review] 복지 정책 정보 제공을 위한 RAG 기반 대화형 시스템 개발

iinana 2025. 4. 9. 11:09

연구 목적

1. LLM의 한계

  • 사용자가 정확한 용어를 알고 있어야 함
  • 검색 결과 중 원하는 정보를 직접 찾아야 함

2. RAG 도입의 기대효과

  • 정책 정보에 대한 접근성 향상
  • 자연어 기반 질의응답 시스템을 통해 정확하고 관련성 높은 정보 제공
  • 복잡한 정책 내용을 이해하기 쉬운 형태로 제공
  • 최신 정보를 실시간으로 반영할 수 있는 시스템 구축

연구 내용

1. 사용 기술

(1) RAG(Retriever-Augmented Generation)

  • 대형 언어 모델의 생성 능력과 외부 지식베이스를 결합하는 기술
  • 사용자 쿼리와 관련된 문서나 정보를 외부 지식베이스에서 검색하는 Retriever, 검색된 정보와 쿼리를 바탕으로 응답을 생성하는 Generator로 나뉜다
  • 장점 : 외부 지식 베이스를 활용한다
    • 최신 정보를 반영할 때, 모델을 재학습할 필요가 없이 외부 데이터베이스만 교체하면 된다
    • 기존에 모델이 알고 있던 정보로만 답변을 생성하는 것보다 더 정확한 응답 생성이 가능하다
    • 읽어온 정보의 출처를 알 수 있어 답변의 근거를 제시할 수 있다
    • 특정 분야에 대한 지식베이스를 활용하여 전문성 있는 응답이 가능하다

(2) Prompt Engineering

 

2. 파이프라인

  • FAISS(Faceobok AI Similarity Search) 기반 벡터 검색과 BM25(Best Matching 25)검색을 결합한 앙상블 검색 시스템 구축
  • Cross Encoder Reranker를 적용하여 검색 결과 품질 향상
  • GPT를 활용하여 자연스러운 응답 생성

3. 시스템 설계

  • 채팅 UI: HTML, CSS, JavaScript 이용해 설계
  • 언어모델이 동작하는 백엔드: FastAPI
  • RAG 파이프라인 구축을 위해 LangChain 라이브러리 사용
  • 시스템 구조 도식화 

 

4. 데이터 수집 및 문서 임베딩

  • PDF 형태로 정책 자료 수집
  • PDF 파싱을 위해 파이썬 PyMuPD 라이브러라 사용
    • 이 외 라이브러리: PDFMiner, PyMuPDF, PDFPlumber, PyPDFium2 등
    • 본 연구에서 PyMuPD 선정 이유
      • 텍스트 추출의 정확성이 높음
      • 표와 이미지가 포함된 복잡한 레이아웃도 안정적으로 처리
      • 유니코드 문자를 올바르게 처리하여 다국어 문서 지원 우수
  • 임베딩을 위해 OpenAI의 임베딜 모델 사용
    • 기존 PDF 문서를 800자 단위로 분리하고 100자 단위로 중첩되도록 설정
    • 임베딩 모델을 통해 벡터 형태로 변환하여 데이터 베이스에 저장
  • 데이터베이스로 FAISS 사용
    • 일반적으로 사용되는 벡터 데이터베이스는 FAISS, Chroma, Pinecone 등이 있다
    • FAISS 선정 이유
      • 오픈 소스
      • 고차원 벡터의 빠른 유사도 검색 지원
      • 대량의 데이터처리 시에 뛰어난 성능을 보임

5. 질의 처리 및 검색

  • 질의의 의미적 특성을 벡터공간에 매핑하여 문서 벡터들과의 유사도 비교
    • Ensemble Retriever(FAISS와 BM25 결합) 기법 사용
  • 검색 결과 품질 향상을 위해 Cross Encoder Reranker 적용
    • 질의와 문서를 동시에 인코딩하여 더 정확한 관련성 점수 계산
    • BAAI/bge-reranker-v2-m3 모델 사용하여 재순위화 수행
    • 초기 검색 결과 중 상위 5개의 가장 높은 관련성을 가진 문서만 선발하여 최종 답변 생성에 활동

6. GPT-4o-mini를 이용한 RAG 구현

  • 오픈소스 LLM 대신 GPT를 채택한 이유
    • 오픈소스 LLM 구동을 위한 높은 하드웨어 비용 (고성능 GPU 필요)
    • 모델 운영을 위한 유지보수 비용이 지속적으로 발생한다
    • 내부 데이터 유출 가능성이 존재하나 본 연구에서 사용되는 문서는 공개된 정보이기 때문에 문제 없음
  • RAG 파이프라인에서 검색된 관련 정보를 바탕으로 답변을 생성하는 역할 수행
    • 프롬프트 엔지니어링을 통해 모델이 정책 정보를 정확히 이해하고 사용 친화적인 답변을 생성하도록 유도
    • 최대한 정확한 정보 전달을 위해 모델의 창의성을 조정하는 temperature 변수 0.1로 설정

7. LangChain에서 제공하는 모니터링 도구인 LangSmith를 활용하여 시스템 모니터링 및 비용관리

  • RAG 시스템의 전반적인 성능과 비용 추적
  • 검색과 응답 생성에 소요되는 시간 모니터링하여 시스템 성능 최적화
  • 시스템 운영 중 발생하는 다양한 에러들 추적, 기록
  • Ensemble Retriever와 Cross Encoder Reranker 성능을 지속적으로 모니터링
  • 디버깅 기능으로 RAG의 파이프라인의 각 단계별 처리 과정 상세히 분석 가능

 

전동빈, 김희철 and 김경이. (2025). 복지 정책 정보 제공을 위한 RAG 기반 대화형 시스템 개발. 한국정보통신학회논문지, 29(2), 209-217.

728x90
반응형