RAG 기반 문서 검색 시스템 - 8(샘플 문서 초기 탑재 작업)

2025. 7. 21. 15:25·사이드 프로젝트

개요

앞선 글에서는 자연어 질문 RAG 검색 및 LLM 기반 Q&A 기능 구현 을 다뤘다. 이번 글에서는 RAG 기반 문서 검색 시스템에 실제 샘플 문서(설비 매뉴얼, 안전지침)를 탑재하고, 전체 파이프라인을 검증한 작업 내용을 정리한다. 문서 메타데이터 정의부터 S3 업로드, 임베딩 생성, Milvus 저장, Q&A 테스트, UI 연동까지의 단계를 처리하였다.

샘플 문서 초기 탑재 작업 흐름

이번 작업의 주요 목표는 다음과 같다.

  • 설비 매뉴얼 및 안전지침 문서 선정 및 메타데이터 정의
  • S3 업로드 및 presigned URL 접근 테스트
  • 텍스트 파싱 및 청킹 처리
  • 임베딩 벡터 생성 및 Milvus 저장
  • Q&A 및 근거 하이라이트 기능 검증
  • 프론트엔드 UI 연동 및 반응형 구현
  • 전체 시나리오 테스트 및 문서화

1. 서브태스크별 작업 내역

  1. 샘플 문서 선정 및 metadata.json 정의
  2. 문서 S3 업로드, presigned URL 접근 확인
  3. 문서 파싱, 512 토큰 단위 청킹 전처리
  4. 임베딩 생성(OpenAI), JSON 저장
  5. Milvus DB 저장 및 Top-k 검색 테스트
  6. Q&A 및 근거 하이라이트, 불확실성 경고 검증
  7. 문서 UI 노출, collapse/expand 및 접근성 구현
  8. 전체 플로우 통합 테스트
  9. 결과 정리 및 노션/깃허브 문서화

2. 주요 코드베이스 및 파일 구조

파일명 설명
upload_sample_documents.py S3 업로드 및 presigned URL 테스트
process_sample_documents.py 텍스트 추출 및 512 토큰 단위 청킹
generate_embeddings.py 임베딩 생성 및 결과 저장(JSON)
store_vectors_to_milvus.py Milvus 저장, 컬렉션 스키마 확인
test_sample_qa_simple.py Q&A 및 근거 추출, 불확실성 검증
test_step_by_step.py 전체 구성요소 통합 테스트

3. 추가 구현 및 테스트 사항

  • 임베딩 차원: 1536 (OpenAI)
  • Milvus Top-k: 5, 컬렉션 스키마 커스텀
  • 토큰 기준 청킹: 512 tokens
  • 문서 접근: presigned URL, 공개 버킷 경로
  • 프론트엔드: 근거 하이라이트 및 반응형 collapse UI 구현
  • 문서화 위치: Notion 작업 로그 및 GitHub README

관련 용어 정리

용어 설명
RAG 검색 기반 문서 추론 구조. 외부 문서를 검색하여 LLM에 함께 입력해 정확도 향상
청킹(Chunking) 긴 문서를 일정 토큰 단위로 분할하여 처리하기 쉽게 만드는 전처리 기법
임베딩(Embedding) 문장을 수치 벡터로 변환하는 과정. 의미 기반 검색의 핵심
Milvus 벡터 검색에 특화된 오픈소스 DB로, 유사도 기반 검색을 빠르게 수행
presigned URL S3의 특정 파일을 인증 없이 일시적으로 접근 가능하게 만드는 URL

마무리

이번 글에서는 샘플 문서를 활용한 문서 업로드, 임베딩, 벡터 저장, 검색, Q&A 기능 검증까지의 과정을 정리하였다. 이 과정을 통해 시스템 전체 흐름에 대한 안정성과 응답 품질을 확인했으며, 이후 실제 사내 문서 적용 시에도 동일한 구조로 확장할 수 있는 기반을 마련하였다. 다음 글에서는 근거 문장 UI(콜랩스/확장, 원본 페이지 이동) 구현을 다룰 예정이다.

'사이드 프로젝트' 카테고리의 다른 글

RAG 기반 문서 검색 시스템 - 10(문서 메타데이터 및 버전 관리 기능 구현)  (1) 2025.07.23
RAG 기반 문서 검색 시스템 - 9(근거 문장 UI 콜랩스/확장 구현)  (3) 2025.07.22
RAG 기반 문서 검색 시스템 - 7(자연어 질문 RAG 검색 및 LLM 기반 Q&A 기능 구현)  (2) 2025.07.21
RAG 기반 문서 검색 시스템 - 6(문서 파싱/임베딩/벡터DB 저장 및 문서화)  (1) 2025.07.21
RAG 기반 문서 검색 시스템 - 5(문서 업로드 및 S3 저장/바이러스 검사 구현)  (2) 2025.07.21
'사이드 프로젝트' 카테고리의 다른 글
  • RAG 기반 문서 검색 시스템 - 10(문서 메타데이터 및 버전 관리 기능 구현)
  • RAG 기반 문서 검색 시스템 - 9(근거 문장 UI 콜랩스/확장 구현)
  • RAG 기반 문서 검색 시스템 - 7(자연어 질문 RAG 검색 및 LLM 기반 Q&A 기능 구현)
  • RAG 기반 문서 검색 시스템 - 6(문서 파싱/임베딩/벡터DB 저장 및 문서화)
moo-n
moo-n
개발관련 기록 블로그
  • moo-n
    moo-n 님의 블로그
    moo-n
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • Cursor AI 교육관련 (4)
      • Cursor AI 사용하기(JAVA) (3)
      • Cursor AI 사용하기(C#) (1)
      • MCP 사용하기 (2)
      • IT 관련 정리 (15)
      • 사이드 프로젝트 (15)
      • 장애대응 매뉴얼 (3)
      • 업무관련 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AI
    Agent
    바이브코딩
    청킹
    방화벽
    notion
    에이전트
    vb6.0
    벡터db
    SVN
    Chunk
    notion mcp
    임베딩
    Rag
    oracleClient
    nextjs
    OCR
    conTeXt
    claude code
    Cursor
    포트포워딩
    LLM
    Chunking
    ClaudeCode
    C#
    Claude
    mcp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
moo-n
RAG 기반 문서 검색 시스템 - 8(샘플 문서 초기 탑재 작업)
상단으로

티스토리툴바