Membuat backend gratis untuk Gemini AI Studio di Google Cloud Platform (GCP)
![]() |
www.ilov.eu.org - GEMINI AI |
Berikut ini Langkah untuk Membuat backend gratis untuk Gemini AI Studio di Google Cloud Platform (GCP) memang sedikit tricky karena GCP umumnya memerlukan informasi kartu kredit, walaupun ada tier gratis. Namun, kita bisa memaksimalkan sumber daya gratis yang tersedia dan menggunakan cara yang hemat biaya untuk mencapai tujuan ini.
Cloud Functions: (Tier Gratis: sejumlah eksekusi dan memori per bulan) - Ideal untuk fungsi-fungsi kecil seperti menerima permintaan API dari frontend (Blogspot) dan meneruskannya ke Gemini AI Studio.Cloud Run: (Tier Gratis: sejumlah CPU dan memori per bulan, batasan pada konkurensi) - Lebih cocok untuk aplikasi backend yang lebih kompleks daripada Cloud Functions.Compute Engine: (Tidak ada instance gratis langsung, tetapi bisa dioptimalkan) - Kita bisa membuat VM kecil dengan spesifikasi minimal dan menghentikannya saat tidak digunakan untuk menghemat biaya. Pastikan untuk memilih region yang menawarkan instance termurah.App Engine: (Tier Gratis: sejumlah sumber daya per hari) - Mirip dengan Cloud Run, tetapi dengan struktur yang lebih terstruktur.
Buka Google Cloud Console: https://console.cloud.google.com/ Ikuti langkah-langkah untuk membuat project baru. Aktifkan penagihan (billing). Meskipun kita akan berusaha untuk tetap dalam tier gratis, GCP memerlukan informasi kartu kredit.
Buka Gemini API di GCP Marketplace dan aktifkan: https://console.cloud.google.com/marketplace/product/google/aiplatform.googleapis.com Buat API Key di Google AI Studio: https://makersuite.google.com/app/apikey Simpan API Key ini dengan aman!
Di Google Cloud Console, cari dan buka "Cloud Functions." Klik "Create Function." Configuration: Function name: gemini-api-proxy (atau nama lain yang Anda suka)Region: Pilih region yang dekat dengan Anda untuk latensi rendah dan potensi biaya lebih rendah.Trigger: HTTPAuthentication: Allow unauthenticated invocations (Untuk demo ini, tetapitidak disarankan untuk produksi . Gunakan autentikasi yang lebih kuat untuk aplikasi yang sebenarnya.)
Klik "Next." Runtime: Pilih Node.js 18 atau versi terbaru yang stabil.Entry point: geminiProxy
Ganti isi index.js dengan kode berikut:
const { VertexAI } = require('@google-cloud/vertexai');
/**
* Responds to any HTTP request.
*
* @param {express.Request} req HTTP request context.
* @param {express.Response} res HTTP response context.
*/
exports.geminiProxy = async (req, res) => {
try {
// Dapatkan pertanyaan dari request body (asumsi request body adalah JSON: { "question": "..." })
const question = req.body.question;
if (!question) {
return res.status(400).send({ error: 'Pertanyaan tidak boleh kosong.' });
}
// Inisialisasi Vertex AI
const vertexAI = new VertexAI({project: '[YOUR_PROJECT_ID]', location: 'us-central1'}); // Ganti project ID dan lokasi
const model = vertexAI.getGenerativeModel({
model: 'gemini-1.5-pro-005', // or gemini-1.5-pro if tersedia di region Anda
generation_config: {
maxOutputTokens: 800,
},
});
const request = {
contents: [{ role: 'user', parts: [{ text: question }] }],
};
// Kirim permintaan ke Gemini API
const response = await model.generateContent(request);
const text = response.response.candidates[0].content.parts[0].text;
// Kirimkan respons kembali ke client
res.status(200).send({ response: text });
} catch (error) {
console.error('Error:', error);
res.status(500).send({ error: 'Terjadi kesalahan saat memproses permintaan.' });
}
};
Ganti [YOUR_PROJECT_ID] dengan Project ID Google Cloud Anda. Ganti 'gemini-1.5-pro-005' dengan model yang Anda inginkan dan tersedia di region Anda. Ganti kode di package.json dengan kode berikut:
{
"name": "gemini-api-proxy",
"version": "1.0.0",
"description": "A proxy for Gemini API",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"@google-cloud/vertexai": "^0.4.0"
},
"devDependencies": {}
}
Klik "Deploy." Ini akan membutuhkan beberapa menit. Setelah deploy selesai, catat "Trigger URL" yang diberikan oleh Cloud Functions. Ini adalah URL API Anda.
Ubah kode Blogspot yang sebelumnya sudah dibuat dengan mengganti URL_API_ANDA dengan Trigger URL dari Cloud Function Anda.
Keamanan API Key: Jangan pernah menyimpan API Key Google AI Studio di kode client-side (Blogspot). Cloud Functions membantu menyembunyikannya di sisi server.Sangat penting untuk mengamankan API Key ini. Untuk aplikasi produksi, gunakan metode autentikasi yang lebih aman (misalnya, OAuth 2.0 atau Identity Platform).Authentication: Untuk aplikasi produksi,jangan biarkan Cloud Function Anda tidak diautentikasi. Ini akan rentan terhadap penyalahgunaan. Pelajari cara mengamankan Cloud Functions dengan Identity Platform atau metode autentikasi lainnya.Biaya: Pantau penggunaan Cloud Functions Anda untuk memastikan Anda tetap berada dalam tier gratis. Atur anggaran dan peringatan di GCP untuk mencegah biaya tak terduga.Error Handling: Implementasikan penanganan kesalahan (error handling) yang komprehensif di Cloud Functions Anda untuk mendeteksi dan menangani masalah dengan baik.Logging: Gunakan Cloud Logging untuk mencatat permintaan dan respons API untuk tujuan debugging dan pemantauan.
Region: Pilih region yang paling murah untuk Cloud Functions. Harga bervariasi antar region.Memory Allocation: Kurangi alokasi memori untuk Cloud Functions Anda ke minimum yang diperlukan untuk menjalankan kode Anda.Cloud Scheduler: Jika Anda hanya membutuhkan akses ke Gemini API pada waktu-waktu tertentu, Anda dapat menggunakan Cloud Scheduler untuk mengaktifkan dan menonaktifkan Cloud Functions secara otomatis.Uji Coba: Uji coba kode Anda secara lokal sebanyak mungkin sebelum men-deploy ke Cloud Functions untuk mengurangi jumlah eksekusi yang tidak perlu.
Membuat backend gratis untuk Gemini AI Studio di Google Cloud Platform (GCP)
www.ilov.eu.org