[스타트업실험실] CUBO-Curation Bot 서비스 개발 프로젝트
소개
CUBO는 사용자에 맞는 데이터를 바탕으로 큐레이션 봇을 제공하는 SaaS 서비스 로, AI 기반 큐레이션 서비스를 개발하는 프로젝트입니다. 이름은 “Curate Bot”의 앞 글자를 조합한 것으로, AI가 사용자의 텍스트 요청을 이해하여 최적의 정보를 제공한다는 목표를 담고 있습니다.
프로젝트는 최신 AI 기술인 RAG (Retrieval-Augmented Generation)을 활용하여, 검색과 추천을 효율적으로 결합한 서비스를 구축하는 데 중점을 두고 있습니다. 한 달 내 MVP 개발을 목표로, 우선 맛집 정보를 활용한 큐레이션 챗봇을 개발하기로 결정했습니다.
프로젝트 배경 및 동기
- 개인 동기: AI가 사용자의 '말'(텍스트)을 이해하고, 맥락을 파악하여 가장 적합한 정보를 빠르고 정확하게 제공할 수 있다는 점에 주목했습니다.
- 서비스적 가치: 정보의 방대함으로 인해 사용자가 원하는 데이터를 정확히 찾기 어려운 상황에서 큐레이션 서비스를 통해 사용자 경험을 크게 향상시킬 수 있습니다.
도구 및 기술 활용
- RAG 기반 큐레이션 챗봇: LangChain을 활용하여 데이터를 구조화하고, 사용자의 요구사항에 따라 맞춤형 결과를 생성합니다.
- 데이터 수집 도구:
- Obsidian : 스마트 컴포저 플러그인을 활용해 작성한 식당 분석 템플릿 기반으로 식당 정보를 기입해 데이터 반자동 수집.
- Python, Cursor : 식당 분석 자료를 작성하기 위한 로데이터를 확보하기 위해 크롤링 프로그램을 코딩해 분석자료를 자동 수집.
- ChatGPT, Claude, Gemini (GenAI): 가상의 식당 데이터 작성으로 챗봇 초기 테스트 지원.
- 데이터 구조 설계: 맛집의 주소, 메뉴, 가격대, 후기, 영업시간 등을 포함한 데이터 필드 구성.
프로젝트 진행 과정
1. 초기 구상 및 팀 구성
- 프로젝트 아이디어 발표 후, 개발자 1명과 비개발자 6명으로 팀이 구성됨.
https://gamma.app/docs/CUBO-AI--trzir6wmuybgzow
- 비개발자는 데이터 수집과 정리에, 개발자는 RAG 기반 챗봇 개발에 집중.
2. 주제 선정 과정
- 큐레이션 챗봇 아이디어 회의에서 다이어트 레시피, 부동산, 헬스, 탈모 상품, AI 서비스, 해외 주식, 가전제품, 여행 준비, 1인 창업, 명상, 수면, 반려동물, 외국인 맛집, 호텔 평가, 트렌드 등 다양한 주제를 논의
- 데이터에 대한 수집 난이도와 카테고라이징에 대한 토의를 통해 최종적으로 외국인 여행객 대상 맛집 큐레이션으로 결정.
- 선택 이유:
- 맛집 정보는 데이터 수집이 비교적 쉬우며 카테고리가 명확함.
- 외국인이 필요한 현지 정보에 대한 큐레이션 수요 존재.
- 한 달 내 MVP 개발을 위해 우선 맛집을 주제로 선정
3. 서비스 프로토타입 개발
- 데이터베이스에 맛집 정보를 적재하고, 챗봇이 이를 기반으로 답변 생성.
- 예시 질문:
- “할랄 메뉴가 있는 곳 추천해줘.”
- “가격대 2만 원 이하의 맛집은?”
- “영업시간이 아침 7시부터인 식당이 있나요?”
- 데이터 수집이 어려운 부분은 GenAI로 가상 데이터를 생성해 테스트 진행.
4. 경쟁 및 참고 사례 분석
- 유사 프로젝트(대만인 대상으로 한 식당 큐레이터) 분석을 통해 차별화 전략 수립.
- 외국인 리뷰 플랫폼(TripAdvisor, Google Maps 리뷰) 참고로 데이터 품질 향상.
결과와 배운 점
결과
- 개발 진행 상황: 랭체인 document loader를 활용하여 웹페이지/텍스트를 DB에 적재하고, 챗봇에 system/user 입력 템플릿을 적용하여 아웃풋을 받는 과정을 구현했습니다. 맛집별 데이터 구조를 확인했으며, 이를 바탕으로 임베딩 및 데이터 큐레이션 개발을 진행해야 합니다.
- 데이터 수집 진행 상황: 데이터 수집 자동화의 어려움으로 인해, 현재는 수동으로 데이터를 확보하고 가상 데이터를 생성하여 테스트를 준비하고 있습니다. 크롤링 데이터를 확보하여 자동화 또는 반자동화 프로세스를 구축하는 데 집중하고 있습니다.
배운 점
1. 데이터 정합성의 중요성: 수집한 맛집 데이터가 정확하고 최신 정보여야 챗봇의 신뢰도를 유지할 수 있음.
2. 사용자 중심 설계: 외국인 여행객의 니즈에 초점을 맞춰, 할랄/비건 옵션 등 차별화 요소를 강화.
3. 효율적인 팀워크: 역할 분담과 협업을 통해 각자의 전문성을 발휘하며 프로젝트를 효율적으로 진행.
향후 계획
- 데이터 수집: 맛집 분석 정보 수집 및 RAG 데이터 구축에 집중합니다.
- 다양한 맛집 정보 출처(네이버, 카카오, 다이닝코드 등) 크롤링 및 수집
- 옵시디언 스마트 컴포저를 활용하여 데이터 정제 및 가공
- 수집된 데이터의 정합성 검증 및 지속적인 업데이트
데이터 수집 자동화의 어려움으로 인해 3가지 트랙으로 업무를 분담하여 진행합니다.
1. 옵시디언 스마트 컴포저를 이용하여 템플릿에 식당 정보 기입: 고정욱, 장문희 담당
- 식당 세부 정보 및 평가에 대한 데이터를 markdown 파일로 생성.
2. 크롤링 자동화를 통해 로데이터 확보 후 식당 분석 자료 생성 자동화 코딩: GPTaku, 레오 담당
- Selenium을 활용해 동적 크롤링으로 식당 분석 자료를 작성하기 위한 Raw Data 생성
3. GenAI를 활용해 챗봇 프로토타입 테스트를 위한 가상의 데이터 작성: 홍진경 담당
- 챗봇 개발: RAG를 활용한 외국인 맛집 큐레이션 챗봇을 개발합니다.
개발자는 챗봇 프로토타입 개발을 시작했으며, 랭체인 document loader를 활용한 웹페이지/텍스트를 디비에 적재, 챗봇에 system/user 입력 템플릿을 사용해 아웃풋을 받는 과정, 맛집 별 데이터 구조 확인을 진행했습니다.
- 다양한 조건의 질문에 대한 챗봇 응답 정확도 및 사용자 경험 개선
- 테스트: 개발된 챗봇을 테스트하고 피드백을 반영하여 개선합니다.
- 챗봇 테스트를 통해 데이터와 사용자 입력 간의 연동성을 높이는 데 집중
- 사용자 피드백 기반으로 챗봇 기능 개선 및 고도화