🏆90

Weekly Challenge: GraphRAG 시스템 완성

Weekly Project - GraphRAG 시스템

학습 목표

KG 구축 + 하이브리드 검색 + UI 통합 필수: 10 엔티티, 15 관계, 5개 질문 테스트 보너스: Re-ranking, 시각화, 인용, 피드백

요구사항

Weekly Challenge: GraphRAG 시스템 완성

Week 6의 모든 학습을 종합하여 실제 동작하는 GraphRAG Q&A 시스템을 완성하세요.

목표

필수 요구사항

  1. Knowledge Graph 구축

    • 최소 3개 문서에서 Triple 추출
    • 최소 10개 엔티티, 15개 관계
  2. 하이브리드 검색

    • 그래프 검색 + 벡터 검색 통합
    • 쿼리 라우팅 (자동 전략 선택)
  3. Streamlit UI

    • 채팅 인터페이스
    • 대화 기록 유지
    • 그래프 통계 표시
  4. 테스트

    • 5개 이상 질문에 정상 응답
    • 평균 응답 시간 10초 이내

요구사항

선택 요구사항 (보너스)

  1. Re-ranking (20점)

    • LLM 기반 검색 결과 재정렬
    • 점수 기반 필터링
  2. 그래프 시각화 (15점)

    • PyVis로 관련 엔티티 시각화
    • 질문 관련 서브그래프 표시
  3. 소스 인용 (15점)

    • 답변에 출처 표시
    • 관련 그래프 경로 표시
  4. 피드백 시스템 (10점)

    • 좋아요/싫어요 버튼
    • 피드백 저장

평가 기준

항목배점
KG 구축25점
하이브리드 검색25점
Streamlit UI20점
테스트 통과20점
코드 품질10점
보너스+60점

제출물

제출물

  1. GitHub 저장소

    • 전체 소스 코드
    • requirements.txt
    • README.md (설치/실행 방법)
  2. 데모

    • 배포 URL 또는
    • 실행 영상 (5분 이내)
  3. 문서

    • 시스템 아키텍처 설명
    • 구현한 기능 목록
    • 알려진 제한사항

제출 기한

  • Day 5 종료 시점
힌트 보기
Neo4j 연결 시 bolt:// 프로토콜과 neo4j:// 프로토콜의 차이를 확인하세요
Triple 추출 시 LLM 프롬프트에 예시를 포함하면 품질이 크게 향상됩니다
벡터 검색과 그래프 검색의 결과를 병합할 때 점수 정규화가 중요합니다
Streamlit의 st.session_state를 활용해야 대화 기록이 유지됩니다
응답 시간이 느리면 LLM 호출을 캐싱하거나 검색 범위를 제한해보세요