Skip to content

Repository files navigation

Mini-eksperimen Fase 0 — LLM Fundamentals (versi Gemini API)

5 skrip Node.js kecil, masing-masing membuktikan 1 konsep dengan cara kamu lihat sendiri hasilnya di terminal. Bukan project, cuma skrip lepas — jalanin satu-satu, baca hasilnya, jawab refleksinya pakai kata-katamu sendiri.

Persiapan (sekali saja)

  1. Butuh Node.js 18+ (pakai fetch bawaan, tanpa npm install apa pun).
  2. Ambil API key gratis di aistudio.google.com/apikey (login pakai akun Google, klik "Create API key").
  3. Set sebagai environment variable sebelum menjalankan skrip apa pun:
export GEMINI_API_KEY=AIzaSy...xxxx

Urutan menjalankan

node exp1-temperature.js       # temperature 0 vs 1
node exp2-token-counting.js    # token vs karakter (GRATIS, pakai countTokens)
node exp3-context-window.js    # history makin panjang + sengaja kena limit
node exp4-system-vs-user.js    # systemInstruction vs user prompt + prompt injection
node exp5-structured-output.js # free-form vs JSON mode (structured output)

Tiap skrip:

  • ngirim request beneran ke Gemini API (kecuali eksperimen 2 dan Bagian A eksperimen 3, yang pakai endpoint countTokens — gratis, gak generate apa-apa, dan kuotanya terpisah/lebih longgar dari generateContent),
  • nge-print hasil yang bisa langsung kamu bandingkan,
  • diakhiri blok --- Refleksi --- berisi 1 (atau 2) pertanyaan. Jangan langsung dibaca sebagai soal buat dijawab Gemini — jalankan dulu skripnya, lihat hasilnya, baru coba jawab sendiri di kepala atau tulis di catatan kamu.

Soal kuota / rate limit gratis

Model default di sini gemini-2.5-flash. Free tier-nya dibatasi per menit (RPM) dan per hari (RPD) — angka pastinya bisa berubah, cek halaman resmi kalau perlu: https://ai.google.dev/gemini-api/docs/rate-limits. Semua skrip di sini cuma butuh beberapa request (3–8 kali generateContent), jadi harusnya aman di free tier. Kalau kamu kena error 429 (rate limit):

  • tunggu sebentar (satu menit) lalu run ulang, atau
  • ganti MODEL di _helper.js jadi "gemini-2.5-flash-lite" (kuota harian gratisnya jauh lebih longgar, kualitas jawaban sedikit di bawah flash).

Eksperimen 3 Bagian B sengaja dibuat GAGAL (400 error) sebelum model sempat generate apa pun, jadi request itu sendiri gak makan kuota generate yang berarti.

Catatan penting soal role

Gemini pakai role "user" dan "model" di array contents (BUKAN "assistant" seperti provider lain) — udah disesuaikan di semua skrip di sini.

File

File Konsep
_helper.js helper bersama (jangan dijalankan langsung)
exp1-temperature.js temperature
exp2-token-counting.js token vs karakter
exp3-context-window.js context window & stateless-ness API
exp4-system-vs-user.js systemInstruction vs user prompt, prompt injection
exp5-structured-output.js free-form vs structured output (JSON mode)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages