Github : SKN03-FINAL-2Team
개발 인원 : 5명
기여도 : 62% (PMO, PL)
프로젝트 목적 : LLM을 이용한 맞춤형 문화 예술 컨텐츠 추천 플랫폼 개발
개요
현대 사회에서는 디지털 기술의 발전과 함께 문화 예술 콘텐츠의 접근성이 향상되었다. 하지만 인터넷과 모바일 기기를 통해 수많은 뮤지컬, 전시회, 공연 정보에 쉽게 접근할 수 있으나 그만큼 정보의 양이 방대해져서 개인이 자신의 취향에 맞는 콘텐츠를 선택하기 어려워고 검색형 추천시스템이 대부분이다. 따라서, 개인의 선호도와 취향을 고려하여 뮤지컬과 전시회를 추천해주는 지능형 대화형 추천 플랫폼의 필요성을 느낌.
담당 역할
•
CoT, GoT 기법을 응용한 Prompt Engineering
•
LangChain, LangGraph를 사용한 Modular RAG Pipeline 설계 및 구축
•
LangSmith, RAGAs를 활용한 RAG Pipeline 실시간 비용 및 성능 모니터링
•
비용 및 성능 이상 지표에 대한 Slack Logging Alert 기능 구현
•
RAGAs를 활용한 RAG Pipeline 평가 및 개선
•
PyTorch를 사용한 OCR Model Fine-tuning
•
Streamlit을 사용한 Web Application 개발
•
MongoDB Database 구축 및 Clustering
•
AWS Cloud Architecture 설계 및 구축
•
Git/Github, Zira를 이용한 프로젝트 및 팀관리
기술 스택 (I used)
•
언어 : Python
•
프레임워크 : Streamlit LangChain LangGraph RAGAs Pytorch
•
데이터베이스 : MongoDB
•
AWS : IAM EventBridge CodePipeline ECR ECS ALB Route53 S3 Glue Batch Lambda ACM
•
ETC Devops : Atlas Git/Github Docker Jira LangSmith
아키텍처
흐름도
서비스 (RAG Pipeline)
데이터
실험
문제 & 목표
•
인터넷과 모바일 기기를 통해 수많은 뮤지컬, 전시회, 공연 정보에 쉽게 접근할 수 있으나 그만큼 정보의 양이 방대해져서 개인이 자신의 취향에 맞는 콘텐츠를 선택하기 어려워고 검색형 추천시스템이 대부분이다.
•
현재 상용화된 티켓 플랫폼에서는 다음 3가지의 문제가 대두된다.
◦
선택 과부하: 방대한 정보로 인해 사용자가 원하는 콘텐츠를 찾는 데 시간이 많이 소요됨.
◦
개인화 부족: 현재 대부분의 플랫폼은 개인의 취향이나 이전 활동을 고려하지 않은 일반적인 추천을 제공
◦
사용자 경험 저하: 맞춤형 추천이 부족하여 사전 지식이 없으면 사용자가 만족할 만한 콘텐츠를 발견하기 어렵다.
•
시장 정보
1.
인터파크티켓: 다양한 공연과 전시회의 예매를 지원하며, 사용자 리뷰와 평점을 제공하나 단순한 정보 제공에 그쳐 사용자 맞춤 컨텐츠 정보를 제공하는 것은 부족하고 관람이력이나 선호도 기반의 추천도 없음
2.
아트맵: 전시회 정보를 중심으로 한 플랫폼으로, 위치 및 관심사 기반의 전시회 검색과 정보 제공을 주요 기능으로 한다. 전시회 정보에 집중되어 있어, 뮤지컬이나 공연 등의 정보는 부족
3.
멜론티켓: 음악 관련 공연과 페스티벌 예매를 주로 다루며, 아티스트 정보와 공연 소식을 제공한다. 음악 공연에 집중되어 있어, 전시회나 연극 등의 정보는 제공하지 않는다.
4.
예스24: 도서, 공연, 영화 등 다양한 문화 콘텐츠의 예매와 구매를 지원하는 종합 플랫폼이다. 다양한 분야를 다루지만, 특정 분야에 대한 깊이 있는 추천보다는 일반적인 추천에 그친다.
가설
•
LLM 기반 RAG 추천 시스템 도입 시 개인화 효과
◦
LLM과 RAG를 결합한 추천 시스템을 도입하면, 기존의 단순 정보 제공형 플랫폼 대비 사용자의 콘텐츠 선택 만족도, 클릭률(CTR), 체류시간 등이 유의미하게 향상될 것이다.
◦
기존 플랫폼은 개인화나 선호도 반영이 부족하고, 정보가 단순 나열되어 사용자가 의사결정에 어려움을 겪는다.
◦
LLM 기반 RAG 시스템은 사용자의 이전 히스토리, 관심사 이미지, 텍스트 질의 등을 벡터로 임베딩하여 높은 유사도의 전시회/공연 정보를 Retrieval하고, 이 정보를 LLM으로 자연스럽게 재구성함으로써 사용자에게 맥락화된, 선호도 기반 추천을 제공한다.
•
RAG 활용에 따른 정보 검색 정확도 및 탐색 효율성 향상
◦
RAG를 통해 LLM이 단순히 모델 내부 지식에 의존하지 않고, 전시회 DB(벡터 스토어)에서 실시간으로 관련 정보(전시 타이틀, 위치, 테마)를 가져와 사용자의 질의에 맞게 재조합할 때, 사용자가 원하는 정보에 도달하는 속도와 정확도가 향상될 것이다.
◦
단순 LLM 기반 대화는 가끔 환각(hallucination) 문제로 이어질 수 있으나, RAG를 통해 최신 정보와 정확한 자료를 온디맨드로 제공함으로써 사용자가 원하는 특정 전시나 공연에 빠르게 접근하도록 돕는다.
•
다양한 콘텐츠 영역 통합 추천의 개인화 심화
◦
기존 플랫폼들은 특정 카테고리(뮤지컬, 전시, 공연)에 집중되거나 범용적 추천만 제공했다.
◦
LLM+RAG 시스템은 DB에 축적된 다양한 카테고리(전시회, 공연, 뮤지컬, 페스티벌 등)를 하나의 통합 벡터 스토어로 관리하고, 사용자의 관심사(키워드, 이미지, 텍스트 맥락)로부터 도출된 벡터 쿼리를 통해 다양한 장르를 교차 추천함으로써, 사용자는 이전보다 더욱 폭넓고 취향 맞춤형 추천을 받게 된다.
◦
결과적으로 사용자가 새로운 장르나 콘텐츠를 발견하는 빈도가 증가할 것이다.
실험 및 검증 (진행중)
•
실험 디자인(대조군 vs 실험군)
◦
대조군(Baseline): 기존 상용 플랫폼 예) 인터파크 티켓 또는 단순 검색형 추천 시스템
◦
실험군(Experimental): LLM + RAG 기반 추천 시스템 (첨부한 흐름도를 기반으로 구현)
◦
사용자 그룹을 무작위로 두 집단에 나누어 각각 다른 시스템을 사용하도록 유도
•
평가 지표
◦
정량적 지표
▪
CTR(Click Through Rate): 추천 콘텐츠 중 실제 예매 상세 페이지 클릭 비율
▪
페이지 이동 횟수 감소(탐색 효율성): 원하는 정보 도달까지 필요한 클릭 수 감소 여부
▪
RAGAs 성능지표
▪
LangSmith 프로젝트 세부 지표
◦
정성적 지표
▪
사용자 만족도 설문: 설문을 통해 추천 품질, 관련성, 만족도 평가
▪
NPS(Net Promoter Score): 서비스 추천 의향 점수
•
검증 절차
1.
사전 실험(Pre-Test)
•
제한된 수의 내부 테스터에게 LLM+RAG 시스템 시연
•
초기 오류 수정 및 UX 개선
2.
A/B 테스트 진행
•
일정 기간 동안 일부 사용자는 기존 시스템(대조군), 다른 일부는 LLM+RAG 시스템(실험군) 사용
•
충분한 사용자 세션 확보 후 정량적 지표 수집
3.
사후 설문 및 인터뷰(정성 데이터 수집)
•
실험 종료 후 무작위로 추출한 사용자에게 설문 요청
•
인터뷰를 통해 사용자의 체감 만족도, 개선점 파악
4.
결과 분석
•
통계적 유의성 검증(예: t-test, Mann-Whitney U test 등)을 통해 실험군이 대조군 대비 유의미한 개선을 보이는지 분석
•
만약 CTR, CVR 등의 핵심 지표가 통계적으로 유의하게 개선되었다면, 가설은 지원됨.
정량적 성과
•
LangGraph를 이용하여 각 에이전트의 파이프라인 전체 동작 속도를 25s↑ 에서 8s↓로 대폭 개선
•
사용자 쿼리에 따라 유동적으로 HyDE 역할을 수행하는 모델을 변경하여 비용 절감
◦
이미지가 들어올 경우 발생 비용: $1.25(Multi)
◦
텍스트만 들어올 경우 발생 비용: $0.075(Single)
▪
기준 : 1M Input Tokens
•
RAGAs Score의 100개의 테스트셋 데이터를 사용한 평가 과정에서 Context Recall 부분 성능 0.98 달성
•
Easy-OCR 모델을 Fine-tuning하여 Confidence Score를 기존 평균 0.61에서 0.976로 성능 개선
정성적 성과
•
기존 프로젝트에서 사용되던 일부 모듈을 재사용해 사용함으로서 Modular RAG 장점 극대화
•
RAG, LLM에 사용되는 노드 및 분기 처리 함수, 도구 모듈을 저장해놓는 Module In Repository 시스템을 구축하여 다양한 파이프라인에서 사용할 수 있게끔 구현
•
LangSmith 및 RAGAs를 이용하여 성능 및 비용을 Slack에서 특정 값에 대해 실시간으로 모니터링할 수 있는 모니터링 자동 Alert 시스템 개발