Guardrails AI: Validasi dan Filter Output LLM

# Guardrails AI: Validasi dan Filter Output LLM ## Pendahuluan Large Language Models (LLM) sangat powerful dalam menghasilkan teks, tetapi output-nya tidak selalu dapat diandalkan. LLM bisa menghasi...

By Ruby Abdullah · · tutorial
GuardrailsLLMValidationSafetyPython

Guardrails AI: Validasi dan Filter Output LLM

Pendahuluan

Large Language Models (LLM) sangat powerful dalam menghasilkan teks, tetapi output-nya tidak selalu dapat diandalkan. LLM bisa menghasilkan informasi yang tidak akurat, mengandung data sensitif seperti PII (Personally Identifiable Information), atau tidak sesuai dengan format yang diharapkan. Dalam aplikasi produksi, terutama yang berhadapan langsung dengan pengguna, hal ini bisa menjadi masalah serius.

Guardrails AI hadir sebagai solusi untuk memvalidasi, memfilter, dan memstrukturkan output LLM. Framework ini menyediakan lapisan keamanan antara LLM dan pengguna akhir, memastikan bahwa setiap respons memenuhi kriteria kualitas dan keamanan yang telah ditentukan.

Dalam tutorial ini, kita akan mempelajari cara menggunakan Guardrails AI mulai dari instalasi, penggunaan Guard object, berbagai validator bawaan, integrasi dengan Pydantic, hingga membangun chatbot yang aman untuk pelanggan.

Instalasi

Instal Guardrails AI dan dependensi yang diperlukan:

pip install guardrails-ai

Setelah instalasi, konfigurasi Guardrails CLI dan instal validator dari Guardrails Hub:

guardrails configure

Instal validator dari Hub

guardrails hub install hub://guardrails/regexmatch

guardrails hub install hub://guardrails/detectpii

guardrails hub install hub://guardrails/toxicity

guardrails hub install hub://guardrails/provenancellm

Pastikan API key LLM Anda sudah dikonfigurasi:

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

Guard Object

Guard adalah objek utama dalam Guardrails AI. Guard berfungsi sebagai wrapper di sekitar pemanggilan LLM, menambahkan validasi pada input dan/atau output.

from guardrails import Guard

from guardrails.hub import RegexMatch

import openai

Buat Guard sederhana

guard = Guard().use(

RegexMatch(regex=r"^\d{4}-\d{2}-\d{2}$",

onfail="exception")

)

Gunakan Guard untuk memanggil LLM

result = guard(

model="gpt-4o-mini",

messages=[{

"role": "user",

"content": "Berikan tanggal hari ini dalam format YYYY-MM-DD saja, tanpa teks lain."

}]

)

print(f"Output tervalidasi: {result.validatedoutput}")

print(f"Status validasi: {result.validationpassed}")

Guard mendukung beberapa aksi ketika validasi gagal:

# onfail options:

"exception" - Raise exception

"filter" - Hapus output yang gagal validasi

"fix" - Coba perbaiki output

"reask" - Minta LLM untuk menghasilkan ulang

"noop" - Lanjutkan tanpa aksi (hanya log)

guardwithreask = Guard().use(

RegexMatch(

regex=r"^[A-Z][a-z]+$",

onfail="reask" # Minta LLM coba lagi jika gagal

)

)

Validators

Guardrails AI menyediakan berbagai validator bawaan melalui Guardrails Hub. Berikut adalah beberapa yang paling umum digunakan:

Regex Validation

from guardrails import Guard

from guardrails.hub import RegexMatch

Validasi format email

emailguard = Guard().use(

RegexMatch(

regex=r"^[a-zA-Z0-9.%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$",

onfail="reask"

)

)

result = emailguard(

model="gpt-4o-mini",

messages=[{

"role": "user",

"content": "Berikan contoh alamat email bisnis yang valid."

}]

)

print(f"Email: {result.validatedoutput}")

PII Detection (Deteksi Data Pribadi)

from guardrails import Guard

from guardrails.hub import DetectPII

Guard untuk mendeteksi dan menghapus PII

piiguard = Guard().use(

DetectPII(

piientities=[

"EMAILADDRESS",

"PHONENUMBER",

"PERSON",

"CREDITCARD",

"IPADDRESS",

"ID"

],

onfail="fix" # Otomatis mask PII yang terdeteksi

)

)

result = piiguard(

model="gpt-4o-mini",

messages=[{

"role": "user",

"content": "Ceritakan tentang pelanggan kami John Doe yang bisa dihubungi di john@email.com atau 081234567890."

}]

)

print(f"Output aman: {result.validatedoutput}")

Artikel Terkait

Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM

Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM LangChain adalah framework open-source yang di...

Tutorial Lengkap Google Gemini API dengan Python: Dari Dasar hingga Mahir

Tutorial Lengkap Google Gemini API dengan Python: Dari Dasar hingga Mahir Google Gemini API adalah salah satu API AI pal...

Tutorial Browser-Use: Automasi Browser dengan AI Agent

Tutorial Browser-Use: Automasi Browser dengan AI Agent Pendahuluan Browser-Use adalah library Python open-source yang me...

Tutorial MLX: Framework Machine Learning Apple untuk Apple Silicon

Tutorial MLX: Framework Machine Learning Apple untuk Apple Silicon MLX adalah framework machine learning open-source dar...