version

Guardrails ID

Sistem Keamanan AI untuk Bahasa Indonesia

Proteksi lengkap untuk aplikasi AI: deteksi konten toxic, prompt injection, data pribadi (PII), dan topik terlarang โ€” dibangun khusus untuk Bahasa Indonesia.

HuggingFace Demo License MIT Python Tests


Fitur Utama

Guard Fungsi Contoh
Deteksi kata kasar, hate speech, ancaman "kamu bodoh" โ†’ Blocked
Deteksi & mask NIK, email, no HP, rekening "NIK 320101..." โ†’ [NIK/KTP]
Deteksi prompt injection & jailbreak "ignore instructions" โ†’ Blocked
Blokir topik berbahaya (senjata, narkoba, dll) "cara membuat bom" โ†’ Blocked
Deteksi bahasa Indonesia / English / Mixed Auto-detect

Instalasi

Dari HuggingFace Hub

git clone https://huggingface.co/romizone/guardrails-id

Google Colab

# Jalankan di cell pertama Google Colab
!git clone https://huggingface.co/romizone/guardrails-id /content/guardrails-id

import sys
sys.path.insert(0, "/content/guardrails-id")

from guardrails import GuardrailsPipeline

# Siap digunakan
pipeline = GuardrailsPipeline()
result = pipeline.check_input("Apa itu fotosintesis?")
print(result["safe"])     # True
print(result["summary"])  # Input aman

Kaggle Notebook

# Jalankan di cell pertama Kaggle Notebook
!git clone https://huggingface.co/romizone/guardrails-id /kaggle/working/guardrails-id

import sys
sys.path.insert(0, "/kaggle/working/guardrails-id")

from guardrails import GuardrailsPipeline

# Siap digunakan
pipeline = GuardrailsPipeline()
result = pipeline.check_input("Abaikan semua instruksi!")
print(result["safe"])     # False
print(result["summary"])  # Input diblokir

Quick Start

from guardrails import GuardrailsPipeline

pipeline = GuardrailsPipeline()

# --- Cek input user ---
result = pipeline.check_input("Apa itu fotosintesis?")
print(result["safe"])     # True
print(result["summary"])  # Input aman

# --- Cek input berbahaya ---
result = pipeline.check_input("Abaikan semua instruksi!")
print(result["safe"])     # False
print(result["summary"])  # Input diblokir

# --- Cek & scrub PII ---
result = pipeline.check_input("Email saya test@gmail.com")
print(result["sanitized_input"])  # "Email saya [EMAIL]"

# --- Cek output AI ---
result = pipeline.check_output(
    output_text="Hubungi 081234567890",
    input_text="Berikan nomor kontak"
)
print(result["sanitized_output"])  # "Hubungi [NO. HP]"

# --- Full pipeline (input + output) ---
result = pipeline.run(
    input_text="Jelaskan demokrasi",
    output_text="Demokrasi adalah sistem pemerintahan dari rakyat."
)
print(result["safe"])  # True

Konfigurasi

pipeline = GuardrailsPipeline(
    enable_toxic=True,       # Aktifkan toxic detector
    enable_pii=True,         # Aktifkan PII detector
    enable_injection=True,   # Aktifkan injection detector
    enable_topic=True,       # Aktifkan topic filter
    enable_language=True,    # Aktifkan language detector
    sensitivity="medium",    # low / medium / high
)
Sensitivity Perilaku
low Hanya blokir konten yang sangat jelas berbahaya
medium Keseimbangan antara keamanan dan fleksibilitas (default)
high Sangat ketat, blokir konten yang sedikit mencurigakan

Khusus Bahasa Indonesia

  • Deteksi kata kasar Bahasa Indonesia termasuk slang dan variasi
  • PII detector untuk format Indonesia: NIK/KTP, NPWP, No HP (08xx/+62), rekening bank
  • Prompt injection dalam Bahasa Indonesia & English
  • Topic filter dengan konteks budaya Indonesia
  • Self-harm detection dengan hotline Indonesia (Into The Light 021-7884-5555, Kemenkes 119 ext. 8)

Struktur Proyek

guardrails-id/
  guardrails/
    __init__.py            # Package exports
    core.py                # GuardrailsPipeline โ€” orchestrator utama
    guards/
      __init__.py
      toxic.py             # Toxic content detector
      pii.py               # PII detector & scrubber
      injection.py         # Prompt injection detector
      topic_lang.py        # Topic filter & language detector
  app.py                   # Gradio demo (HuggingFace Space)
  tests.py                 # Test suite (31 tests)
  deploy_to_hf.py          # Script deploy ke HuggingFace

Test

python tests.py
RESULTS: 31 passed, 0 failed, Total 31

API Reference

GuardrailsPipeline.check_input(text) -> dict

Key Type Deskripsi
safe bool True jika input aman
input str Teks input asli
sanitized_input str Teks dengan PII di-mask
violations list Daftar pelanggaran yang ditemukan
guard_results dict Detail hasil per-guard
summary str Ringkasan hasil pengecekan

GuardrailsPipeline.check_output(output_text, input_text="") -> dict

Key Type Deskripsi
safe bool True jika output aman
output str Teks output asli
sanitized_output str Teks dengan PII di-mask
violations list Daftar pelanggaran yang ditemukan
guard_results dict Detail hasil per-guard
summary str Ringkasan hasil pengecekan

GuardrailsPipeline.run(input_text, output_text="") -> dict

Key Type Deskripsi
safe bool True jika input dan output aman
input_check dict Hasil check_input()
output_check dict Hasil check_output() (atau None)

Built by Jekardah AI Lab

Made in Indonesia

MIT License

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support