이번 포스팅은 비사이드 포텐데이 해커톤을 통해 처음 접하게 된 NCloud 활용 후기 글입니다.
프로젝트 소개
우리 팀의 프로젝트는 올려 올려 라디오(https://upup-radio.site/) 라는 이름의 서비스입니다.
올려올려 라디오
언제 어디서나 DJ가 여러분에게 따뜻한 위로를 전해드립니다.
upup-radio.site
프로젝트 의도
이 서비스는 위로받고 싶은 사람들이 라디오에 사연을 보내면, 귀여운 달토 DJ가 사연을 읽어주고, MBTI를 접목시켜 `F 성향(감정형)`의 사람과 `T 성향(이성형)`의 사람에게 위로가 되는 답변을 해줍니다.
NCloud 서버 생성부터 클로바 API 활용까지
핵심 기능은 클로바 스튜디오(https://www.ncloud.com/product/aiService/clovaStudio)를 활용한 답변 기능인데요,
NCloud에서 다양한 서비스를 잘 활용해서 성공적으로 프로젝트를 완수했고, 1등까지 수상했습니다!
이번 포스팅에서 활용한 서비스들을 소개해볼까 합니다.
활용한 서비스 1. 서버(Server)
백엔드 앱을 띄울 가장 중요한 서버 서비스입니다.
AWS EC2 인스턴스를 한 번쯤 만들어봤던 사람이라면 콘솔에서 원하는 OS 이미지를 선택하고, 손쉬운 설정으로 서버를 생성할 수 있습니다.
Network Interface에 VPC내에 생성한 서브넷을 연결하고, `새로운 공인 IP 할당` 부분에 체크하는 것만으로 인터넷과 연결된 서버가 만들어집니다.
물론 서버 생성 이후에도 Network Interface 설정을 변경할 수도 있고, 공인 IP 설정도 변경하기 쉽습니다.
서버를 생성했다면, AWS의 보안 그룹과 같은 역할을 하는 `ACG`를 설정해서 인바운드 규칙과 아웃바운드 규칙을 설정해야 합니다.
활용한 서비스 2. CLOVA Studio
클로바 스튜디오는 우리 프로젝트의 핵심 기능을 담당하는 서비스입니다.
저희 팀에서는 기획자, 디자이너, 개발자 모든 포지션이 함께 프롬프트 템플릿을 만들었습니다.
화면 왼쪽에는 `시스템`, 오른쪽에는 `사용자` 입력창이 있는데요,
`시스템`부분에 프롬프트 엔지니어링을 적용한 템플릿을 작성하고, `사용자` 부분에 챗봇에게 하고 싶은 문장을 작성한 다음 `실행` 버튼을 누르면 `어시스턴트`로 답변이 실시간으로 생성됩니다.
그리고, 전체 사용된 토큰을 계산하려면 상단의 `계산` 버튼을 누르면 입출력에 사용된 토큰을 쉽게 파악할 수 있기 때문에 비용 계산에도 용이하게 사용할 수 있습니다.
그 밖에도 여러 장점이 있는데, 가장 큰 장점이라고 생각되는 몇 가지를 소개해 보겠습니다.
장점 1. 어시스턴트로 필요한 데이터셋을 짧은 시간 내에 생성할 수 있다.
포텐데이 프로젝트는 10일간 진행되는 프로젝트로 기획, 개발 회의 등을 하다 보면 막상 개발할 시간이 정~말 부족할 수밖에 없습니다.
부족한 시간 속에서 클로바가 원하는 포맷대로 답변을 생성하도록 만들려면 생각보다 시간이 많이 소요됩니다.
템플릿에 아무리 잘 작성해도, 질문과 답변 예시를 최소한 몇 개는 생성해놔야 의도대로 생성하기 때문입니다.
여기서 클로바 스튜디오의 가장 큰 장점으로 `어시스턴트` 기능을 꼽고 싶습니다.
어시스턴트 기능은 템플릿과 사용자가 작성한 내용을 바탕으로 `실행`버튼만 누르는 것으로 다음에 사용자가 입력할만한 내용을 스스로 생성해 줍니다.
위의 빨간색 네모 박스 부분을 보시면 `실행` 버튼으로 어시스턴트가 생성한 사용자의 예상 질문과 그에 맞는 답변입니다.
이 부분 덕분에 짧은 개발 시간 안에 다양한 데이터셋을 손쉽고 빠르게 생성할 수 있다는 점이 가장 큰 장점이라고 느꼈습니다.
장점 2. 작업별 버전 관리를 할 수 있다.
Youtube에서 프롬프트 엔지니어링도 검색해 보면서 이것저것 시도를 많이 했었는데, 팀원들이 각자 작업한 템플릿 중 가장 괜찮은 템플릿을 고를 때 유용하게 사용했던 부분이 작업별 버전 관리를 할 수 있다는 점입니다.
위의 이미지처럼 불러오기를 통해 여러 버전별로 작업물을 관리할 수 있다는 부분도 엄청난 장점입니다.
이 버전 관리 기능 덕분에 가장 괜찮았던 작업물에서 조금씩 변형을 주면서 답변의 품질을 높이는 작업도 손쉽게 할 수 있었습니다.
기타 장점
아무래도 사용량만큼 비용이 발생하는 서비스기 때문에 얼마나 사용했는지 한눈에 보고 싶을 때도 있는데요,
콘솔에서 클로바 스튜디오 탭에 들어가면 사용량을 한눈에 볼 수도 있습니다.
활용한 서비스 3. Global DNS
저희 팀은 가비아에서 도메인을 구입하고, NCloud의 Global DNS에 등록했습니다.
개발 서버나 어드민 페이지같이 서브 도메인이 필요한 경우 이 곳에서 손쉽게 등록할 수 있었습니다.
아쉬웠던 점들
자주 사용하는 서비스들은 따로 북마크를 등록해야 왔다갔다 하면서 사용하기 편합니다.
다만, 북마크를 처음 열었을 때 처음 접하는 사용자로서 나한테 필요한 서비스가 어디있는지 한 눈에 보기가 어려웠습니다.
그리고 데이터베이스 전용 서버(MySQL)는 무조건 Source-Replica 토폴로지로만 이용해야해서 비용이 생각보다 많이 발생할 것 같아 이용하지 못했습니다.
소감
혼자서 인프라를 담당해야 했어서 "10일이라는 짧은 시간 안에 처음 접하는 플랫폼에서 인프라를 잘 설정할 수 있을까?" 라는 생각이 들었었지만, NCloud 내에 리소스 문서가 정말 잘 작성되어있어 손쉽게 설정할 수 있었습니다.
지금은 프로젝트가 끝난 후에도 팀원들끼리 고도화를 진행중에 있는데요, 고도화 이후에 서버를 스케일 업하거나 스케일 아웃할 정도로 늘어날지 모르겠지만 지금까지 AWS 만큼 편하게 사용해서 앞으로도 잘 애용할 수 있을 것 같습니다.
'Project' 카테고리의 다른 글
[올려올려 라디오] 신규 분석 기능 성능 테스트 (1) (1) | 2024.12.05 |
---|---|
[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (5) (0) | 2024.11.28 |
[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (4) (2) | 2024.11.27 |
[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (3) (2) | 2024.11.26 |
[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (2) (0) | 2024.11.26 |