Tutorial Promptfoo: Panduan Lengkap Evaluasi dan Testing LLM

# Tutorial Promptfoo: Panduan Lengkap Evaluasi dan Testing LLM ## Pendahuluan Dalam pengembangan aplikasi berbasis Large Language Model (LLM), salah satu tantangan terbesar adalah memastikan bahwa o...

By Ruby Abdullah · · tutorial
PromptfooLLM EvaluationTestingAIDevOps

Tutorial Promptfoo: Panduan Lengkap Evaluasi dan Testing LLM

Pendahuluan

Dalam pengembangan aplikasi berbasis Large Language Model (LLM), salah satu tantangan terbesar adalah memastikan bahwa output model konsisten, akurat, dan sesuai dengan kebutuhan bisnis. Tanpa framework evaluasi yang tepat, developer sering kali mengandalkan pengujian manual yang memakan waktu dan tidak terukur. Di sinilah Promptfoo hadir sebagai solusi.

Promptfoo adalah tool open-source untuk mengevaluasi dan membandingkan output LLM secara sistematis. Dengan Promptfoo, Anda dapat menguji berbagai prompt, membandingkan performa antar model, mendeteksi regresi, dan memastikan kualitas output sebelum deploy ke production. Tool ini mendukung berbagai provider seperti OpenAI, Anthropic Claude, Google Gemini, Ollama, dan banyak lagi.

Tutorial ini akan memandu Anda mulai dari instalasi, konfigurasi dasar, hingga penggunaan lanjutan Promptfoo untuk membangun pipeline evaluasi LLM yang robust.

Mengapa Promptfoo?

Sebelum membahas detail teknis, berikut alasan mengapa Promptfoo layak menjadi bagian dari workflow pengembangan LLM Anda:

  • Perbandingan Model Side-by-Side: Bandingkan output dari berbagai model dan prompt dalam satu tabel
  • Automated Testing: Definisikan test cases sekali, jalankan berulang kali secara otomatis
  • Regression Detection: Deteksi penurunan kualitas output saat mengubah prompt atau model
  • Cost Optimization: Bandingkan model mahal vs murah untuk menemukan sweet spot antara kualitas dan biaya
  • CI/CD Integration: Integrasikan evaluasi LLM ke dalam pipeline CI/CD Anda
  • Red Teaming: Uji keamanan dan ketahanan prompt terhadap serangan adversarial

Instalasi

Prasyarat

Pastikan Anda sudah menginstall Node.js versi 18 atau lebih baru:

node --version

v18.0.0 atau lebih baru

Install Promptfoo

Anda dapat menginstall Promptfoo secara global menggunakan npm:

npm install -g promptfoo

Atau menggunakan npx tanpa instalasi global:

npx promptfoo@latest --help

Untuk project-level installation:

mkdir llm-eval-project

cd llm-eval-project

npm init -y

npm install promptfoo

Verifikasi Instalasi

promptfoo --version

Setup API Keys

Promptfoo membutuhkan API key dari provider LLM yang akan Anda gunakan. Set environment variable sesuai provider:

# OpenAI

export OPENAIAPIKEY="sk-your-key-here"

Anthropic

export ANTHROPICAPIKEY="sk-ant-your-key-here"

Google Gemini

export GOOGLEAPIKEY="your-key-here"

Anda juga bisa menyimpan key dalam file .env:

OPENAIAPIKEY=sk-your-key-here

ANTHROPICAPIKEY=sk-ant-your-key-here

Penggunaan Dasar

Inisialisasi Project

Mulai dengan menginisialisasi project Promptfoo:

promptfoo init

Perintah ini akan membuat file promptfooconfig.yaml yang merupakan file konfigurasi utama.

Struktur Konfigurasi Dasar

Buat file promptfooconfig.yaml dengan konfigurasi berikut:

description: "Evaluasi Chatbot Customer Service"

prompts:

  • "Kamu adalah customer service yang ramah. Jawab pertanyaan berikut: {{question}}"
  • "Sebagai asisten customer service profesional, berikan jawaban yang jelas dan ringkas untuk: {{question}}"

providers:

  • openai:gpt-4o-mini
  • openai:gpt-4o
  • anthropic:messages:claude-sonnet-4-20250514

tests:

  • vars:
question: "Bagaimana cara mengembalikan barang yang sudah dibeli?"

assert:

  • type: contains
value: "pengembalian"

  • type: llm-rubric
value: "Jawaban harus menyebutkan langkah-langkah pengembalian barang dengan jelas"

  • vars:
question: "Berapa lama pengiriman ke luar Jawa?"

assert:

  • type: contains
value: "hari"

  • type: llm-rubric
value: "Jawaban harus menyebutkan estimasi waktu pengiriman"

  • vars:
question: "Apakah ada diskon untuk pembelian dalam jumlah besar?"

assert:

Artikel Terkait

Tutorial Weave: Observabilitas dan Evaluasi Aplikasi LLM dengan Weights & Biases

Tutorial Weave: Observabilitas dan Evaluasi Aplikasi LLM dengan Weights & Biases Membangun aplikasi berbasis Large Langu...

Tutorial Groq API: Inferensi LLM Super Cepat untuk Aplikasi AI

Tutorial Groq API: Inferensi LLM Super Cepat untuk Aplikasi AI Introduction Groq telah menjadi salah satu platform infer...

UV: Package Manager Python Modern yang 10-100x Lebih Cepat

UV: Package Manager Python Modern yang 10-100x Lebih Cepat Mengelola dependensi Python selalu menjadi tantangan tersendi...

Crawl4AI: Web Crawling yang Dioptimalkan untuk Pipeline AI

Crawl4AI: Web Crawling yang Dioptimalkan untuk Pipeline AI Dalam membangun aplikasi AI modern, terutama yang berbasis Re...