미니 프로젝트3. 재료 기반 요리 레시피 추천 챗봇 서비스

문승기·2025년 4월 8일
1

🧠 재료 기반 요리 레시피 추천 챗봇 서비스 기획서

1. 서비스 개요

이 서비스는 사용자가 가지고 있는 재료, 조리도구, 희망 조리시간 등의 조건을 입력하면, 이를 기반으로 실제 조리 가능한 레시피를 추천해주는 AI 기반 맞춤형 요리 추천 챗봇이다.

기존의 요리 이름 기반 검색 방식에서 벗어나, LLM과 RAG 기술을 활용하여 재료 중심의 요리 추천이라는 새로운 접근 방식을 제시한다.


2. 서비스 기획 배경

  • 🔎 기존 레시피 검색의 한계
    → 사용자가 요리 이름이나 키워드를 모르면 검색이 어려움

  • 🧊 현실적인 사용자 불편
    → 냉장고에 있는 재료로 무엇을 할 수 있을지 몰라 포기하는 상황 다수

  • ⏱️ 사용자 제약 조건 고려 부족
    → 자취생, 바쁜 직장인 등 도구나 시간 제약 반영 어려움

📌 이 챗봇은 유튜브 요리 영상의 자막 데이터를 기반으로 LLM을 파인튜닝하거나 RAG 방식으로 검색하여, 현실적으로 조리 가능한 레시피를 추천하는 실행 가능한 AI 요리 서비스를 지향한다.


3. 사용자 경험 흐름 (UX 시나리오)

✅ 사용자의 입력 단계

  • 보유 재료: 예) 감자, 양파, 계란 (텍스트 입력)
  • 사용 가능한 조리도구: 예) 후라이팬, 전자레인지 (Select Box)
  • 희망 조리 시간: 예) 10분 이하, 30분 이하 (Select Box)

➡️ ‘레시피 추천받기’ 버튼 클릭

🤖 챗봇의 응답 예시

🥔🍳 감자달걀전 요리를 추천드립니다.

부침가루가 없는 경우, 계란과 감자 전분으로 대체 가능합니다.

[요리 순서]
1. 감자를 강판에 갈아 수분 제거
2. 계란을 풀어 감자와 반죽
3. 팬에 기름을 두르고 약불에서 부치기
4. 앞뒤로 노릇하게 익히기
5. 간장 + 식초 찍어 먹기

맛있게 드세요~ 😋

→ 챗봇은 단순한 텍스트 레시피를 넘어서, 대체 가능한 재료 안내, 조리 순서 제공, 사용자 조건에 맞춘 최적화된 제안을 제공한다.


4. 기술 구성 요소

🧠 LLM 모델

  • 파인튜닝 대상: Gemma 3 또는 LLaMA 3 (레시피 스타일에 맞는 표현 학습 목적)

🔍 검색 기반 QA (RAG 방식)

  • 사용자 입력값(재료, 조리도구, 시간)을 기반으로 관련 자막을 검색
  • 검색 결과를 LLM에 제공하여 맥락 이해 + 응답 생성

🔹 Embedding Model

  • OpenAI의 소형 embedding 모델 (텍스트 벡터화 용도)

🔹 Vector DB

  • FAISS 활용, 유사한 요리 레시피 클러스터링 및 검색

5. 데이터 소스

🎥 유튜브 자막 기반

📌 해당 채널들은 자막 품질이 우수하며 실제 요리 흐름이 잘 기록되어 있음


6. 사용자 케이스별 활용 예시

🎯 케이스 유형설명
🧊 냉장고 재료 활용요리 이름 없이도 보유 재료만으로 추천 가능
🍳 조리도구 제한최소한의 도구(전자레인지, 후라이팬 등)만 있어도 요리 가능
⏱️ 시간 부족조리 시간 기반 필터링으로 바쁜 직장인도 활용 가능
🧑‍🍳 요리 초보상세한 조리 순서 제공으로 따라 하기 쉬움
🔄 재료 대체부재한 재료는 대체 가능한 재료로 변경하여 안내

7. 확장 가능성 및 고도화 아이디어

기능설명
🔁 연속 대화 지원“다른 요리는?”, “이 재료 빼고는?” 등의 후속 질의 처리
📷 재료 이미지 인식사진 업로드 시 재료 자동 추출 (OCR + 모델 결합)
🛒 장보기 연동부족한 재료를 쇼핑몰 장바구니로 자동 연결
💾 사용자 맞춤 저장자주 쓰는 조리 조건, 재료, 도구 정보 자동 저장 후 추천 강화

8. 요약 및 기대 효과

이 챗봇은 현실적인 조리 제약을 고려한 개인 맞춤형 요리 추천이라는 명확한 사용자 가치를 제공한다.

  • 입력은 간단하게, 출력은 풍부하고 실행 가능하게
  • 재료 낭비를 줄이고, 요리 진입장벽을 낮추는 실용적인 AI 서비스

9. 응답 생성 및 서비스 동작 프로세스

요리 챗봇은 사용자의 입력값을 바탕으로 두 가지 방식의 응답을 생성하고, 이를 비교하여 최적의 답변을 사용자에게 제공한다. 이 과정은 다음과 같은 단계로 구성된다.

🔁 전체 응답 프로세스 요약

1. 사용자 입력 (재료, 도구, 시간)
     ↓
2. LLM 자체 학습 기반 응답 생성 (결과 A)
     ↓
3. RAG 방식 외부 검색 기반 응답 생성 (결과 B)
     ↓
4. 두 응답을 비교하고 최적 결과 선택
     ↓
5. 사용자에게 최종 응답 제공

🔍 단계별 설명

① 사용자 질문 입력

  • 입력 항목:
    • 보유 재료 (예: 감자, 양파, 계란)
    • 조리 도구 (예: 전자레인지, 후라이팬)
    • 조리 가능 시간 (예: 10분 이하)

② LLM 모델 응답 생성 (결과 A)

  • Fine-tuning된 LLM이 자막 데이터 기반 학습 결과를 바탕으로 빠르고 직관적인 응답 생성

③ LLM + RAG 기반 응답 생성 (결과 B)

  • 입력값을 바탕으로 유사 자막을 벡터 검색 (FAISS)
  • 검색된 자막을 기반으로 LLM이 맥락 있는 응답 생성

④ 응답 비교 및 선택

  • ChatGPT 또는 유사한 판단 로직을 통해 A와 B 비교
  • 사용자 조건, 정보량, 대체 재료 안내 포함 여부 등 기준 적용

⑤ 최종 응답 출력

  • 선택된 결과를 사용자에게 출력
  • 다양한 인터페이스(Streamlit, 앱 등)에서 표시 가능

📊 전체 동작 플로우

[사용자 입력 (재료/도구/시간)]
   ↓
[프론트엔드 → 백엔드 요청]
   ↓
[응답 생성]
   ├─ 결과 A: Fine-tuned LLM
   └─ 결과 B: RAG (벡터 검색 + LLM)
   ↓
[ChatGPT가 A/B 비교]
   ↓
[최종 응답 선택 및 출력]
   ↓
[사용자 후속 질의 대응 / 히스토리 저장]

📌 이 프로세스를 통해 단순한 레시피 검색을 넘어서, 사용자의 상황에 최적화된 실행 가능한 요리 제안을 자동 생성할 수 있다.


10. 참고 자료

profile
AI 모델을 개발하여 이를 홀용한 서비스를 개발하고 운영하는 개발자가 되기 위해 꾸준히 노력하겠습니다!

0개의 댓글