음식점용 RAG 구축술: 메뉴·FAQ·영업 정보의 최적화
pgvector + Hybrid Search 구현, 청킹 전략, 실시간 업데이트의 기술 상세.
「계절 한정 백도 파르페 아직 있나요?」
고객이 LINE으로 문의하자, 저희 AI가 즉시 대답했습니다. 「네, 있습니다!」
문제는, 백도 파르페는 3일 전에 끝났다는 것입니다.
점장에게 화난 전화를 받았을 때, 저희는 중대한 결함을 깨달았습니다. AI는 방대한 「일반 지식」을 가지고 있지만, 「오늘 가게의 상황」은 전혀 모릅니다.
AI의 「기억상실」
ChatGPT나 Claude는 학습 데이터에 포함된 정보라면 무엇이든 대답할 수 있습니다. 하지만 오늘의 메뉴는? 이번 주 영업 시간은? 방금 품절된 상품은?——이것들은 학습 데이터에 존재하지 않습니다.
AI에게 「가게의 현재」를 가르치는 방법이 필요했습니다.
기억을 주입하다
저희가 구축한 것은 RAG(Retrieval Augmented Generation)——AI가 응답을 생성하기 직전에 관련 점포 정보를 「주입」하는 구조입니다.
고객이 「백도 파르페」를 물으면, AI에게 대답시키기 전에 먼저 데이터베이스를 검색합니다. 「백도 파르페」와 관련된 정보——가격, 제공 기간, 남은 재고——를 찾아내고, 그 정보와 함께 질문을 AI에게 전달합니다.
AI는 「주입된 기억」을 바탕으로 답변을 생성합니다.
0.1초 만에 올바른 기억을 찾다
하지만 검색에는 과제가 있습니다. 고객은 「복숭아 디저트」라고 물을 수도 있고, 「피치 파르페」라고 물을 수도 있습니다. 모두 같은 「백도 파르페」를 말하는 것입니다.
키워드 검색만으로는 대응할 수 없습니다. 저희는 「의미」로 검색할 수 있는 벡터 검색을 도입했습니다. 질문의 의미와 메뉴의 의미를 비교하여 0.1초 이내에 가장 관련성 높은 정보를 찾아냅니다.
1초 전 변경을 반영하다
더 중요한 것은 정보의 신선도입니다. 점장이 관리 화면에서 「백도 파르페: 품절」을 클릭한 순간, 그 정보가 AI의 「기억」에 반영되어야 합니다.
저희는 메뉴와 재고 변경이 실시간으로 벡터 데이터베이스에 동기화되는 구조를 구축했습니다. 변경에서 반영까지 평균 1초 미만.
「없습니다」라고 말할 수 있는 AI
그 백도 파르페 건 이후, AI는 이제 정확하게 「죄송합니다, 백도 파르페는 계절 한정으로 3일 전에 종료되었습니다」라고 대답할 수 있게 되었습니다.
그리고 제안도 덧붙입니다. 「대신 현재 거봉 파르페를 준비하고 있습니다」
AI에게 올바른 기억을 갖게 함으로써, 고객에게 올바른 답을 전달한다. 그것이 저희 RAG의 목적입니다.