요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

최근 구글의 주가를 하루 만에 5%나 올린 빅이벤트가 있었습니다. 바로 구글의 멀티모달 생성형 AI 서비스 제미나이(Gemini)가 공개됐기 때문인데요. 이번 글에서는 제미나이의 성능이나 비즈니스적 관점보다는 개발자로서 제미나이를 개발에 어떻게 활용할 수 있을지, 직접 제미나이 API를 써보고 느낀 점을 공유하고자 합니다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

R에서 활용해 본 ‘제미나이 API’ 리뷰

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

최근 구글의 주가를 하루 만에 5%나 올린 빅이벤트가 있었습니다. 바로 구글의 멀티모달 생성형 AI 서비스 제미나이(Gemini)가 공개됐기 때문인데요. 이번 글에서는 제미나이의 성능이나 비즈니스적 관점보다는 개발자로서 제미나이를 개발에 어떻게 활용할 수 있을지, 직접 제미나이 API를 써보고 느낀 점을 공유하고자 합니다.

 

제미나이 API 사용하기

구글이 제미나이 API를 공개하기까지 채 일주일도 걸리지 않았는데요. 경쟁 모델인 ChatGPT에 비하면 매우 빠른 편입니다. (ChatGPT의 경우 AI 모델은 22년 11월에, API는 23년 3월에 공개되었습니다. 참고: OpenAI 블로그)

 

이뿐만 아니라 주요 프로그래밍 언어로 파이썬(Python), 고(GO), 노드(Node.js), 자바스크립트(Web: Javascript SDK), 그리고 모바일 앱 개발자를 위한 스위프트(Swift)와 안드로이드(Android: Kotlin & Java)까지 사용 방법을 문서로 제공했습니다.

 

아쉽게도 저는 R을 사용하고 있어서 준비된 문서는 없었지만, REST API를 제공하므로 이를 다듬어서 사용해 보았습니다.

 

API 발급

<출처: Google AI Studio, 작가 편집>

 

제미나이 API 발급은 먼저 구글 로그인 후, Google AI Studio에서 별도 비용 없이 이용할 수 있습니다. 아직 프리뷰 단계이기 때문에 사용량이 많은 프로덕션 레벨의 사용은 어려울 수 있지만, 개인이 사용하기에는 충분합니다.

 

발급 직후 터미널을 실행하고, API 키를 대체한 공식 문서의 예시 코드를 입력하여 작동을 확인할 수 있습니다.

 

<출처: 작가>

 

공식 문서에 따르면 글에서 다루는 v1 beta API에서는 다양한 기능을 제공하지만, 저는 텍스트를 입력하여 글을 만들어내는 모델(gemini-pro)과 이미지와 텍스트를 같이 입력하여 글을 만들어내는 모델(gemini-pro-vison)을 사용했습니다.

 

R로 웹 애플리케이션 만들기 

제가 사용하는 R의 경우 언어의 주 역할이 데이터를 입력받고 통계 계산한 결과를 만들어내는 것인데요. 샤이니(shiny)라는 프레임워크를 사용하면 웹 애플리케이션을 쉽게 만들어 낼 수 있습니다. 또는 이전에 글로 다뤘던파이썬 스트림릿(streamlit)을 사용하는 것도 좋은 방법입니다.

 

R로 웹 애플리케이션을 만들기 전, 간단하게 키노트로 그려본 전반적인 그림은 이렇습니다.

 

<출처: Google AI for Developers, 작가 편집>

 

그리고 실제 R을 활용해 웹 애플리케이션으로 만든 결과는 다음과 같습니다. (이미지를 올리기 전의 모습입니다)

 

<출처: 작가>

 

이제 본격적으로 API를 위한 함수를 만들 차례입니다. 이 웹 애플리케이션에서는 한 번의 작동(Ask!)에 POST 방식의 API를 사용할 것이고, 이때 입력값으로는 모델 쿼리(URL)와 API키, 입력 콘텐츠가 필요합니다.

 

<출처: 작가>

 

아래 코드는 위 REST API 코드를 R로 바꾼 것입니다.

 

<출처: 작가>

 

이를 좀 더 다듬어서 “gemini”라는 함수로 만들고 실행한 결과는 다음과 같습니다.

 

<출처: 작가>

 

gemini pro의 API 사용을 확인했으니, 다음으로는 본래 목적이었던 이미지와 텍스트를 같이 입력하는 gemini-pro-vision API를 사용해 보겠습니다.

 

공식 문서에 따르면 이미지는 “inline_data”라는 이름으로 사용하며, 동시에 이미지를 전달하기 위해 Base64 인코딩 이후 사용해야 합니다. 마찬가지로 다듬어서 “gemini_image”라는 함수로 만들어 보겠습니다.

 

<출처: 작가>

 

여기서 저는 요즘IT의 마스코트 ‘요고’ 캐릭터를 이미지로 업로드한 후, 제미나이 API를 사용했습니다. 결과는 다음과 같습니다.

 

<출처: 요즘IT, 작가 편집>

 

이제 아까 만들어 둔 웹 애플리케이션에 gemini 함수를 심고 사용한 결과를 보여드리겠습니다. (gemini와 gemini_image를 포함한 R 패키지는 제 깃허브에서 확인할 수 있습니다)

 

다음으로 최근 요즘IT에 발행된 ‘2023년 회고와 2024년 웹 개발 트렌드 전망’의 그래프도 사용해 보았습니다.

 

<출처: 작가>

 

결과적으로 처음 구상했던 웹 애플리케이션을 몇 시간 만에 빠르게 만들 수 있었는데요. 애플리케이션에서 제미나이 API를 사용해 그래프를 해석하는 것 외에도 추가 맥락이 필요한 웹 어셈블리에 대해 설명해주는 것을 확인할 수 있었습니다. (이 웹 애플리케이션 또한 R에서 웹 어셈블리로 만들 수 있습니다)

 

또한 이번 글에선 다루지 않았지만, 제미나이 API에서 사용자와 AI가 대화하는 채팅(멀티턴 대화), 텍스트 임베딩 기능 또한 제공하고 있습니다.

 

 

바드 vs 제미나이 API

이렇게 여러 기능을 제공하는 제미나이는 구글에서 먼저 공개한 생성형 AI ‘바드’에도 적용되었는데요. 제미나이 API를 쓰거나, 바드를 사용하는 두 가지 방법 모두 거의 동일한 수준의 결과를 만들어낼 수 있습니다.

 

<출처: 구글 바드, 작가 편집>

 

그렇다면 제미나이 API와 제미나이가 업데이트된 바드 사용에는 어떤 차이점이 있을까요? 두 서비스를 비교해 보니 다음 4가지 정도로 추려졌습니다.

 

  • 접근 방법: 바드를 사용하면 bard.google.com에 접속해야 하지만, API를 이용해 별도의 프로덕트나 서비스에 심어 둔다면, 꼭 바드에 접속하지 않아도 제미나이를 사용할 수 있습니다. 이와 비슷한 예시로는 ChatGPT-4의 기능을 사용할 수 있는 서비스를 제공하는 뤼튼을 생각해볼 수 있습니다.
     
  • 커스텀: 커스텀은 위 접근방법과 이어지는 내용인데요. API에서 나오는 결과값을 다르게 보여주거나, 필요한 모델만 사용할 수 있다는 점은 장점인 동시에, 추가 개발 작업이 필요하다는 단점이 되기도 합니다. (개발에 아직 익숙하지 않다면 바드를 사용)  또한  단순히 프롬프트를 올리고 결과를 받는 UI/UX 커스텀 외, LLM의 파라미터를 튜닝하지 않았다면, 바드와는 다른 결과 값을 보여주기에 이러한 파라미터 튜닝 또한 필요합니다. 그리고 바드에서는 제미나이의 여러 기능들을 일괄적으로 제공하지만, API를 사용한다면 모델에서 제공하는 기능만 사용할 수 있습니다.
     
  • 사용량: 제미나이 API 공식 문서에 따르면 API 요청은 분당 60개를 사용할 수 있는데요. 바드에서는 사람이 직접 사용하는 만큼 60개보다 더 적은 요청만 할 수 있습니다.
     
  • 비용: 아직까지는 바드와 제미나이 API가 둘다 비용 없이 무료로 사용할 수 있습니다. 그러나 ChatGPT 경우 월 20달러지만, API를 사용할 경우 모델과 사용량(토큰)에 따라 별도로 요금이 부과됩니다. 즉, 사용량이 많은 프로덕션 레벨에서 사용한다면 제미나이 API 또한 바드에 비해 높은 비용을 지출해야 할 수도 있습니다.
     

위 내용을 정리해 보면 ‘사용 대상’에 따라 차이점이 생기는데요. 개인이 사용하기엔 바드로도 충분하지만, AI 스타트업처럼 서비스를 만들어 제공하기 위한 목적으로는 제미나이 API를 사용하는 것이 좋습니다.

 

<출처: 레딧, r/programmerhumor>

 

마치며

지금까지 R에서 간단하게 제미나이 API를 활용해 보았는데요. 실제로 웹 애플리케이션을 만들어본 결과 개인이 작업하기엔 무리가 없었습니다. 다만 아직 초창기 서비스인만큼 규모가 큰 제품에서는 어떻게 활용할 수 있을지 좀 더 고민이 필요할 것 같습니다. 이미 구글은 제미나이가 성능 면에서 경쟁 LLM보다 우위에 있다고 발표하기도 했는데요. 사실 모델 자체의 퍼포먼스만큼이나 사용자의 프롬프트가 큰 영향을 줄 것이라 생각합니다.

 

제미나이로 시작된 멀티모달 생성형 AI가 앞으로 어떤 혁신적인 서비스로 등장하게 될지 기대해 봐도 좋겠습니다.

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 0
데이터 프로덕트 개발자
33
명 알림 받는 중

작가 홈

데이터 프로덕트 개발자
33
명 알림 받는 중
돌고 돌아 메디컬 도메인의 R / Shiny 개발자.

좋아요

댓글

스크랩

공유

공유

지금 회원가입하고,
요즘IT가 PICK한 뉴스레터를 받아보세요!

회원가입하기
요즘IT의 멤버가 되어주세요! 요즘IT의 멤버가 되어주세요!
요즘IT의 멤버가 되어주세요!
모든 콘텐츠를 편하게 보고 스크랩해요.
모든 콘텐츠를 편하게 보고 스크랩 하기
매주 PICK한 콘텐츠를 뉴스레터로 받아요.
매주 PICK한 콘텐츠를 뉴스레터로 받기
로그인하고 무료로 사용하기