Inspect AI: Framework Evaluasi LLM dari UK AI Safety Institute

# Inspect AI: Framework Evaluasi LLM dari UK AI Safety Institute yang Wajib Kamu Coba Temen-temen, kalau kamu udah mulai serius ngoding aplikasi yang pakai large language model, cepat atau lambat kam...

By Ruby Abdullah · · tutorial
LLMEvaluationPythonInspect AIAI Safety

Inspect AI: Framework Evaluasi LLM dari UK AI Safety Institute yang Wajib Kamu Coba

Temen-temen, kalau kamu udah mulai serius ngoding aplikasi yang pakai large language model, cepat atau lambat kamu bakal ketemu satu pertanyaan yang bikin pusing: "Model mana sih yang sebenernya paling bagus buat kasus aku?" Atau yang lebih spesifik lagi: "Setelah aku ganti prompt, hasilnya jadi lebih bagus atau malah lebih jelek?" Selama ini banyak dari kita jawab pertanyaan itu pakai cara yang jujur aja agak asal: coba beberapa contoh manual, lihat outputnya, terus bilang "kayaknya sih udah oke". Padahal "kayaknya" itu bukan jawaban yang bisa dipertanggungjawabkan.

Nah, di tutorial ini aku mau ngenalin kamu ke sebuah tool yang menurutku ngubah cara aku ngukur kualitas kerjaan LLM: namanya Inspect AI. Ini framework open-source yang dibikin sama UK AI Safety Institute, jadi institusi resmi pemerintah Inggris yang tugasnya emang ngurusin keamanan dan evaluasi AI. Karena lahir dari lembaga yang serius soal evaluasi, framework ini didesain buat bikin proses evaluasi LLM jadi terstruktur, bisa diulang, dan bisa diaudit. Bukan lagi "kayaknya oke", tapi angka yang jelas: model A dapet 78 persen, model B dapet 84 persen, di dataset yang sama, dengan cara scoring yang sama.

Aku bakal ajak kamu dari nol: mulai dari instalasi, paham konsep intinya (Task, Dataset, Solver, Scorer), nulis task pertama, pakai berbagai solver dan scorer, jalanin lewat CLI inspect eval, sampai ngeliat hasilnya di log viewer yang keren. Semua pakai contoh Python yang bisa langsung kamu jalanin. Santai aja, kita jalan pelan-pelan. Siap? Yuk kita mulai.

Introduction: Kenapa Inspect AI Itu Penting

Sebelum masuk ke koding, aku mau kamu paham dulu masalah apa yang mau diselesain sama Inspect AI. Ini penting biar kamu ngerti kenapa tool ini worth banget buat dipelajari.

Bayangin kamu lagi bikin fitur customer service yang jawab pertanyaan pelanggan pakai LLM. Kamu udah nulis prompt yang bagus, udah pilih model, dan hasilnya kelihatan oke waktu kamu coba lima atau sepuluh pertanyaan. Tapi coba pikir: aplikasi kamu bakal ngadepin ribuan pertanyaan yang beda-beda. Gimana kamu tau model kamu bener-bener jawab dengan benar di mayoritas kasus? Terus waktu ada model baru keluar, atau kamu mau turunin biaya dengan pakai model yang lebih kecil, gimana kamu bandingin secara adil?

Cara manual jelas nggak scalable. Kamu nggak mungkin ngetes seribu pertanyaan satu-satu tiap kali ada perubahan kecil. Yang kamu butuhin adalah sistem yang bisa: nyimpen kumpulan soal beserta jawaban benernya, jalanin model ke semua soal itu secara otomatis, nilai jawaban model secara konsisten, dan kasih kamu laporan yang jelas. Persis inilah yang dikasih Inspect AI.

Inspect AI punya empat konsep inti yang harus kamu pahami dulu. Kalau kamu udah paham empat ini, kamu udah paham 80 persen framework-nya:

Pertama, Dataset. Ini kumpulan soal yang mau kamu tes. Tiap item di dataset disebut Sample, dan tiap Sample punya minimal dua bagian: input (pertanyaan atau prompt yang dikasih ke model) dan target (jawaban yang benar, alias ground truth). Dataset bisa dari list Python langsung, dari file CSV/JSON, atau dari Hugging Face. Kedua, Solver. Ini yang menentukan gimana model ngerjain tiap Sample. Solver paling dasar itu generate(), yang artinya "kasih input ke model, minta dia generate jawaban". Tapi Solver bisa lebih kompleks: kamu bisa nambahin prompt template, system message, chain-of-thought, multi-step reasoning, bahkan pakai tools. Solver itu ibarat pipeline pemrosesan buat tiap soal. Ketiga, Scorer. Ini yang nilai jawaban model. Setelah model ngeluarin jawaban, Scorer bandingin jawaban itu sama target dan kasih nilai. Scorer bisa sederhana kayak match() (cocok string atau nggak), atau canggih kayak modelgradedqa() yang pakai LLM lain buat nilai kualitas jawaban. Keempat, Task. Ini yang nyatuin ketiganya. Sebuah Task adalah kombinasi Dataset + Solver + Scorer. Kamu deklarasiin Task pakai decorator @task, terus kamu jalanin pakai perintah inspect eval. Hasilnya berupa metrik (misalnya akurasi) plus log detail tiap Sample.

Coba lihat gimana empat konsep ini nyambung dalam satu alur: Inspect ambil tiap Sample dari Dataset, kasih ke Solver buat diproses model, terus hasilnya dinilai sama Scorer, dan semua itu dibungkus dalam satu Task. Sesederhana itu konsepnya, tapi kekuatannya luar biasa karena semua bagian bisa kamu ganti-ganti sesuai kebutuhan.

Yang bikin aku suka banget sama Inspect AI dibanding bikin script evaluasi sendiri: dia udah nyediain log viewer visual yang bagus, dukungan banyak provider model (OpenAI, Anthropic, Google, model lokal via Ollama, dan lain-lain), penanganan paralel yang efisien biar evaluasi cepat, dan struktur kode yang rapi jadi evaluasi kamu bisa di-share dan diulang orang lain. Oke, cukup teorinya. Yuk kita install.

Instalasi

Instalasi Inspect AI gampang banget karena dia paket Python biasa. Syaratnya kamu punya Python 3.10 atau lebih baru. Aku sangat saranin kamu bikin virtual environment dulu biar bersih dan nggak tabrakan sama proyek lain.

# Bikin virtual environment

python -m venv venv

Aktifkan (Linux/Mac)

source venv/bin/activate

Aktifkan (Windows)

venv\Scripts\activate

Install Inspect AI

pip install inspect-ai

Nah itu udah cukup buat framework intinya. Tapi karena Inspect AI butuh ngobrol sama model, kamu juga perlu install SDK dari provider yang mau kamu pakai. Misalnya kalau kamu mau pakai model OpenAI atau Anthropic:

# Kalau mau pakai OpenAI

pip install openai

Kalau mau pakai Anthropic (Claude)

pip install anthropic

Kalau mau pakai Google Gemini

pip install google-generativeai

Setelah itu, kamu perlu set API key sebagai environment variable. Inspect AI otomatis baca key dari environment sesuai provider yang kamu pakai. Ini caranya:

# Untuk OpenAI

export OPENAIAPIKEY="sk-xxxxxxxxxxxx"

Untuk Anthropic

export ANTHROPICAPIKEY="sk-ant-xxxxxxxxxxxx"

Untuk Google

export GOOGLEAPIKEY="xxxxxxxxxxxx"

Kalau kamu males ngetik export tiap kali buka terminal, kamu bisa taruh key-nya di file .env di folder proyek kamu. Inspect AI otomatis baca file .env itu, jadi praktis banget:

# File: .env

OPENAIAPIKEY=sk-xxxxxxxxxxxx

ANTHROPICAPIKEY=sk-ant-xxxxxxxxxxxx

Buat mastiin instalasi kamu berhasil, coba jalanin perintah ini di terminal:

inspect --version

Kalau muncul nomor versi, berarti Inspect AI udah keinstall dengan benar dan CLI-nya siap dipakai. Perintah inspect ini nanti bakal jadi teman kamu buat jalanin evaluasi, ngeliat log, dan macem-macem hal lain. Sekarang kita udah siap nulis task pertama.

Basic Usage: Nulis Task Pertama Kamu

Oke, sekarang bagian yang seru. Kita bakal bikin evaluasi sederhana buat ngetes seberapa jago model jawab pertanyaan pengetahuan umum. Aku bakal jelasin tiap baris biar kamu bener-bener paham, bukan cuma copas.

Bikin file baru namanya evalpengetahuan.py, terus tulis kode berikut:

from inspectai import Task, task

from inspectai.dataset import Sample

from inspectai.solver import generate

from inspectai.scorer import match

@task

def pengetahuanumum():

# 1. Dataset: kumpulan soal beserta jawaban benernya

dataset = [

Sample(

input="Apa ibu kota Indonesia?",

target="Jakarta",

),

Sample(

input="Berapa hasil dari 12 dikali 8?",

target="96",

),

Sample(

input="Siapa presiden pertama Indonesia?",

target="Soekarno",

),

]

# 2. Gabungkan jadi Task: Dataset + Solver + Scorer

return Task(

dataset=dataset,

solver=generate(),

scorer=match(location="any"),

)

Yuk kita bedah kode ini pelan-pelan. Di baris import, kita ambil Task dan task dari inspectai. Yang huruf kecil task itu decorator, yang huruf besar Task itu class-nya. Terus kita ambil Sample buat bikin item dataset, generate sebagai solver, dan match sebagai scorer.

Decorator @task itu penting banget. Dia nandain fungsi pengetahuanumum() sebagai sebuah task yang bisa dikenali sama CLI inspect eval. Jadi nanti kamu tinggal panggil nama fungsi ini dari terminal.

Di dalam fungsi, aku bikin dataset berupa list dari tiga Sample. Tiap Sample punya input (pertanyaannya) dan target (jawaban benernya). Ini bagian paling penting: target inilah yang jadi acuan buat nilai jawaban model nanti.

Terus kita return sebuah Task yang nyatuin tiga hal: dataset yang barusan kita bikin, solver=generate() yang artinya "suruh model generate jawaban dari input", dan scorer=match(location="any") yang artinya "nilai bener kalau target muncul di mana aja dalam jawaban model". Aku pakai location="any" karena model biasanya jawab dengan kalimat lengkap, bukan cuma satu kata. Jadi kalau model jawab "Ibu kota Indonesia adalah Jakarta", scorer tetep nganggep bener karena kata "Jakarta" ada di dalamnya.

Sekarang, gimana cara jalaninnya? Di sinilah CLI inspect eval masuk. Buka terminal, terus ketik:

inspect eval evalpengetahuan.py --model openai/gpt-4o-mini

Perhatiin format nama model: openai/gpt-4o-mini. Formatnya selalu provider/nama-model. Kalau kamu mau pakai Claude, tinggal ganti:

inspect eval evalpengetahuan.py --model anthropic/claude-3-5-sonnet-20241022

Kalau kamu mau pakai model lokal via Ollama:

inspect eval evalpengetahuan.py --model ollama/llama3.1

Waktu kamu jalanin, Inspect AI bakal ngambil tiap Sample, kasih pertanyaannya ke model, tunggu jawabannya, terus nilai pakai scorer. Di akhir, dia bakal nampilin ringkasan di terminal, kayak berapa persen jawaban yang bener. Selain itu, dia otomatis nyimpen log lengkap di folder logs/ yang nanti bisa kamu buka di log viewer.

Enaknya lagi, kamu bisa atur berapa banyak sample yang dijalanin bareng biar cepet, dan batasin jumlah sample buat testing cepat:

# Cuma jalanin 2 sample pertama buat cek cepat

inspect eval evalpengetahuan.py --model openai/gpt-4o-mini --limit 2

Jalanin dengan 5 sample paralel biar cepet

inspect eval evalpengetahuan.py --model openai/gpt-4o-mini --max-connections 5

Nah, kamu udah bikin dan jalanin evaluasi LLM pertama kamu. Gampang kan? Sekarang mari kita naik level.

Advanced Usage: Solver dan Scorer yang Lebih Canggih

Task sederhana tadi udah bagus buat kenalan, tapi dunia nyata biasanya lebih rumit. Model jarang jawab dengan format yang persis sama kayak target, dan pertanyaannya sering butuh penilaian yang lebih pintar. Di bagian ini aku bakal tunjukin cara pakai solver dan scorer yang lebih canggih.

Solver dengan Prompt Template dan System Message

Solver generate() polos itu langsung ngasih input mentah ke model. Tapi seringkali kamu mau ngasih instruksi tambahan atau format prompt tertentu. Buat itu, Inspect AI punya solver systemmessage() dan prompttemplate() yang bisa kamu gabung jadi rantai (chain).

from inspectai import Task, task

from inspectai.dataset import Sample

from inspectai.solver import generate, systemmessage, prompttemplate

from inspectai.scorer import match

@task

def pengetahuandenganinstruksi():

dataset = [

Sample(input="Apa ibu kota Jepang?", target="Tokyo"),

Sample(input="Apa ibu kota Prancis?", target="Paris"),

]

return Task(

dataset=dataset,

solver=[

systemmessage(

"Kamu asisten geografi. Jawab dengan SATU kata saja, "

"yaitu nama kotanya. Jangan tambahkan penjelasan apa pun."

),

prompttemplate("Pertanyaan: {prompt}\nJawaban:"),

generate(),

],

scorer=match(location="any"),

)

Perhatiin di sini solver bukan lagi satu fungsi, tapi sebuah list. Ini yang disebut solver chain. Inspect AI jalanin solver-solver ini berurutan. Pertama systemmessage() nambahin instruksi sistem yang nyuruh model jawab satu kata. Terus prompttemplate() mbungkus input kita pakai template, di mana {prompt} bakal diganti otomatis sama input dari Sample. Terakhir generate() yang benerannya manggil model. Dengan rantai ini, kamu punya kontrol penuh atas gimana prompt disusun sebelum sampai ke model.

Scorer Model-Graded untuk Jawaban Terbuka

Nah ini bagian yang menurutku paling powerful. Scorer match() cuma cocok buat jawaban yang jelas dan pasti. Tapi gimana kalau jawabannya berupa esai atau penjelasan panjang yang nggak bisa dicocokin string persis? Misalnya kamu nanya "Jelaskan kenapa langit berwarna biru". Nggak ada satu jawaban benar yang fix.

Buat kasus kayak gini, Inspect AI punya modelgradedqa(). Ide dasarnya cerdas: kita pakai LLM lain sebagai juri buat nilai apakah jawaban model udah benar dan sesuai. Ini disebut LLM-as-a-judge.

from inspectai import Task, task

from inspectai.dataset import Sample

from inspectai.solver import generate

from inspectai.scorer import modelgradedqa

@task

def evaluasipenjelasan():

dataset = [

Sample(

input="Jelaskan secara singkat kenapa langit berwarna biru.",

target=(

"Karena hamburan Rayleigh: molekul udara menghamburkan "

"cahaya biru yang panjang gelombangnya lebih pendek lebih "

"kuat daripada cahaya merah."

),

),

Sample(

input="Jelaskan apa itu fotosintesis dalam satu kalimat.",

target=(

"Proses tumbuhan mengubah cahaya matahari, air, dan "

"karbon dioksida menjadi glukosa dan oksigen."

),

),

]

return Task(

dataset=dataset,

solver=generate(),

scorer=modelgradedqa(

instructions=(

"Nilai apakah jawaban peserta secara faktual benar dan "

"menyampaikan inti yang sama dengan jawaban acuan. "

"Abaikan perbedaan gaya bahasa."

),

model="openai/gpt-4o",

),

)

Di sini modelgradedqa() punya dua argumen penting. instructions adalah panduan buat si juri gimana cara nilai. Aku bilang ke juri buat fokus ke kebenaran faktual dan inti jawaban, bukan gaya bahasa. Terus model adalah model yang jadi jurinya. Aku sengaja pakai model yang lebih kuat (gpt-4o) sebagai juri, sementara model yang dites bisa model yang lebih kecil. Ini praktik umum: juri sebaiknya model yang pinter biar penilaiannya akurat.

Waktu kamu jalanin task ini, alurnya jadi begini: model yang dites ngejawab pertanyaan, terus jawaban itu plus target dikirim ke model juri, dan juri mutusin apakah jawaban itu benar atau salah. Keren kan? Kamu bisa nilai jawaban terbuka secara otomatis dan konsisten.

Bikin Custom Scorer Sendiri

Kadang scorer bawaan nggak cukup dan kamu butuh logika penilaian sendiri. Inspect AI ngizinin kamu bikin scorer custom pakai decorator @scorer. Misalnya kamu mau nilai berdasarkan apakah jawaban model mengandung angka yang benar dalam toleransi tertentu:

from inspectai.scorer import scorer, accuracy, stderr, Score, Target

from inspectai.solver import TaskState

import re

@scorer(metrics=[accuracy(), stderr()])

def angkadalamtoleransi(toleransi: float = 0.01):

async def score(state: TaskState, target: Target) -> Score:

# Ambil jawaban model dan target

jawaban = state.output.completion

targetnilai = float(target.text)

# Cari angka pertama di jawaban model

angka = re.findall(r"-?\d+\.?\d*", jawaban)

if not angka:

return Score(value="I", explanation="Tidak ada angka di jawaban")

nilaimodel = float(angka[0])

benar = abs(nilaimodel - targetnilai) <= toleransi

return Score(

value="C" if benar else "I",

answer=str(nilaimodel),

explanation=f"Model: {nilaimodel}, Target: {targetnilai}",

)

return score

Di scorer custom ini, aku pakai decorator @scorer dengan metrics=[accuracy(), stderr()] yang artinya hasilnya diringkas jadi akurasi dan standard error. Fungsi score menerima state (berisi output model) dan target (jawaban benar). Aku ekstrak angka dari jawaban model pakai regex, bandingin sama target dalam toleransi, terus return Score dengan value "C" (Correct) atau "I" (Incorrect). Nilai "C" dan "I" ini konvensi Inspect AI buat benar dan salah. Dengan custom scorer, kamu bisa nilai apa aja sesuai kebutuhan spesifik proyek kamu.

Ngeliat Hasil di Inspect Log Viewer

Setelah kamu jalanin beberapa evaluasi, kamu pasti pengen liat detailnya, bukan cuma angka akhir di terminal. Di sinilah log viewer Inspect AI bersinar. Tiap kali kamu jalanin inspect eval, hasilnya disimpen di folder logs/. Buat bukanya, cukup ketik:

inspect view

Perintah ini bakal ngejalanin web server lokal (biasanya di http://localhost:7575) dan buka tampilan visual di browser kamu. Di sana kamu bisa liat tiap Sample satu per satu: apa pertanyaannya, apa jawaban model, apa targetnya, dan kenapa scorer ngasih nilai benar atau salah. Buat kasus modelgradedqa, kamu bahkan bisa liat alasan si juri kenapa dia nilai begitu. Ini super berguna buat debugging. Kalau model kamu banyak salah, kamu bisa langsung liat pola kesalahannya di sini.

Kamu juga bisa arahin viewer ke folder log tertentu atau file log spesifik:

# Buka log dari folder tertentu

inspect view --log-dir ./logs

Kadang kamu mau jalanin di port lain

inspect view --port 8080

Log viewer ini menurutku salah satu fitur pembeda Inspect AI. Banyak framework evaluasi cuma kasih angka, tapi Inspect ngasih kamu transparansi penuh sampai ke level tiap sample. Jadi kamu nggak cuma tau "model dapet 80 persen", tapi juga tau persis 20 persen yang salah itu salahnya kenapa.

Best Practices: Tips dari Pengalaman

Setelah cukup lama pakai Inspect AI, ada beberapa hal yang aku pelajari yang pengen aku bagi ke kamu biar kamu nggak ngalamin kesalahan yang sama.

Pertama, mulai dari dataset kecil waktu development. Waktu kamu lagi ngembangin task, jangan langsung jalanin ke seribu sample. Pakai --limit 5 atau --limit 10 biar cepet dan hemat biaya API. Setelah task-nya udah bener dan scorer-nya udah oke, baru jalanin ke dataset penuh. Aku sering banget lupa ini di awal dan buang-buang uang API karena bug di scorer yang bikin semua sample harus diulang. Kedua, pisahkan dataset dari kode task. Buat dataset yang besar, jangan hardcode di dalam fungsi task. Simpen di file CSV atau JSON terpisah, terus load pakai helper Inspect AI. Ini bikin dataset kamu lebih gampang di-maintain dan di-share:
from inspectai.dataset import csvdataset, jsondataset

Load dari CSV dengan kolom 'input' dan 'target'

dataset = csvdataset("soal.csv")

Atau dari JSON

dataset = jsondataset("soal.json")

Ketiga, pilih scorer yang sesuai sama tipe soal. Jangan pakai modelgradedqa() buat soal yang jawabannya pasti kayak "2 + 2 = 4", karena itu mahal (manggil LLM tambahan) dan overkill. Pakai match() atau includes() aja. Sebaliknya, jangan pakai match() buat jawaban esai, karena string matching bakal salah nilai. Cocokin scorer sama karakteristik soalnya. Keempat, hati-hati sama biaya waktu pakai model-graded scorer. Inget, tiap sample yang dinilai modelgradedqa() berarti dua kali panggilan LLM: sekali buat model yang dites, sekali buat juri. Kalau dataset kamu besar, biaya bisa numpuk cepat. Pertimbangkan pakai model juri yang lebih murah kalau soalnya nggak terlalu susah dinilai. Kelima, manfaatin epochs buat model yang jawabannya nggak konsisten. Model LLM itu non-deterministik, jadi jawabannya bisa beda tiap kali. Kalau kamu mau penilaian yang lebih stabil, kamu bisa jalanin tiap sample beberapa kali pakai parameter epochs:
# Jalanin tiap sample 3 kali, ambil rata-ratanya

inspect eval eval_pengetahuan.py --model openai/gpt-4o-mini --epochs 3

Keenam, versiin task dan dataset kamu pakai git. Karena evaluasi itu tentang perbandingan yang adil, kamu harus bisa reproduksi hasil lama. Simpen task, dataset, dan config-nya di git. Dengan begitu, kalau kamu nemu skor yang beda di kemudian hari, kamu bisa telusuri apa yang berubah. Ini disiplin yang bikin evaluasi kamu bisa dipercaya. Ketujuh, kasih instruksi yang spesifik ke model-graded scorer. Kualitas penilaian LLM-as-a-judge sangat tergantung sama instruksi yang kamu kasih. Jangan cuma bilang "nilai jawaban ini". Kasih kriteria yang jelas: apa yang dianggap benar, apa yang boleh diabaikan, dan gimana cara mutusin kasus yang ambigu. Semakin spesifik instruksi kamu, semakin konsisten penilaiannya.

Conclusion

Oke temen-temen, kita udah jalan jauh banget di tutorial ini. Kita mulai dari nol, paham empat konsep inti Inspect AI (Dataset, Solver, Scorer, Task), install framework-nya, nulis task pertama, sampai pakai solver dan scorer yang canggih kayak prompt template dan model-graded QA. Kita juga belajar bikin custom scorer sendiri dan ngeliat hasil detail di log viewer.

Yang aku harap kamu bawa pulang dari tutorial ini bukan cuma sintaksnya, tapi mindset-nya. Evaluasi LLM itu bukan hal yang boleh kamu lakuin dengan "kayaknya oke". Kalau kamu serius bikin produk yang pakai LLM, kamu perlu cara yang terstruktur, bisa diulang, dan bisa diaudit buat ngukur kualitas. Inspect AI ngasih kamu semua itu dalam paket yang rapi dan open-source, dibikin sama institusi yang emang ahli di bidang evaluasi AI.

Langkah selanjutnya yang aku saranin: coba bikin dataset kecil dari kasus nyata di proyek kamu sendiri, mungkin sepuluh atau dua puluh soal yang mewakili apa yang bener-bener ditanya user kamu. Terus bikin task buat evaluasi model yang lagi kamu pakai. Dari situ kamu bakal dapet angka baseline. Setelah itu, tiap kali kamu ganti prompt atau ganti model, jalanin lagi evaluasinya dan bandingin. Kamu bakal kaget berapa banyak keputusan yang selama ini kamu ambil berdasarkan "feeling" ternyata bisa dibuktikan pakai angka.

Inspect AI juga masih punya banyak fitur yang belum kita bahas: dukungan tools dan agent, evaluasi multi-turn conversation, sandbox buat kode, dan integrasi sama berbagai dataset benchmark populer. Tapi fondasi yang udah kamu pelajari di sini cukup buat kamu mulai. Pelan-pelan aja, eksplorasi sisanya sambil jalan.

Selamat nyoba, temen-temen. Semoga tutorial ini bikin kamu lebih pede buat ngukur kualitas kerjaan LLM kamu pakai data, bukan cuma perasaan. Kalau kamu bikin sesuatu yang keren pakai Inspect AI, aku seneng banget kalau kamu share. Sampai ketemu di tutorial berikutnya. Semangat terus belajarnya ya.

Artikel Terkait

Tutorial Lengkap Braintrust: Evaluasi, Testing, dan Improve Aplikasi LLM

Tutorial Lengkap Braintrust: Evaluasi, Testing, dan Improve Aplikasi LLM Halo temen-temen, di tutorial kali ini aku mau ...

RAGAS: Framework Evaluasi untuk Pipeline RAG

RAGAS: Framework Evaluasi untuk Pipeline RAG Pendahuluan Retrieval-Augmented Generation (RAG) telah menjadi arsitektur s...

DSPy: Berhenti Ngoprek Prompt Manual, Biarkan Compiler yang Optimasi

DSPy: Berhenti Ngoprek Prompt Manual, Biarkan Compiler yang Optimasi Halo temen-temen, kali ini aku mau ngenalin satu li...

OpenRouter: Satu API untuk Ratusan LLM (OpenAI, Anthropic, Google, Meta, Mistral)

OpenRouter: Satu API untuk Ratusan LLM (OpenAI, Anthropic, Google, Meta, Mistral) Halo temen-temen, ketemu lagi sama aku...