안녕하세요
6월 1일 ~ 7월 3일까지 약 한 달 동안 진행한 [AI 막차 탑승 : HyperCLOVA X] 스터디 산출물 및 후기를 남깁니다.
1. 팀 소개 및 주제 선정 배경
저희 팀은 AI를 제외한 다양한 직무(TA, CA, Backend Dev, 프리랜서)로 일하고 있는 점메추저메추 J팀입니다.
AI를 이번 프로젝트를 통해 입문하여 AI 막차 탑승 : HyperCLOVA X 프로젝트에서 직장인들의 점심과 저녁 메뉴 선정의 어려움을 해소하고자 HyperClova X를 통해 생성형 AI로 직장인들의 식사 메뉴 선정을 도와주는 시스템을 개발하였습니다.
2. 서비스 소개
Naver API와 HyperClova X 서비스를 이용한 점메추저메추 서비스입니다. 사용자에게 지역과 음식 종류를 입력받아 Naver API로 데이터를 1차적으로 가공한 후 Beautiful Soup로 필요한 정보를 추출한 뒤 HyperClova X를 이용하여 블로그 내용을 요약합니다. 최종적으로 사용자에게 맛집 정보, 리뷰 요약, 맛집 지도 등 다양한 정보를 비동기 방식으로 제공합니다. 다음은 저희 팀이 개발한 서비스의 도메인입니다.
Jummmechu (https://jummmechu.shop)
사용한 서비스
CLOVA Studio |
Global DNS |
LoadBalancer (VPC) |
Server (VPC) |
Certificate Manager |
Python FastAPI (Backend Server API) |
HTML + Javascript (Frontend View) |
데이터 플로우
1. Naver Developer API
서비스에는 Naver Developer API를 사용하였습니다. 그중에서도 /searchlocal과 /blog API를 이용하여 지역과 음식 종류에 해당하는 맛집을 찾아낸 후 블로그 API를 통해 맛집 리뷰에 대한 블로그 콘텐츠를 받아옵니다.
2. Beautiful Soup를 이용한 블로그 콘텐츠 추출
받아온 블로그 콘텐츠는 Beautiful Soup 라이브러리를 통해 블로그의 콘텐츠를 추출합니다.
3. HyperClova X API를 이용한 블로그 콘텐츠 요약
HyperClova X를 이용하여 블로그 리뷰 전체 내용을 요약합니다.
<역할>
당신은 맛집과 트렌드를 추구하는 직업을 30년 넘게 하고 있는 맛집 추천 전문가입니다.
<시스템 지시문>
블로그 내용을 요약해 주는 것이 주 임무입니다.
블로그 결과물에서 나온 사실만을 가지고 맛집 블로그의 내용을 요약해야 합니다.
본문 글은 짧고 명확하게 구성합니다.
3줄 이상이면 문단으로 나누어야 합니다.
<결과 포맷>
Output 결과물은 말머리 기호로 출력합니다.
4. 결과물 비동기로 출력
HyperClova X가 학습한 내용을 Stream 형태로 출력하기 때문에 결과물 응답 시간이 길어질 수 있습니다.
응답 시간 최소화를 위해 맛집 및 블로그 요약 정보를 비동기 처리하여 생성형 AI처럼 실시간으로 메뉴를 추천받을 수 있습니다.
블로그 요약 뿐만 아니라 블로그의 좌표 값을 이용하여 네이버 지도 API에 X, Y 좌표 값을 넣어 Map으로 출력할 수 있도록 구성하였습니다.
3. 벤치마킹
- ChatGPT를 이용한 점메추 시스템
https://getgpt.app/play/OYWdTCSaIF?provider=goog
서비스 비교
자연어 처리 | 두 서비스 모두 사용자가 입력한 텍스트를 이해하고 적절한 메뉴를 추천 |
사용자 경험 | 사용자가 직관적으로 사용할 수 있는 인터페이스 제공 다양한 음식 종류와 지역에 대한 추천 가능 |
상호작용성 | 사용자 입력에 따라 맞춤형 응답을 제공 |
언어 모델 | HyperClova X: 한국어 최적화 모델로, 한국어에 특화된 추천 및 이해도를 보입니다. ChatGPT: OpenAI의 언어 모델을 기반으로 다양한 언어와 주제를 다룹니다. |
추천 정확도 | HyperClova X: 한국 지역 및 음식 관련 정보에 대해 더 정확한 추천 가능. ChatGPT: 다양한 국제적 음식에 대한 폭넓은 추천 제공. |
학습 데이터 | HyperClova X: 한국어 및 한국 문화 관련 데이터에 집중. ChatGPT: 영어 중심의 다양한 데이터셋. |
벤치마킹한 서비스와 HCX를 이용해서 개발한 서비스를 비교하였습니다. HCX 엔진 역시 ChatGPT에 못지않게 자연어 처리, 사용자 경험, 상호작용성에 있어서 좋은 성능을 보여주고 있습니다. 특히 한국어에 특화되어 한국어에 대한 정확도가 매우 높음을 확인할 수 있었습니다.
4. 주차별 학습 내용
1주 차 학습 내용
팀원 모두 AI를 처음 접했기 때문에 OT를 마친 후 첫 번째 회의에서 각자 HyperClova X로 만들어볼 서비스에 대한 주제와 AI 기본 개념 및 이론 학습에 중점을 두고 학습을 진행하였습니다.
- HyperClova X 학습 내용 정리(용어)
- HyperClova X 튜닝
- HyperClova X 플레이그라운드 테스트
2주 차 학습 내용
점심 메뉴 추천 시스템, 판례 데이터 분석, 엔지니어의 공수를 줄여주는 자동화 시스템 등 여러 주제를 생각해 보고 주제를 선정하였습니다. 2주 차부터는 HyperClova X의 기능을 사용해 보거나 실습을 진행한 후 Hands On 가이드를 작성하여 팀에 공유하는 자리를 가졌습니다.
- HyperClova X 스킬 트레이너
3주 차 학습 내용
주제를 선정했기 때문에 외부 API와 연동할 수 있는 방법에 대해 논의하면서 네이버 API와 스킬 트레이너를 이용한 서비스 구성을 목표로 학습을 진행하였습니다. 스킬 트레이너를 사용하면서 실시간 데이터를 가져오는 테스트를 진행하였고 성공적으로 테스트가 되었으나 결과물에 대한 응답 시간이 길어지는 이슈가 발생하였습니다.
- HyperClova X 튜닝 및 서비스 API 개발 테스트
4주 차 학습 내용
결과물로 얻고자 하는 내용이 순수 API 응답 값으로 스킬 트레이너에서 많은 시간을 사용하지 않아도 되기 때문에 API를 서버에서 처리하고 기존에 맛집을 추천해 주는 시스템에서 맛집 추천, 블로그 요약, 맛집 위치 등 비즈니스 로직을 더 고도화하는 것에 초점을 맞추고 진행하였습니다. 오프라인 모임 후 사용자에게 어떻게 응답을 보낼지 고민하다가 비동기로 처리하여 사용자에게 응답을 효과적으로 제공할 수 있었습니다.
- HyperClova X 프론트 테스트
- HyperClova X 백엔드 테스트
- HyperClova X를 이용한 블로그 요약
- HyperClova X 시스템 지시문 설정
- HyperClova X 서버 환경 구성(Nginx + FastAPI)
- HyperClova X 데이터 플로우 설정
- 추가 개선 사항 및 오류 개선 필요한 사항 작성
5. 개선 및 고도화 방향
프로젝트가 마무리되어 가는 와중에도 우리 팀은 서비스의 보완점과 개선 방향을 작성하면서 스터디 종료 이후에도 서비스를 개선해 나가고자 합니다.
6. 프로젝트 후기
프로젝트를 진행하면서 개인적으로 설정한 목표는 생성형 AI에 대한 기본 개념을 학습하고, 이를 활용하여 업무 자동화를 실현하는 것이었습니다. HyperClova X 프로젝트를 통해 이러한 목표를 달성하는 데 많은 도움을 받았습니다.
우리 팀은 밤 늦게까지 일을 하고 시간을 쪼개가며 프로젝트를 진행했습니다. 한 달이라는 짧은 시간 동안 다양한 내용을 학습하고, HyperClova X를 이용하여 실제 서비스를 구현하는 과정에서 여러 어려움을 겪었습니다. 그러나 이러한 어려움 속에서도 서로의 지식을 공유하고 협력하여 문제를 해결해 나갔습니다.
(스킬 트레이너를 프로젝트 종료를 앞두고 포기하면서 시간이 많이 부족했지만 다들 열심히 의견 내주시고 각자 R&R에 맞게 수행 해주신 덕분에 마무리할 수 있었습니다. ㅜㅜ)
이 프로젝트를 통해 우리는 단순히 기술적인 능력 향상을 넘어서서, 협력과 문제 해결 능력을 더욱 발전시킬 수 있었습니다. 앞으로도 HyperClova X와 같은 최신 기술을 활용하여 프로젝트를 추진해 나갈 계획입니다.
이상으로 점메추저메추 서비스를 개발한 AI 막차 탑승 : HyperClova X 프로젝트 J팀이었습니다.
감사합니다.
'Cloud > Naver Cloud' 카테고리의 다른 글
[Ncloud] Certificate Manager 신규 기능 Advanced DV 인증서 알아보기 (0) | 2024.08.02 |
---|---|
[판교테크원] NAVER Cloud Master Day 기술 컨퍼런스 참여 후기 (0) | 2024.07.06 |
[Ncloud] CDN 서비스인 Global Edge의 Match Protocol 미지원으로 인한 문제점 (0) | 2024.06.26 |
[Ncloud] LoadBalancer에서 서비스 중단 없이 서비스 도메인 변경하는 방법 (0) | 2024.06.26 |
[Ncloud] Global Edge 멀티 어카운트에서 SSL 인증서 업데이트하는 방법 소개 (0) | 2024.06.17 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!