Materi
Aplikasi berbicara dengan model bahasa besar (LLM) lewat API. Satu permintaan berisi prompt sistem yang mengatur peran dan aturan aplikasi, daftar pesan percakapan dengan peran user (pengguna) dan assistant (model), serta parameter seperti max_tokens, yaitu batas panjang jawaban dalam token. Responsnya memuat teks jawaban, alasan berhenti, dan catatan pemakaian token.
Halaman Messages Anthropic dan panduan Conversation state OpenAI sama-sama menyatakan setiap permintaan berdiri sendiri (stateless): model tidak menyimpan percakapan sebelumnya. Aplikasimu yang menyimpan riwayat, mengirim ulang seluruhnya setiap giliran, lalu menambahkan jawaban model ke riwayat itu.
Alasan berhenti menunjukkan apakah jawaban utuh. Di dokumentasi Anthropic kolomnya bernama stop_reason: end_turn berarti model selesai wajar, max_tokens berarti jawaban terpotong karena batas, dan tool_use berarti model meminta alat dijalankan (modul 5). Untuk jawaban terpotong, halaman itu menyarankan menaikkan max_tokens atau melanjutkan jawabannya. Penyedia lain memakai nama kolom berbeda; konsepnya sama.
riwayat = [
{"role": "user", "content": "Apotek buka jam berapa?"},
{"role": "assistant", "content": "Setiap hari pukul 08.00 sampai 21.00."},
{"role": "user", "content": "Hari Minggu juga?"},
]
respons = panggil_model("Kamu asisten Apotek Sehat Solo.", riwayat, max_tokens=50)
print(respons["content"]) # teks jawaban
print(respons["stop_reason"]) # "end_turn", "max_tokens", atau "tool_use"
print(respons["usage"]) # {'input_tokens': 21, 'output_tokens': 6}Semua latihan kelas ini memakai panggil_model, fungsi Python tiruan yang jawabannya tetap dan berjalan tanpa jaringan atau kunci API. Bentuk responsnya meniru pola di atas, dan satu kata dihitung satu token supaya hitungannya mudah diperiksa. Tokenizer sungguhan menghitung berbeda; cara memperkirakannya ada di kelas AI Generatif untuk Kerja.