llm 프로젝트 주제 #1

모와이·2026년 2월 19일

SKN23기 프로젝트

목록 보기
2/6
  1. 주제 (무엇을 해결하는 챗봇인지 한 줄)
    자연어로 “계절/상황/분위기/조건(예: 겨울 감성, 경쾌한 남자 우타이테)”을 입력하면, 문서(RAG) 근거 기반으로 실제 존재하는 곡만 추천하고 유튜브 링크로 바로 재생하게 해주는 음악 추천 챗봇

  2. 사용 상황 (누가 언제 쓰는지 한 줄)
    음악을 고르는 시간이 아깝거나 특정 조건(무드·계절·보컬·우타이테 등)에 맞는 곡을 찾기 어려운 사용자가 원하는 조건으로 빠르게 추천받고 바로 재생하고 싶을 때 사용

  3. 실제 입력 데이터 형태 (ex: PDF, 이미지, 문자, 음성 등)

    • 사용자 입력: 텍스트(채팅 질의)

    • 내부 데이터(문서): 곡 메타데이터 + 태그(시즌/무드/장르/우타이테/보컬 성별 등) + 큐레이션 설명 텍스트(CSV→MySQL)

    • 외부 데이터(문서): 유튜브 영상 메타데이터(제목/설명), 공개 플레이리스트/추천 글의 설명 텍스트(수집)

    • 출력: 추천 곡 카드(곡명/아티스트/추천 이유/근거 요약) + 유튜브 링크 버튼

  4. 관련 데이터셋/자료 존재 여부 (대략적인 출처라도)

    • YouTube Data API: 곡 후보 검색 및 “음악 영상” 판별용 메타데이터 확보, 최종 유튜브 링크 확정

    • 공개 플레이리스트/추천 글: “겨울 노래”, “새벽 감성”, “업템포”, “우타이테” 등 seed 곡 리스트 수집(초기 데이터 구축)

    • 팀 내부 구축 문서: 곡별 태그/짧은 큐레이션 문장(‘왜 겨울/경쾌/남보컬/우타이테에 맞는지’)을 생성해 RAG 문서로 사용

  5. 구현 기능 목록 (막연한 기능 말고, 실제 동작 흐름으로 적어주세요)

    1. (데이터 적재) seed 곡 리스트(CSV) → MySQL 저장(곡명/아티스트/태그: season/mood/genre/utaite/gender 등

    2. (유튜브 링크 매칭) 곡명+아티스트로 YouTube API 검색
      → Music 카테고리(10), Topic/Provided to YouTube 우선, 길이/키워드 필터로 vlog 등 일반 영상 제거
      → 확정된 youtube_url을 MySQL에 저장

    3. (문서 생성/RAG 인덱싱) 곡별 큐레이션 설명 텍스트 생성(태그+설명) → 임베딩 → 벡터DB 저장(메타: track_id, tags, source)

    4. (질의 처리) 사용자 질문 입력
      → LLM이 조건 파싱(예: season=winter, mood=upbeat, utaite=true, gender=male, 제외조건 등)
      → 벡터DB에서 관련 문서 top-k 검색 + 메타 필터(tag/gender/season)
      → 검색 결과의 track_id로 MySQL 재조회(정확한 곡/유튜브 링크 확정)
      → LLM이 후보 목록 내에서만 최종 추천 N개 생성(환각 방지) + 각 곡에 근거 1줄 출력
      → UI에서 추천 카드 표시 + 유튜브 링크 클릭으로 즉시 재생

    5. (후속 요청/재추천) “더 경쾌하게/발라드 제외/남보컬 유지” 등 조건 업데이트
      → 동일 파이프라인으로 재검색/재추천

profile
공부하는거 정리하는 블로그

0개의 댓글