Melalui website dokumentasi Gemini, Google klaim bahwa Gemini adalah model AI terbesar dan paling mumpuni milik Google. Sepertinya Gemini AI ini dikembangkan untuk menyaingi model AI yang sudah terkenal sebelumnya, yaitu ChatGPT dari OpenAI.
Gua ga tau kapan Gemini AI rilis, tapi baru per tanggal 13 Desember 2023, developer dapat mengakses dan menggunakan Gemini AI API ini melalui dashboard Google AI Studio.
Berdasarkan website resminya, saat ini Gemini AI hanya dapat diakses melalui API secara gratis. Dan sepertinya suatu saat akan ada pilihan untuk customer yang ingin menggunakan API Gemini AI ini secara berbayar dengan beberapa kelebihan dibandingkan dengan yang versi gratis.
Ada banyak tujuan user menggunakan API dari sebuah model AI ini, dari untuk chat bot, translate, dll.
Pada artikel ini, gua mau coba sharing bagaimana cara menggunakan API Gemini AI ini untuk translate text dengan PHP dan CURL. Untuk PHP nya, gua menggunakan framework Codeigniter 3 ya..
Oke, langsung aja..
Tahap pertama kita akan membuat project dan generate API Key melalui dashboard gemini ai studio.
![Proses pilih project yang akan digunakan untuk generate API Key [docs/kuhomi.id].](http://manage.kuhomi.id/assets/img/gallery/1708958251609.png)
![Gemini AI - Popup API Key untuk di salin [docs/kuhomi.id].](http://manage.kuhomi.id/assets/img/gallery/1708958285687.png)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Gemini_ai extends CI_Controller {
//ini variabel API Key yang telah digenerate melalui dashboard Gemini AI
//silahkan paste API Key kalian disini
private $apikey = 'AIzaSyAtDgf35RGidvc7zPw3UcBuVVg06nfcnxg';
function __construct()
{
parent::__construct();
//load libary cURL
$this->load->library('curl');
}
function index()
{
//Test paragraph yang akan di translate ke Bahasa Inggris
//Ini bisa di kembangkan kembali sesuai dengan studi kasus kalian
// $text = $this->input->post('text');
$text = "Metode RESTful API adalah salah satu arsitektur yang umum digunakan oleh programmer sebagai media perantara pertukaran informasi dan data antara aplikasi, baik dalam platform yang sama maupun berbeda. Data yang dikirimkan melalui API ini terkadang data yang bukan untuk konsumsi publik. Maka dari itu, diperlukan proses authentikasi user yang request, dengan tujuan untuk membatasi akses user dan hanya user tertentu saja yang dapat mengakses data tersebut.";
//Ini command yang diberikan kepada model AI
$dt['parts'][0]['text'] = 'You will be provided with a html text in Indonesia, and your task is to translate this text into English without remove html tag. Text:'.$text;
$data['contents'][0] = $dt;
//Proses koneksi API melalui cURL
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=".$this->apikey,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 500,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($data, TRUE),
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
//cek apakah koneksi cURL ada error atau tidak
if ($err) {
//kalo ada error, langsung exit
echo "cURL Error #:" . $err;exit();
}else{
//kalau tidak ada error, decode data json return API
//dan dapatkan hasil translate
$res = json_decode($response, TRUE);
// print_r($res);exit();
$text = $res['candidates'][0]['content']['parts'][0]['text'];
}
echo $text;
}
}
Untuk keterangannya, gua coba letakkan di komentar tiap baris program.
![Hasi Translate Google Gemini AI [docs/kuhomi.id].](http://manage.kuhomi.id/assets/img/gallery/1708958901111.png)
*Sebagai catatan, artikel ini dibuat berdasarkan dokumentasi Google Gemini AI pada Februari 2024. Dokumentasi Google Gemini AI dapat berubah sewaktu waktu. Silahkan sesuaikan kembali jika ada perubahan dokumentasi ya..