Tutorial

AI Architect: Mini Project - "Kay-Assistant" (Terminal Edition)

· 2 min read
AI Programming
AI Architect: Mini Project - "Kay-Assistant" (Terminal Edition)

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 fitur ChatSession otomatis. Setiap kali kamu send_message, dia otomatis nyimpen apa yang kamu tanya dan apa yang dia jawab ke dalam history.
  • while True: Seperti di proyek Kalkulator Python kemarin, ini bikin program terus standby nunggu instruksi kamu.
  • Streaming Logic: Kita tetep pakai stream=True biar 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:

  1. Membangun Jembatan: Koneksi Python ke otak AI.
  2. Menjadi Sutradara: Ngatur instruksi dan sifat AI.
  3. Mengelola Memori: Bikin AI yang gak amnesia.

Share this article