GPTaku
GPTaku
🌿 뉴비 파트너
🚀 SNS 챌린지 달성자

[스타트업실험실] CUBO-Curation Bot 서비스 개발 프로젝트

[스타트업실험실] 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 입력 템플릿을 사용해 아웃풋을 받는 과정, 맛집 별 데이터 구조 확인을 진행했습니다.


- 다양한 조건의 질문에 대한 챗봇 응답 정확도 및 사용자 경험 개선

- 테스트: 개발된 챗봇을 테스트하고 피드백을 반영하여 개선합니다.

- 챗봇 테스트를 통해 데이터와 사용자 입력 간의 연동성을 높이는 데 집중

- 사용자 피드백 기반으로 챗봇 기능 개선 및 고도화

3

👉 이 게시글도 읽어보세요