---
url: https://kugie.app/blog/panduan-google-genai-sdk-di-python-dan-node-js
title: Panduan Google GenAI SDK di Python dan Node.js
---

# Panduan Google GenAI SDK di Python dan Node.js

Perkembangan model kecerdasan buatan seperti Google Gemini telah mengubah cara pengembang membangun aplikasi modern, mulai dari fitur pembuatan teks otomatis, analisis gambar multimodal, hingga pemrosesan dokumen berskala besar. Untuk mengakses kapabilitas ini secara programatik, Google menyediakan Software Development Kit (SDK) resmi bagi pengembang perangkat lunak.

Namun, ekosistem pustaka AI Google mengalami evolusi besar. Pengembang yang mencari referensi dengan kata kunci *npm google generative ai* atau *python google generative ai* sering kali menemukan pustaka generasi lama. Google kini memusatkan pengembangan pada **Google GenAI SDK** terpadu untuk menyederhanakan integrasi antarmuka Gemini Developer API dan Google Cloud Vertex AI.

Panduan ini membahas arsitektur SDK terbaru, cara instalasi dan konfigurasi di lingkungan Node.js serta Python, perbandingan kode implementasi, hingga praktik terbaik dalam pengelolaan integrasi di lingkungan produksi.

## Evolusi Google Generative AI SDK ke Standar Baru

Sebelumnya, Google merilis pustaka terpisah untuk ekosistem Node.js (`@google/generative-ai`) dan Python (`google-generativeai`). Meskipun paket-paket ini masih dapat diunduh, status pemeliharaannya kini dialihkan ke generasi SDK baru. Berdasarkan dokumentasi resmi pada [Gemini API libraries](https://ai.google.dev/gemini-api/docs/libraries), Google secara aktif mengembangkan **Google GenAI SDK** dengan nama paket [@google/genai di npm](https://www.npmjs.com/package/@google/genai) untuk JavaScript/TypeScript dan `google-genai` untuk Python.

Perubahan arsitektur ini membawa sejumlah keuntungan teknis:
- **Antarmuka Terpadu:** Pengembang dapat beralih antara Gemini Developer API (kunci API mandiri) dan Google Cloud Vertex AI tanpa perlu menulis ulang struktur kode dari nol, sebagaimana dipaparkan dalam [dokumentasi SDK Vertex AI](https://cloud.google.com/vertex-ai/generative-ai/docs/sdks/overview).
- **Dukungan Fitur Terkini:** Fitur-fitur mutakhir seperti *Live API*, interaksi audio dua arah secara real-time, caching konteks token, dan model multimodal terbaru diprioritaskan pada pustaka generasi baru.
- **Konsistensi Lintas Bahasa:** Pola pemanggilan fungsi, penanganan stream, dan konfigurasi parameter kini memiliki struktur yang seragam di berbagai ekosistem pemrograman.

Bagi tim yang masih mengelola kode warisan dengan pustaka lama seperti [@google/generative-ai](https://npm.io/package/@google/generative-ai), Google telah merilis [panduan migrasi Google GenAI SDK](https://ai.google.dev/gemini-api/docs/migrate) untuk memfasilitasi transisi bertahap tanpa mengganggu alur kerja aplikasi yang sedang berjalan.

## Implementasi Node.js dengan @google/genai

Bagi pengembang JavaScript atau TypeScript, instalasi SDK modern kini dilakukan melalui paket `@google/genai`. SDK ini mendukung runtime Node.js modern, Next.js, Bun, dan lingkungan serverless.

### 1. Instalasi dan Konfigurasi Klien

Jalankan perintah instalasi berikut di direktori proyek:

```bash
npm install @google/genai
```

Simpan kredensial API yang didapatkan dari Google AI Studio ke dalam berkas `.env` sebagai `GEMINI_API_KEY`.

### 2. Pembuatan Teks (Text Generation)

Berikut adalah contoh inisialisasi klien dan pembuatan teks sederhana menggunakan sintaks ES Module / TypeScript berdasarkan alur kerja [dokumentasi generateContent](https://ai.google.dev/gemini-api/docs/generate-content/get-started):

```typescript
import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI({
  apiKey: process.env.GEMINI_API_KEY,
});

async function main() {
  const response = await ai.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: 'Jelaskan perbedaan synchronous dan asynchronous programming secara ringkas.',
  });

  console.log(response.text);
}

main().catch(console.error);
```

### 3. Pemrosesan Data Multimodal

Google GenAI SDK mempermudah pengiriman data biner seperti gambar atau dokumen PDF ke model. Anda cukup mengonversi file ke format Base64 dan melampirkannya ke dalam array `contents`:

```typescript
import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';

const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

async function analyzeInvoice() {
  const imageBuffer = fs.readFileSync('struk-belanja.jpg');
  const base64Image = imageBuffer.toString('base64');

  const response = await ai.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: [
      {
        text: 'Ekstraksi total transaksi, tanggal, dan nama merchant dari gambar struk berikut ke dalam format JSON.',
      },
      {
        inlineData: {
          mimeType: 'image/jpeg',
          data: base64Image,
        },
      },
    ],
  });

  console.log(response.text);
}

analyzeInvoice();
```

## Implementasi Python dengan google-genai

Dalam ekosistem Python, SDK baru dikemas dalam modul `google-genai`. Modul ini mengadopsi struktur penamaan yang konsisten dengan objek klien terpusat.

### 1. Instalasi Modul

Pasang modul melalui pengelola paket pip:

```bash
pip install google-genai
```

### 2. Streaming Respons dan Penanganan Output

Untuk menangani respons teks yang panjang dengan latensi visual rendah pada antarmuka pengguna, manfaatkan metode *streaming*:

```python
import os
from google import genai

client = genai.Client(api_key=os.environ.get("GEMINI_API_KEY"))

def generate_streaming_content():
    response = client.models.generate_content_stream(
        model="gemini-2.5-flash",
        contents="Buatkan ringkasan tren teknologi AI tahun 2026 dalam 3 poin utama."
    )
    
    for chunk in response:
        print(chunk.text, end="", flush=True)

if __name__ == "__main__":
    generate_streaming_content()
```

### 3. Konfigurasi Parameter dan System Instructions

Anda dapat mengontrol perilaku model, seperti tingkat kreativitas (*temperature*), batas token, dan instruksi sistem (*system instructions*), melalui objek konfigurasi terstruktur:

```python
from google import genai
from google.genai import types

client = genai.Client()

config = types.GenerateContentConfig(
    temperature=0.2,
    system_instruction="Anda adalah asisten data engineering yang hanya memberikan jawaban dalam bentuk kueri SQL PostgreSQL yang valid.",
    max_output_tokens=400,
)

response = client.models.generate_content(
    model="gemini-2.5-pro",
    contents="Tampilkan 5 pelanggan dengan total nilai transaksi tertinggi sepanjang kuartal pertama.",
    config=config,
)

print(response.text)
```

## Praktik Terbaik Menjalankan AI di Lingkungan Produksi

Membangun fitur berbasis AI generatif yang siap produksi menuntut keandalan arsitektur dan perlindungan data yang ketat:

1. **Keamanan Kredensial:** Hindari menanamkan kunci API secara langsung pada kode sumber. Gunakan *secret management service* di tingkat infrastruktur dan manfaatkan pembatasan kuota berbasis IP atau rute server.
2. **Mitigasi Pembatasan Laju Permintaan (*Rate Limiting*):** Panggilan API berskala besar memerlukan mekanisme *exponential backoff* serta antrean pekerjaan (*job queue*) untuk mencegah error HTTP 429 ketika batas RPM atau TPM tercapai.
3. **Penerapan Structured Outputs:** Saat membutuhkan data terstruktur untuk integrasi sistem otomatis, tentukan skema JSON yang ketat agar model tidak menghasilkan format keluaran yang inkonsisten.
4. **Monitoring dan Eskalasi Kegagalan Sistem:** Antrean latar belakang yang mengeksekusi generasi AI atau worker pemrosesan batch dokumen rentan mengalami kegagalan senyap (*silent failures*) akibat kehabisan memori atau koneksi API yang terputus. Solusi pemantauan seperti Meerkat Pulse mendeteksi kegagalan *heartbeat* antrean AI dan mengeskalasi insiden ke teknisi on-call melalui WhatsApp, SMS, hingga panggilan telepon otomatis saat server mengalami gangguan tak terduga.

Transisi menuju Google GenAI SDK (`@google/genai` dan `google-genai`) memberikan fondasi yang jauh lebih konsisten dan siap masa depan untuk mengeksploitasi kapabilitas model Gemini secara maksimal. Dengan mengadopsi standar SDK terbaru serta menerapkan arsitektur pemantauan yang tangguh, tim pengembang dapat merilis integrasi AI yang aman, efisien, dan andal dalam melayani pengguna di skala produksi.
