본문 바로가기
chatGPT와 인공지능AI

구글 인공지능 GEMINI PRO API

오늘은 chatGPT 의 숙적, 구글의 인공지능 GEMINI(제미나이)의 "API 사용법"에 대한
간단한 예시를 다뤄보겠습니다.
블로그 게시글에 PHP를 활용한 API 사용법을 공개하는건 국내 최초가 아닐까 나름 기대해보는 크레이입니다 :)

우선 제 개인 홈페이지에 마련된 아래 URL에 접근하시면 예시를 보실 수 있는데요.

http://dreamplan7.cafe24.com/gemini/

아래와 같이 테스트하면 됩니다.

1) 빈칸에 GEMINI 인공지능에게 부탁할 내용을 입력.
"커피를 좋아하는 검은 고양이에 대한 이야기를 써줘"

2) 오토바이 버튼클릭하면 답변을 주는데요.
글 내용이 아주 가관입니다. 멋지지 않나요?

이런 chatGPT 비슷한 기능 외에도 이미지를 분석해서 설명해주는 기능도 있긴 한데요.
그런건 나중에 또 다뤄보기로 하고, 우선 이 한가지 기능에 집중해보도록 하겠습니다.
사용언어는 PHP로 진행하겠습니다. ( 파이썬이든 Node.js든 모두 가능합니다 )


혹시.. 비용이 들어가나요?

아직은 무료입니다. 1분에 60번의 사용 제한이 있다고 하네요 ( 2023. 12. 21 기준 )

 


먼저 API 키를 얻어야 해-

GEMINI 는 구글이 제공하는 API입니다.
그러다 보니 구글의 뻔하디 뻔한(?) API키를 얻는 것으로 시작하는데요.

아래 URL에 접근하신 다음에,

https://ai.google.dev/pricing

Free for everyone ( 모두에게 무료 ) 상자 하단의 Get API Key in Google AI Studio 버튼을 클릭하시면 됩니다.

이어서 나오는 화면에서 Get API key ( API 키를 얻겠습니다 ) 메뉴를 선택하고,

Create API key in new project 버튼을 선택하면 되는데요.

API 키가 생성되었다는 창이 뜰 겁니다. 여기서 Copy 버튼을 눌러 복사한 다음,
메모장이나 개인 채팅창 같은데 잘 보관해두시면 됩니다.
그 다음으로 x 버튼을 눌러 창을 닫으시면 되는데요.

뭐 잊어버리셔도 상관없습니다.
언제든 이 화면으로 돌아와서 API key 부분을 클릭하시면 위 창이 뜰테니까요.


초간단 PHP 소스를 구성해볼까요?

거창한 사용법도 있지만, 간단한 사용법도 있기 마련입니다.
질문에 대한 답변만을 받아올 것이기 때문에 아래와 같이 2개의 소스를 구성해주시면 되는데요.
이 소스를 사용하면 예시로 든 화면을 구성할 수 있습니다.
이 글은 PHP에 대한 지식을 전하는 글은 아니기 때문에 소스 설명은 제외하도록 하겠습니다.

key.php

<?
// https://makersuite.google.com/app/apikey
$gemini_api_key="GEMINI에서 받은 API Key";
$gemini_api_url="https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=".$gemini_api_key;

index.php

<?
include_once("./key.php");
$question="";
if(array_key_exists('question', $_POST))
	$question=$_POST['question'];
?>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
<h1>Gemini 에게 물어보세요.</h1>
<form method=POST>
<input type=text name=question value="<?=$question?>" style="width:100%">
<input type=submit value="🚲">
</form>
<hr/>
<?
if($question=="")die();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $gemini_api_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, 
  array("Content-Type: application/json"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, 
  '{"contents": [{"parts":[{"text": "'.$question.'"}]}]}');
curl_setopt($ch, CURLOPT_POST, true);
$response = curl_exec($ch);
curl_close($ch);
$result=json_decode($response);
echo $result->candidates[0]->content->parts[0]->text;
?>
</body>
</html>

GEMINI(제미나이) API는 현재 무료입니다. 무제한 사용은 비록 아니지만 대량 사용자를 위하여 추후 글자수에 대한 과금 상품 또한 내놓을 것으로 보이는데요. 비용 기준이 글자수이기 때문에 한글을 기준으로 한다면 chatGPT보다 더 저렴하다는 풍문(?)도 있습니다.


사용량 조회하기

API를 얼마나 사용했을까요? 추후 유료 사용자 분에게는 돈과 직결된 문제라 아주 유용한 정보일 수 있는데요.
구글 클라우드 콘솔의 api 카테고리에서 확인이 가능하며 url은 아래와 같습니다.

https://console.cloud.google.com/apis/dashboard

우측의 시간 단위를 1일로 선택하면 24시간동안의 사용량을 조회할 수 있습니다.


다른 언어에 대한 예제도 있나요?

파이썬이든 Node.js 든 모두 가능한데요.
모두 구글에서 제공하는 예제이니 믿고 사용하셔도 될것 같습니다 :)

< 파이썬 >

https://ai.google.dev/tutorials/python_quickstart

< Go >

https://ai.google.dev/tutorials/go_quickstart?hl=ko

< Node.js >

https://ai.google.dev/tutorials/node_quickstart?hl=ko

< Swift >

https://ai.google.dev/tutorials/swift_quickstart?hl=ko

< Android >

https://ai.google.dev/tutorials/android_quickstart?hl=ko

https://ai.google.dev/tutorials/android_aicore?hl=ko


마무~리

구글이 내놓은 야심작(?) GEMINI PRO가 과연 chatGPT의 아성에 맞설지 궁금해지는 크레이입니다 :)

오늘도 방문해주신 모든 분들께 감사드립니다!