2분반-뮤즈

cdc wiki
Com239 (토론 | 기여)님의 2025년 12월 18일 (목) 20:09 판 (관련사업비 내역서)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : RAG(Retrieval-Augmented Generation) 구조를 이용한 요리 레시피 챗봇 시스템

영문 : Cooking Recipe Chatbot System Using Retrieval-Augmented Generation (RAG) Architecture

과제 팀명

뮤즈

지도교수

유하진 교수님

개발기간

2025년 9월 ~ 2025년 12월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20189200** 유*승(팀장)

서울시립대학교 토목공학과 20208600** 조*진

서울시립대학교 컴퓨터과학부 20199200** 이*민

서울시립대학교 컴퓨터과학부 20189200** 고*서

서울시립대학교 컴퓨터과학부 20209200** 이*호

서론

개발 과제의 개요

개발 과제 요약

◇ 본 과제는 RAG(Retrieval-Augmented Generation) 구조를 기반으로 한 요리 레시피 챗봇 시스템을 개발하는 것을 목표로 하였다.

◇ 한국어 SBERT 임베딩 모델을 활용하여 레시피 데이터를 벡터화하고, 의미 기반 유사도 검색이 가능한 지능형 정보 검색 기능을 구현하였다.

◇ FAISS 벡터 검색 엔진과 레시피 데이터베이스를 연동하여 대규모 레시피 데이터에 대한 고속 검색이 가능한 시스템 구조를 설계하였다.

◇ 프론트엔드 사용자 인터페이스(UI)와 백엔드 RAG 파이프라인을 연동하여, 사용자가 자연어로 질의하면 실시간으로 응답을 제공하는 대화형 챗봇 서비스를 구축하였다.

개발 과제의 배경

◇ 기존의 레시피 검색 서비스는 키워드 기반 검색에 의존하여 사용자의 다양한 표현이나 복합적인 요구를 충분히 반영하지 못하는 한계가 존재하였다.

◇ 최근 대규모 언어모델(LLM)의 발전과 함께, 검색과 생성 기능을 결합한 RAG 구조가 지능형 정보 제공 시스템의 새로운 대안으로 주목받고 있다.

◇ 본 과제는 이러한 기술적 흐름을 반영하여, 의미 기반 검색과 자연어 응답 생성을 결합한 요리 레시피 챗봇을 구현함으로써 사용자 경험을 향상시키고자 하였다.

◇ 이를 통해 사용자는 재료, 조리 시간, 난이도 등 다양한 조건을 자연어로 입력하여 보다 직관적이고 정확한 레시피 추천을 받을 수 있는 효과를 기대할 수 있다.

개발 과제의 목표 및 내용

◇ 한국어 자연어 질의를 효과적으로 처리하기 위해 한국어 SBERT 임베딩 모델을 적용하고, 레시피 데이터의 의미 정보를 벡터 형태로 표현하는 것을 목표로 하였다.

◇ 벡터화된 레시피 데이터를 FAISS 기반 벡터 검색 엔진에 저장하여, 빠르고 정확한 유사도 검색이 가능한 RAG 파이프라인을 구축하였다.

◇ 사용자의 입력 질의(재료, 시간, 난이도, 알레르기 정보 등)를 분석하여 조건 기반 필터링과 맞춤형 응답 생성이 가능하도록 시스템을 설계하였다.

◇ 프론트엔드와 백엔드를 연동한 대화형 인터페이스를 구현하여, 실제 서비스 환경에서도 활용 가능한 요리 레시피 챗봇을 완성하는 것을 목표로 하였다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

◇ LLM 기반 대화형 AI

• OpenAI GPT, Anthropic Claude, Google Gemini, Meta LLaMA 등 다양한 대규모 언어 모델이 오픈/상용화되어 있음. 최근 트렌드는 RAG(Retrieval-Augmented Generation) 기법을 통한 신뢰성 강화, 멀티모달 모델(텍스트·이미지·음성 결합), 경량화 모델(온디바이스 실행)으로 발전.

◇ 레시피 AI

• Cookpad(일본), Tasty 등 글로벌 서비스에서 AI 기반 레시피 검색·추천 기능을 제공.

◇ IoT/스마트 키친 연계

• LG ThinQ, Samsung SmartThings 등 가전사들이 AI 비서를 주방 환경에 접목 중. 레시피 안내 + IoT 조리기기 제어까지 통합하는 사례는 초기 단계.


  • 특허조사 및 특허 전략 분석

◇ 인터넷 식재료 주문정보를 이용한 추천 요리와 그 레시피 제공 장치 (Apparatus for providing recommended food and recipe thereof using internet food material ordering information)


  • 기술 로드맵

◇ 1. 데이터 수집 및 DB 구축: 레시피 데이터를 수집하고 필요한 정보를 추출하고 틀에 맞춰 정제하여 DB 구축

◇ 2. 챗봇 생성: RAG과 LLM을 결합하여 구축된 DB를 사용하는 챗봇 구현

◇ 3. 개인 맞춤형 서비스 개발: 사용자 피드백을 반영하여 사용자 속성 필터를 RAG 검색에 반영 (ex. 갑각류 알레르기 제외, 500kcal 이하 레시피 선호 등)

시장상황에 대한 분석

  • 경쟁제품 조사 비교

◇ Samsung Food

• 사용자의 신체, 나이, 운동 정보 등 개인정보를 바탕으로 섭취 목표량 설정, 일주일 식단, 맞춤형 레시피, 영양 섭취 진척도 관리 등을 제공

• 추가로 비전 AI 기술 (CLIP/Open AI) 을 활용하여 식재료 사진을 찍고 앱에서 바로 식재료 등록이 가능한 서비스도 제공

◇ SKT-누구(NUGU) 레시피 서비스

• 인공지능 AI 스피커 NUGU에 레시피 추천을 음성으로 요청하면 발화 시각에 어울리는 요리 레시피를 랜덤으로 추천하고, 특정 레시피를 요청하면 필요한 재료부터 단계별로 레시피를 알려주는 서비스 (실제 가전제품과 연계)

• 온라인 서점 잡지 판매 순위 1위 ‘㈜이밥차’와 제휴하여 레시피 제공


  • 마케팅 전략 제시

◇ 타겟 소비자 세분화

• 1차 타겟: 20~30대 1인 가구, 자취하는 학생 혹은 직장인 (일상생활에서 gpt 등 챗봇과 유사한 서비스를 이미 잘 이용하고 있어서 거부감이 덜 하고 직접 해먹는 요리의 경제성을 어필하기 좋음)

• 2차 타겟: 요리 초보자, 헬스케어 관심층 (1차 타겟보다 좀 더 넓은 타겟으로, 요리에 관심은 있지만 실력이 부족하거나 헬스케어에 관심이 있어 영양성분과 칼로리를 신경쓰는 사람들에게 해당 제품을 어필하기 좋음)

◇ 핵심 메시지

• “내 냉장고 속 재료만으로 누구나 만들 수 있는 요리 레시피” : 추가 식자재를 대량으로 구매하지 않고도 누구나 쉽게 보고 따라할 수 있는 레시피를 제공한다고 소비자에게 전달하여 직접 요리를 해먹지 않는 커다란 이유 중 식자재 부족, 레시피 모름을 해소시켜 줌

◇ 실행 전략

• 요리 크리에이터와 협업

• 온라인 식자재 쇼핑몰, 레시피 제공 사이트 (마켓컬리, 쿠팡프레시, 만개의 레시피 등)과 연계

• 사용자 참여 유도 (나만의 레시피 등록, 커뮤니티 활성화)

• 과금 모델 : 유료 구독한 사용자에게는 식단 계획, 칼로리 자동 계산, 광고 제거 등의 추가 서비스 제공.

개발과제의 기대효과

기술적 기대효과

◇ RAG 구조를 적용함으로써 단순 키워드 검색을 넘어, 의미 기반 정보 검색과 자연어 응답 생성이 결합된 고도화된 검색 시스템 구현이 가능하다.

◇ FAISS를 활용한 벡터 검색 구조는 대규모 데이터 환경에서도 높은 검색 성능과 확장성을 제공할 수 있다.

◇ 사용자 조건(알레르기, 선호 재료 등)을 반영한 필터링 로직과 LLM 기반 응답 생성 알고리즘을 통해 개인화된 정보 제공 기술을 확보할 수 있다.

◇ 사용자 피드백을 반영하는 Feedback RAG 구조를 통해, 시스템 성능을 지속적으로 개선할 수 있는 지능형 학습 기반 서비스로 확장 가능하다.

경제적, 사회적 기대 및 파급효과

◇ 본 시스템은 요리, 식생활, 헬스케어 등 다양한 분야로 확장 가능한 범용 RAG 기반 챗봇 서비스로 활용될 수 있다.

◇ 개인 맞춤형 레시피 추천을 통해 식재료 낭비를 줄이고, 건강한 식습관 형성에 기여할 수 있다.

◇ 외식업, 밀키트 산업, 식품 유통 서비스 등과 연계하여 새로운 부가가치 창출이 가능하다.

◇ AI 기반 생활 밀착형 서비스 제공을 통해 디지털 기술의 사회적 활용도를 높이고, 사용자 친화적인 AI 서비스 확산에 기여할 수 있다.

기술개발 일정 및 추진체계

개발 일정

뮤즈 개발일정.png

구성원 및 추진체계

◇ 팀 역할과 책임

• 기획(전체): 범위, 일정, 예산 요구사항

• 백엔드(유현승): 레시피/영양/기록 API, 데이터 모델, 테스트

• AI·Data(조현진/이문호/고준서): 레시피 RAG, 프롬프트 가드, 영양계산 및 알러지 필터링 로직/검증

• 프론트(이승민): 검색/레시피뷰/타이머/대시보드, 접근성, 성능 최적화

• Infra(유현승/이승민): CI/CD, 모니터링, 비용/보안, 배포·롤백

◇ 추진체계

• 요청/변경 제안 등록: 노션 티켓(목표/완료기준/마감 포함) 생성

• 개발 & PR: 기능 브랜치 → PR 2인 승인 + 테스트 코드 통과

• 배포 & 롤백: 태그 배포, 문제 시 즉시 롤백

설계

설계사양

제품의 요구사항

본 과제는 요리 레시피 검색 및 추천 서비스를 제공하는 RAG 기반 챗봇 시스템으로서, 사용자의 실제 활용 환경과 서비스 목적을 고려하여 사용자 요구사항을 정의하였다. 요구사항은 필수 요구사항(Design, D)과 선택 요구사항(Wish, W)으로 구분하여 설계 우선순위를 명확히 하였다.

뮤즈 사용자요구사항.png

◇ R1 (D): 시스템은 한국어 자연어 입력을 이해하고 의미 기반 검색을 수행할 수 있어야 한다.

◇ R2 (D): RAG(Retrieval-Augmented Generation) 구조를 활용하여 신뢰도 높은 레시피 응답을 생성할 수 있어야 한다.

◇ R3 (D): 웹 기반 UI 환경에서 사용자 입력 및 응답 출력이 가능해야 한다.

◇ R4 (D): 레시피 데이터(제목, 재료, 조리 과정 등)를 효율적으로 저장하고 검색할 수 있어야 한다.

◇ R5 (W): 사용자의 입력 조건(재료, 시간, 난이도 등)을 반영한 맞춤형 검색을 지원해야 한다.

◇ R6 (W): 사용자 피드백을 기반으로 추천 결과를 개선할 수 있는 기능을 제공해야 한다.

이와 같은 요구사항 정의를 통해 핵심 기능 구현과 서비스 고도화 요소를 구분하여 단계적 개발이 가능하도록 설계하였다.

설계 사양

본 시스템은 사용자 요구사항을 충족하기 위해 핵심 기능을 정의하고, 실제 구현 결과를 바탕으로 정량적 성능 목표를 설정하였다. 각 기능은 완료작품 평가 결과를 기준으로 현실적이고 검증 가능한 목표 수준으로 정의되었다.

◇ F1: 사용자 질의 입력 및 전처리 기능

기능 설명:

사용자의 한국어 자연어 질의를 입력받아 불필요한 공백, 특수문자 제거 및 문장 정규화를 수행한다.

정량 목표:

질의 전처리 정확도 99% 이상

전처리 오류로 인한 검색 실패율 1% 이하

◇ F2: 레시피 데이터 임베딩 및 검색 기능 (FAISS 기반)

기능 설명:

한국어 SBERT 임베딩을 이용하여 질의 및 레시피 문서를 벡터화하고, FAISS 기반 Top-k 유사도 검색을 수행한다.

정량 목표:

Top-k 검색 결과의 실제 관련도 90% 이상

약 10만 개 레시피 데이터 환경에서 검색 응답 시간 1초 이내

◇ F3: RAG 기반 응답 생성 기능 (LLM 연동)

기능 설명:

검색된 레시피 문서를 LLM 입력으로 결합하여, 맥락 일관성이 유지된 자연스러운 응답을 생성한다.

정량 목표:

질문–응답 매칭 정확도 95% 이상

평균 응답 생성 지연시간 3초 이내

레시피 구조 누락률 5% 이하

◇ F4: 사용자 피드백 반영 및 응답 개선 기능

기능 설명:

사용자 평가(만족/불만족, 점수)를 수집하여 RAG 검색 및 응답 생성 과정에 가중치로 반영한다.

정량 목표:

피드백 반영 후 재질의 시 만족도 평균 10% 이상 향상

의미적 유사도 저하 없이 응답 품질 유지

피드백 반영 실패 사례 10% 이하

◇ F5: 사용자 인터페이스 및 사용성 지원 기능

기능 설명:

웹 UI를 통해 실시간 질의·응답, 대화 이력 확인, 평가 입력이 가능하도록 한다.

정량 목표:

사용자 시나리오 테스트 기준 오류 발생률 5% 이하

전체 사용 흐름에서 서비스 중단 없이 수행 성공률 95% 이상

개념설계안

본 시스템은 성능, 확장성, 비용 효율성을 고려하여 다음과 같은 기술적 선택을 기반으로 설계되었다.

◇ 한국어 의미 이해 성능이 우수한 SBERT 임베딩 모델을 활용하여 자연어 질의 및 레시피 데이터의 벡터화를 수행하였다.

◇ 대규모 벡터 데이터에 대해 빠른 검색 성능을 제공하는 FAISS 벡터 검색 엔진을 적용하였다.

◇ 검색 결과를 기반으로 응답을 생성하는 RAG 구조를 채택하여, 정보의 신뢰성과 응답의 자연스러움을 동시에 확보하였다.

◇ 임베딩 모델은 오픈소스를 활용하고, 응답 생성 단계에서만 OpenAI API 기반 LLM을 사용하여 비용 효율성을 확보하였다.

◇ 프론트엔드 서버, 백엔드 서버, 챗봇 서버로 이루어진 3-Tier 아키텍처 구조를 채택하여 독립적 확장성과 핵심 서비스 보호, 기술 스택 최적화를 확보하였다.

◇ 프론트엔드의 기술스택은 Next.js, React, TypeScript 5, Axios 등을 채택하였으며, 백엔드에서는 Kotlin, JDK 21, MySQL 8을 채택하였고, 챗봇 서버는 Python FastAPI, Langchain 등을 사용하였다.

뮤즈 시스템구조.png

이론적 계산 및 시뮬레이션

본 과제에서는 RAG 기반 요리 레시피 챗봇 시스템의 성능을 극대화하기 위해, 검색기 선택, 언어 모델 선택, 그리고 사용자 피드백 반영 방식에 대해 이론적 분석과 실험적 시뮬레이션을 병행하였다.

먼저 문서 검색 단계에서는 벡터 유사도 기반 검색의 효율성과 정확도를 고려하여 여러 검색 방식을 비교하였다. 코사인 유사도를 기반으로 한 벡터 검색 알고리즘을 중심으로, 검색 속도와 Top-k 결과의 실제 관련도를 평가하였다. 그 결과, 대규모 벡터에 대해서도 빠른 검색 속도를 유지하면서 높은 검색 정확도를 제공하는 FAISS(Facebook AI Similarity Search)가 본 시스템에 가장 적합한 검색기로 판단되었다. FAISS는 고차원 임베딩 공간에서의 근사 최근접 이웃(ANN) 탐색을 통해 실시간 서비스에 적합한 성능을 보였다.

다음으로 응답 생성 단계에서는 여러 LLM 후보에 대해 응답 품질, 한국어 이해도, 문맥 일관성, 응답 안정성을 기준으로 비교 실험을 수행하였다. 다양한 테스트 질의를 통해 생성된 응답을 비교한 결과, 한국어 자연어 질의에 대한 이해도가 높고 RAG 구조와의 결합 시 맥락 유지 능력이 우수한 ChatGPT 계열 모델이 가장 적합한 생성 모델로 선정되었다.

RAG 기반 요리 레시피 챗봇의 실사용 가능성을 검증하기 위해, 약 10만 개 규모의 요리 레시피 데이터를 웹 크롤링을 통해 수집하였다. 수집된 레시피 데이터는 요리명, 재료, 조리 과정 등의 텍스트 정보를 포함하며, 전처리 과정을 거쳐 벡터 임베딩 형태로 변환되었다.

대규모 레시피 데이터를 대상으로 벡터 검색 성능을 검증하기 위해, 해당 임베딩 데이터는 FAISS 기반 벡터 데이터베이스에 저장되었다. 이를 통해 데이터 규모 증가에 따른 검색 속도 저하 여부와 Top-k 검색 결과의 관련도를 실험적으로 평가하였다.

실험 결과, 약 10만 개 레시피 벡터가 저장된 환경에서도 검색 응답 시간은 실시간 서비스에 적합한 수준을 유지하였으며, 의미적 유사도를 기반으로 한 레시피 검색이 안정적으로 수행됨을 확인하였다. 이는 본 시스템에서 채택한 FAISS 기반 벡터 검색 구조가 대규모 데이터 환경에서도 효과적으로 동작함을 입증한다.

또한 대규모 레시피 데이터 구축을 통해 단순 키워드 기반 검색이 아닌, 사용자의 자연어 질의에 대해 의미 기반 검색이 가능함을 확인하였으며, 이는 RAG 구조를 적용한 요리 레시피 챗봇의 실질적인 활용 가능성을 뒷받침한다.

사용자 피드백을 반영한 RAG 고도화를 위해, 검색 결과와 사용자 평가 점수를 결합하는 가중치 조정 실험을 수행하였다. 이 과정에서는 피드백 가중치가 지나치게 높을 경우 의미적 유사도가 저하되는 문제를 확인하였으며, 반대로 가중치가 낮을 경우 추천 개선 효과가 제한됨을 확인하였다. 여러 차례의 시뮬레이션을 통해, 의미적 유사성을 유지하면서도 사용자 만족도를 향상시킬 수 있는 최적의 가중치 범위를 도출하였다.

이러한 이론적 계산과 시뮬레이션 결과를 기반으로, 본 시스템은 검색 정확도, 응답 품질, 사용자 만족도를 균형 있게 확보할 수 있도록 설계되었다.

상세설계 내용

본 시스템은 웹 기반 요리 레시피 챗봇 서비스로, 범용적인 서버 환경에서도 안정적으로 동작할 수 있도록 하드웨어 요구사항을 최소화하는 방향으로 설계되었다.

서버 측 하드웨어는 백엔드 애플리케이션 서버와 데이터베이스 서버를 중심으로 구성되며, 초기 개발 및 테스트 단계에서는 단일 서버 환경에서도 운영 가능하도록 설계하였다. CPU는 다중 요청 처리를 고려하여 멀티코어 환경을 기준으로 하였으며, 메모리는 벡터 데이터베이스 및 임베딩 연산을 원활히 처리하기 위해 충분한 용량을 확보하도록 하였다.

LLM의 경우 외부 API 기반(ChatGPT)을 활용함으로써, 대규모 GPU 자원이 필요한 모델 추론 부담을 서버 측에서 제거하였다. 이를 통해 고성능 GPU 없이도 안정적인 서비스 운영이 가능하도록 하였으며, 이는 시스템의 비용 효율성을 높이는 설계 선택이다.

사용자 단말은 별도의 고사양 장비를 요구하지 않으며, 웹 브라우저가 설치된 PC 또는 모바일 기기에서 모두 접근 가능하도록 하였다. 이러한 하드웨어 설계는 서비스 접근성을 높이고, 향후 사용자 수 증가 시에도 서버 자원 확장을 통해 유연하게 대응할 수 있도록 한다.

본 시스템의 소프트웨어 설계는 모듈화, 확장성, 유지보수성을 핵심 목표로 하여 이루어졌다. 전체 소프트웨어 구조는 프론트엔드, 백엔드, RAG 파이프라인, 데이터베이스 계층으로 명확히 분리되어 있다.

프론트엔드는 웹 기반 UI로 구현되며, 사용자 입력 처리, 실시간 대화 화면, 응답 출력, 평가 및 피드백 입력 기능을 담당한다. 사용자 인터페이스는 직관적인 사용성을 고려하여 설계되었으며, 백엔드와는 API 기반 통신을 통해 연동된다.

백엔드는 API Gateway를 중심으로 구성되며, 질의 처리, RAG 파이프라인 호출, 피드백 처리, 대화 히스토리 관리 기능을 수행한다. RAG 파이프라인 내부에서는 질의 임베딩, FAISS 기반 문서 검색, LLM 응답 생성이 순차적으로 이루어진다. 각 단계는 독립적인 모듈로 구성되어 향후 검색기 또는 LLM 교체 시에도 전체 시스템 수정 없이 대응 가능하도록 설계하였다.

데이터 관리 측면에서는 벡터 데이터베이스와 관계형 데이터베이스를 분리하여 사용한다. 벡터 데이터베이스는 레시피 문서의 임베딩을 저장하고 고속 유사도 검색을 수행하며, 관계형 데이터베이스는 사용자 정보, 대화 기록, 피드백 데이터를 관리한다. 이러한 분리 설계는 검색 성능과 데이터 관리 효율성을 동시에 확보할 수 있는 구조이다.

종합적으로 본 소프트웨어 설계는 RAG 기반 챗봇 서비스의 핵심 기능을 안정적으로 구현하면서, 향후 기능 확장 및 데이터 증가에도 유연하게 대응할 수 있도록 구성되었다.

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

◇ 메인 페이지

본 시스템의 메인 화면으로, 서비스 소개와 함께 사용자가 챗봇 기능을 바로 이용할 수 있도록 구성되어 있다. 간단한 안내 문구와 주요 기능 접근 버튼을 제공하여 처음 사용하는 사용자도 쉽게 서비스를 이해할 수 있도록 설계하였다.

뮤즈 화면1.png

◇ 로그인 및 회원가입 페이지

사용자 인증을 위한 로그인 및 회원가입 화면으로, 개인별 서비스 제공을 위해 설계되었다. 회원 정보는 이후 대화 히스토리 관리 및 사용자 맞춤 추천 기능에 활용된다.

뮤즈 화면2.png

◇ 설정 페이지

사용자의 알레르기 정보, 비건 여부 등 개인 식단 제한 조건을 설정하는 화면이다. 설정된 정보는 레시피 검색 및 추천 과정에서 사전 필터링 조건으로 적용된다.

뮤즈 화면3.png

◇ 레시피 생성 페이지

사용자가 자연어로 요리 관련 질문을 입력할 수 있는 챗봇 인터페이스 화면이다. 재료, 조리 시간, 난이도 등 다양한 조건을 자유롭게 입력하여 레시피 생성을 요청할 수 있다.

뮤즈 화면4.png

◇ 레시피 생성 기능

RAG 구조를 기반으로 생성된 레시피 결과를 출력하는 화면이다. 검색된 레시피 정보를 바탕으로 조리 단계, 재료, 주의사항 등을 자연스러운 문장 형태로 제공한다.

뮤즈 화면5.png

◇ 피드백 기능

사용자가 생성된 레시피 응답에 대해 피드백을 입력할 수 있는 기능이다. 수집된 피드백은 이후 레시피 추천 및 응답 품질 개선을 위한 데이터로 활용된다.

뮤즈 화면6.png

◇ 히스토리 페이지

사용자의 과거 질의 및 레시피 생성 결과를 확인할 수 있는 대화 이력 관리 화면이다. 이전 검색 기록을 다시 조회하거나 참고할 수 있어 서비스 이용 편의성을 높인다.

뮤즈 화면7.png

관련사업비 내역서

뮤즈 내역서.png

완료작품의 평가

뮤즈 평가.png

실사용 가능한 수준의 성능과 응답 품질 확보하였으며 대규모 레시피(약 10만 건) 환경에서도 검색 및 응답 안정성을 확인 확인하였다. 영양 정보는 공공데이터포털에서 참고한 데이터에 누락이 많아 부정확한 부분이 많았다. 알러지 및 비건 등에 대한 반영은 답변에서 잘 나타났다. 사용자 피드백은 의미적 유사도를 해치지 않으면서 많은 사람들이 선호하는 레시피가 더 우선시되는 결과가 나타났다. 컴퓨터마다의 응답시간의 편차가 다소 존재하는 것을 제외하고 사용성 및 성능 또한 준수한 것으로 확인하였다.

향후계획

어려웠던 내용들

본 과제의 개발 과정에서 가장 큰 어려움은 대규모 레시피 데이터의 품질 관리와 실시간 응답 성능 확보였다. 약 10만 개 규모의 레시피를 웹 크롤링을 통해 수집하는 과정에서, 조리 과정이 불완전하거나 계량 정보가 누락된 레시피, 개인용 메모 수준의 비정형 레시피 등 부정확한 데이터가 다수 포함되어 있음을 확인하였다. 이러한 데이터는 RAG 기반 응답 생성 시 신뢰도 저하로 이어질 수 있어, 전처리 단계에서 불완전한 레시피를 선별·제거하는 작업이 필요하였다.

또한 대규모 벡터 데이터 환경에서 검색 및 응답 생성 시간을 단축하는 것 역시 중요한 과제였다. 레시피 데이터 수가 증가함에 따라 벡터 검색 및 LLM 응답 생성 시간이 증가하는 문제가 발생하였으며, 이를 해결하기 위해 FAISS 기반 검색기 선택, Top-k 조정, 프롬프트 구조 단순화 등의 최적화를 수행하였다.

알레르기 정보나 특정 재료 제외 조건과 관련된 질의 처리 역시 어려운 문제 중 하나였다. 단순히 의미적 유사도만을 기준으로 검색할 경우, 사용자가 제외를 요청한 재료가 포함된 레시피가 검색되는 문제가 발생하였다. 본 과제에서는 이를 해결하기 위해 사전 필터링(pre-filtering) 방식을 적용하여, 벡터 검색 이전 단계에서 특정 재료나 알레르기 항목을 포함한 레시피를 제외함으로써 검색 정확도를 향상시켰다.

이 외에도 RAG 구조 특성상 검색 결과와 생성 응답 간의 맥락 불일치 문제, 사용자 질의의 모호성으로 인한 의도 해석의 어려움 등 다양한 기술적 도전 과제가 존재하였으며, 이는 향후 시스템 고도화를 통해 지속적으로 개선이 필요한 부분으로 판단된다.

차후 구현할 내용

향후 본 시스템의 완성도를 높이기 위해 여러 측면에서의 확장이 필요하다. 먼저 레시피 데이터 수집 측면에서는 단일 또는 제한된 웹 소스가 아닌, 다양한 요리 플랫폼과 공개 데이터셋을 활용한 멀티 소스 크롤링을 통해 데이터의 다양성과 신뢰성을 향상시킬 필요가 있다. 이를 통해 특정 스타일이나 작성자 편향을 줄이고, 보다 폭넓은 요리 정보를 제공할 수 있을 것으로 기대된다.

또한 레시피 수가 더욱 증가함에 따라, 벡터 임베딩 품질 개선 및 효율적인 벡터 관리 전략이 중요해질 것이다. 문서 구조를 고려한 계층적 임베딩, 요리명·재료·조리 과정별 분리 임베딩 등 보다 정교한 벡터화 기법을 적용함으로써 검색 정확도를 향상시킬 수 있다.

현재 FAISS 기반 벡터 검색을 사용하고 있으나, 향후에는 상용 또는 클라우드 기반 벡터 데이터베이스를 도입하여 메타데이터 기반 검색, 필터링, 버전 관리 등 고급 기능을 활용하는 방안도 고려할 수 있다. 이를 통해 검색 성능뿐만 아니라 데이터 관리 효율성 또한 크게 향상될 것으로 기대된다. 영양 정보 제공 측면에서도 개선이 필요하다. 현재는 기본적인 영양 및 알레르기 정보를 중심으로 안내하고 있으나, 향후에는 공신력 있는 영양 데이터베이스와의 연동을 통해 보다 정확한 영양 성분 분석과 개인 맞춤형 영양 안내 기능을 제공할 수 있을 것이다.

추가적으로 사용자 피드백 데이터를 장기적으로 축적·분석하여, 단순 가중치 반영을 넘어 개인화 추천 모델 또는 학습 기반 RAG 고도화로 확장하는 것도 중요한 향후 과제로 볼 수 있다. 이를 통해 사용자 선호도 변화에 능동적으로 대응하는 지능형 요리 추천 시스템으로 발전할 수 있을 것이다.