본문 바로가기
프로젝트/식선생

[포텐데이X네이버클라우드 해커톤] HyperCLOVA X 모델을 사용한 "식선생" 후기

by HH_g 2024. 1. 17.

Q. 프로젝트를 소개해 주세요.

  안녕하세요, 저희는 기획자(김대성), 디자이너(안수빈), 프론트(최현우), 백엔드(서경원, 박혜현)로 이루어진 팩트폭행단입니다 🤗 이번 비사이드와 네이버클라우드의 콜라보 해커톤인 포텐데이 X 클로바 스튜디오HyperCLOVA X 모델을 사용한 건강한 식단과 체중 변화를 예측하는 AI 칼로리 분석 서비스 식선생 을 제출했습니다.

 

 

프로젝트 소개글

 

비사이드 : IT 프로젝트 경험을 통해 성장하세요!

 

bside.best

 

초간단 이용 방식

1️⃣ 개인 정보 입력.

2️⃣ 예시를 참고하여, 음식 종류와 양을 채팅으로 입력.

3️⃣ 간단한 결과 확인

 

 

 

 식선생은 간편해요 : 식선생은 채팅 한번으로 식단을 입력해요.

 신선생은 쉬워요 : "섭취 칼로리 - 소비 칼로리 = 잉여칼로리" 쉬운 로직으로 사용자를 설득해요.

 식선생은 재밌어요: 많이 먹을수록 커지는 내 캐릭터를 볼 수 있어요.

 식선생은 동기부여를 잘해요 : 때로는 날카롭게, 때로는 부드럽게 사용자를 응원해요.

지금까지 음식을 먹을 때마다, 머릿속으로만 칼로리를 계산하셨다면, 이제는 쉽고 빠르게 식선생 해보세요 :)

 

 

  식선생은 사용자의 기초대사량을 계산하여 섭취 칼로리와 활동 칼로리를 분석해 체중 변화를 예측하는 서비스입니다. 우리는 사용자가 기본 정보를 입력하면 예상 기초대사량을 알려주고, 오늘 먹은 음식을 채팅으로 입력하면 먹은 칼로리와 남은 칼로리를 계산해 드립니다. 뿐만 아니라, 칼로리와 영양성분을 고려한 메뉴 추천 기능을 제공하여 건강한 식단을 제안합니다. 식선생은 단순히 식단 관리 도구로만 머물지 않고, 사용자와 재미있게 소통하며 식단 관리를 도와드립니다. 식선생과 함께 건강한 식단을 만들어가세요!


 

🔗 Link

 

식선생

당신의 식단 관리 서비스

foodteacher.xyz

 

 

foodteacher

foodteacher has 3 repositories available. Follow their code on GitHub.

github.com

 

Q. Ncloud에서 어떤 서비스를 활용하셨나요?

 

  Ncloud 서비스를 사용해볼 수 있는 쉽지 않은 기회였기에 최대한 많은 서비스를 사용하려고 노력했습니다 🙂   

HyperClovaX를 사용해서 칼로리 계산과 잔소리 기능을 구현했고, ACG, NAT Gateway, VPC ServerNcloud Kubernetes Service 를 사용해서 서버를 생성했습니다. 도커 이미지를 NCP Container Registry에 저장했고, 배포를 위해 Glabal DNSLoad Balancer, Certificate Manager 서비스도 사용했습니다.

 

각각의 서비스를 사용한 자세한 가이드/기록은 아래 링크들을 참고해주세요!

 

 

NCK를 사용한 NCP 서버 구성 | Notion

1. VPC

hyehyoun-park.notion.site

 

 

하이퍼클로바 사용기 | Notion

플레이그라운드에서 챗봇 만들고 테스트앱 생성하기

hyehyoun-park.notion.site

 

Q. Ncloud 서비스를 어떻게 적용 하였나요?

 

Ncloud 서비스를 활용하여 구축한 저희 식선생의 전체적인 아키텍쳐는 아래와 같습니다.

 

  NCP 의 NKS 를 사용하여 백엔드, 프론트엔드, 데이터베이스를 배포하고 관리했습니다. ALB Ingress 를 사용하여 내부 애플리케이션을 외부로 노출시켰고, foodteacher.xyz 도메인으로 프론트를 연결시켰습니다. 개발자가 Github 에 push 하면 git action이 실행되어 도커 이미지를 빌드하고, deployment yaml의 도커 이미지 태그를 수정합니다. ArgoCD가 해당 yaml의 수정을 감지하고 재배포를 진행합니다. 다만 해커톤 기간에는 인증 문제로 CD가 작동되지 않아 수동으로 배포했습니다..

 

  그리고 가장 중요한 하이퍼클로바X !

  사용자가 그날 먹은 식단을 입력했을 때 각각의 칼로리를 계산하고, 사용자의 기초대사량과 비교했을 때 필요한 운동 시간을 잔소리와 함께 제시할 수 있게 프롬프트를 작성했습니다. 그 결과 응답이 아래처럼 올 수 있게 조정할 수 있었습니다!

  "messages": [
    {
      "role": "assistant",
      "content": {
        "아침": 100,
        "점심": 650,
        "저녁": 1100,
        "총칼로리": 1850,
        "초과칼로리": 400,
        "운동필요시간": "달리기 30분",
        "잔소리": "회원님. 맛있게 먹으면 0칼로리? 그런 건 없습니다. 나가서 뛰세요!"
      }

 

  이렇게 받은 json 형식의 데이터를 백엔드에서 처리했고, 사용자는 프론트에서 먹은 칼로리 양과 필요운동시간을 동기 부여해주는 잔소리와 함께 확인할 수 있습니다.

 

 

마찬가지로 자세한 가이드/기록은 아래 링크들을 참고해주세요!

 

CI/CD | Notion

CI - Git Action

hyehyoun-park.notion.site

 

도메인 등록, 인그레스에 SSL 적용하기 | Notion

도메인 구매

hyehyoun-park.notion.site

 

Q. Ncloud 사용 중 특히 만족했던 점과, 아쉬웠던 점은 무엇인가요?

  NCP는 타 퍼블릭 클라우드와 다르게 한글로 공식 문서가 작성되어 있다는 것이 가장 큰 장점이라고 생각합니다. 그리고 빠른 문의 답변도 인상적이었습니다!! 문의가 하루 만에 답변이 오다니.. 감동적이었습니다. 클로바 사용법도 자세하게 안내되어 있어서 활용하기 편했어요! 퍼블릭 클라우드 중 가장 사용이 간편한 것 같아요.

 

  아쉬운 점이라면, 하이퍼클로바 X 가 가끔 덧셈 뺄셈을 이상하게 한다던가, 응답이 오래 걸린다거나 하는 문제가 있었습니다. 하지만 해당 문제도 프롬프트를 더 자세하게 작성하거나, 데이터셋을 넣어서 튜닝하면 해결될 거라 생각해요.

 

Q. Green Developers 프로그램 참여 소감 말씀 부탁 드립니다.

 

  네이버 클라우드 서비스를 다양하게 체험해 볼 수 있어서 정말 의미있는 시간이었습니다! 그리고 타 참가자 분들의 서비스들을 통해 생성형 AI를 이렇게 다양한 서비스에 사용할 수 있다는 아이디어도 얻을 수 있어서 좋았습니다.

이런 대회가 더 많이 열렸으면 좋겠어요 ☺️

 

Q. 마지막 한 말씀 부탁 드립니다.

 

 저희 식선생은 현재 진행 중입니다! 앞으로 추가될 사용자의 건강상태, 선호에 맞춘 식단 추천 기능도 기대해주세요!!