Kita bakal gabungin: API Key, System Instruction, Streaming, dan Chat History.
🚀 Kode Lengkap Proyek
import google.generativeai as genai
import os
import sys
from dotenv import load_dotenv
# 1. Setup & Keamanan
load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
# 2. Inisialisasi Model dengan "Kepribadian"
model = genai.GenerativeModel(
model_name='gemini-1.5-flash',
system_instruction="Kamu adalah asisten AI pribadi bernama Kai. Kamu asik, jago koding, dan selalu panggil user dengan nama 'Kay'. Jawablah dengan singkat dan padat."
)
# 3. Wadah Memori (Chat History)
# Kita mulai dengan List kosong yang akan terus bertambah
chat = model.start_chat(history=[])
print("=== Kai AI Assistant: Siap Melayani Kay! (Ketik 'keluar' untuk berhenti) ===")
while True:
# Ambil Input dari Kay
user_input = input("\nKay > ")
if user_input.lower() in ['keluar', 'exit', 'quit']:
print("Kai > Dadah Kay! Sampai ketemu lagi di sesi belajar berikutnya. 👋")
break
print("Kai > ", end="")
try:
# 4. Kirim Pesan dengan Mode Streaming
response = chat.send_message(user_input, stream=True)
# Tampilkan hasil ketikan AI
for chunk in response:
print(chunk.text, end="")
sys.stdout.flush()
print() # Baris baru setelah selesai ngetik
except Exception as e:
print(f"\nWaduh Kay, ada error nih: {e}")
💡 Bedah "Sihir" di Balik Proyek Ini
system_instruction: Ini cara kita ngasih "perintah suci" di awal. AI bakal tahu peran dia sebagai Kai dan tahu kalau dia harus manggil kamu Kay, tanpa kamu perlu ingetin tiap saat.model.start_chat(history=[]): Inilah kuncinya! Library Gemini punya fiturChatSessionotomatis. Setiap kali kamusend_message, dia otomatis nyimpen apa yang kamu tanya dan apa yang dia jawab ke dalamhistory.while True: Seperti di proyek Kalkulator Python kemarin, ini bikin program terus standby nunggu instruksi kamu.- Streaming Logic: Kita tetep pakai
stream=Truebiar aplikasimu kerasa modern dan gak laggy.
🎯 Kesimpulan & Milestone
Selamat! Kamu sudah resmi menyelesaikan AI Foundations. Kamu bukan cuma bisa nanya ke AI, tapi kamu sudah bisa:
- Membangun Jembatan: Koneksi Python ke otak AI.
- Menjadi Sutradara: Ngatur instruksi dan sifat AI.
- Mengelola Memori: Bikin AI yang gak amnesia.