
Guardrails AI là framework Python mã nguồn mở giúp xây dựng ứng dụng AI đáng tin cậy bằng cách giám sát input, output của LLM và tạo dữ liệu có cấu trúc. Với hàng chục validators có sẵn trên Guardrails Hub, hỗ trợ hành động tự khắc phục (REASK, FIX) và khả năng tích hợp OpenAI/LangChain, Guardrails AI là công cụ quan trọng để giảm hallucination, phát hiện ngôn ngữ độc hại, rò rỉ PII trong các ứng dụng sản xuất.

Guardrails AI là gì?
Guardrails AI cung cấp hai chức năng chính: Input/Output Guards để phát hiện và giảm thiểu rủi ro trong dữ liệu vào/ra LLM, và Structured Generation để tạo output có cấu trúc (JSON, Pydantic model) từ LLM. Mỗi guard gồm một hoặc nhiều validators và chính sách on_fail xác định hành động khi validation thất bại.
Framework này được phát triển bởi cộng đồng và được sử dụng bởi các công ty xây dựng ứng dụng AI sản xuất — nơi cần kiểm soát chất lượng output thay vì chỉ gửi prompt và hy vọng kết quả đúng.
Validators và OnFail Actions
Guardrails Hub cung cấp hàng chục validators được đóng gói riêng trên PyPI. Mỗi validator là gói guardrails-ai-<tên> có thể cài đặt độc lập. Một số validator phổ biến:
- RegexMatch: Kiểm tra output khớp biểu thức chính quy (số điện thoại, email, mã định dạng).
- ToxicLanguage: Phát hiện ngôn ngữ độc hại, thù ghét.
- CompetitorCheck: Đảm bảo output không đề cập đối thủ cạnh tranh (hữu ích cho chatbot marketing).
- PII Detection: Tìm thông tin cá nhân nhạy cảm (SSN, số thẻ tín dụng, địa chỉ) trong output.
- Hallucination Detection: Kiểm tra output có chứa thông tin không có trong context hay không.
- GibberishText: Phát hiện văn bản vô nghĩa.
Khi validator thất bại, Guardrails thực hiện hành động on_fail tương ứng:
| Hành động | Mô tả |
|---|---|
| REASK | Yêu cầu LLM tạo lại output với prompt sửa lỗi |
| FIX | Sửa output tự động nếu có thể (ví dụ: xóa hallucination) |
| FILTER | Loại bỏ trường không hợp lệ (chỉ structured data) |
| REFRAIN | Trả về None khi output không an toàn |
| NOOP | Không làm gì, chỉ ghi log |
| EXCEPTION | Ném ngoại lệ, dừng pipeline |
| FIX_REASK | Sửa rồi REASK nếu vẫn sai |
| CUSTOM | Hàm xử lý do người dùng tự định nghĩa |

So sánh Guardrails AI với NeMo Guardrails và LangChain Output Parsers
Ba lựa chọn phổ biến để kiểm soát output LLM là Guardrails AI, NeMo Guardrails (NVIDIA) và LangChain Output Parsers. Mỗi công cụ có trọng tâm khác nhau:
| Tiêu chí | Guardrails AI | NeMo Guardrails | LangChain Output Parsers |
|---|---|---|---|
| Chức năng chính | Input/Output validation + structured generation | Rails cho LLM conversations (input/output, retrieval, tools) | Parse output LLM thành cấu trúc (JSON, YAML) |
| Validator/Hub | Có — hàng chục validators trên PyPI | Có — rails nhưng ít hơn | Không tập trung validation rủi ro |
| OnFail Actions | REASK, FIX, FILTER, REFRAIN, NOOP, EXCEPTION, FIX_REASK, CUSTOM | Có hành động tương tự | Giới hạn: lỗi hoặc giá trị mặc định |
| Mục tiêu | Ứng dụng sản xuất cần kiểm soát rủi ro | Hệ thống trò chuyện LLM có logic phức tạp | Trích xuất cấu trúc từ output LLM |
| GitHub Stars | ~7,335 | ~7,031 | ~145,000 (LangChain core) |
Nếu bạn cần giảm hallucination, ngăn PII rò rỉ, hoặc chốt brand voice: Guardrails AI. Nếu bạn cần quản lý flow hội thoại phức tạp với retrieval và tools: NeMo Guardrails. Nếu chỉ cần parse JSON/YAML từ LLM: LangChain Output Parsers.
Cài đặt và ví dụ cơ bản
Cài đặt Guardrails AI:
pip install guardrails-ai
Cài đặt validator (ví dụ: RegexMatch):
pip install guardrails-ai-regex-match
Ví dụ 1 — Validation đơn giản
from guardrails import Guard, OnFailAction
from guardrails_ai.regex_match import RegexMatch
guard = Guard().use(
RegexMatch,
regex=r"(?d{3})?-? *d{3}-? *-?d{4}",
on_fail=OnFailAction.EXCEPTION
)
guard.validate("123-456-7890") # Hợp lệ
guard.validate("1234-789-0000") # Sai → Exception
Ví dụ 2 — Structured generation với Pydantic
from pydantic import BaseModel, Field
from guardrails import Guard
from guardrails_ai.competitor_check import CompetitorCheck
from guardrails_ai.toxic_language import ToxicLanguage
class Pet(BaseModel):
pet_type: str = Field(description="Loại thú cưng")
name: str = Field(description="Tên thú cưng")
prompt = """
What kind of pet should I get and what should I name it?
${gr.complete_json_suffix_v2}
"""
guard = Guard.for_pydantic(output_class=Pet, prompt=prompt)
raw, validated, *rest = guard(
llm_api=openai.completions.create,
engine="gpt-3.5-turbo-instruct"
)
print(validated) # {"pet_type": "dog", "name": "Buddy"}
Ví dụ 3 — Guardrails Server (REST API)
Guardrails AI cũng cung cấp server REST API tương thích OpenAI, cho phép tích hợp vào ứng dụng mà không cần viết code Python:
# Cài đặt và khởi chạy
pip install guardrails-ai
guardrails configure
guardrails start --config ./config.py
Sau đó gọi qua client OpenAI:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/guards/gibberish_guard/openai/v1/"
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Make up gibberish"}]
)
print(response.guardrails["validation_passed"])
Guardrails Hub và validator ecosystem
Guardrails Hub tại guardrailsai.com/hub là kho lưu trữ các validator do cộng đồng duy trì. Mỗi validator là gói PyPI độc lập, cài đặt nhanh qua pip install guardrails-ai-<tên>. Bạn có thể tìm kiếm validator theo use-case: toxic language, PII, hallucination, competitor check, URL safety, và nhiều hơn nữa.
Khi nào nên dùng Guardrails AI?
- Chatbot sản xuất: Kiểm tra output trước khi hiển thị người dùng cuối.
- RAG pipeline: Đảm bảo retrieved context không chứa toxic language hoặc hallucination.
- Data extraction: Parse output LLM thành JSON/Pydantic model an toàn, có kiểm tra kiểu.
- Multi-tenant SaaS: Ngăn LLM tiết lộ thông tin giữa các tenant.
- Marketing automation: Chặn AI mention đối thủ hoặc vi phạm brand guidelines.
Hạn chế
- Guardrails AI không chạy LLM — nó là lớp giám sát bên ngoài. Bạn vẫn cần OpenAI, Anthropic, hoặc model riêng.
- Validator chất lượng phụ thuộc cộng đồng — một số validator cũ chưa cập nhật với model mới. Kiểm tra version trước khi dùng production.
- Thêm latency nhẹ — mỗi validation chạy thêm logic sau LLM call. Với latency-sensitive app, cân nhắc cache validator.
Kết luận
Guardrails AI là công cụ không thể thiếu khi triển khai LLM vào sản xuất. Thay vì nhờ prompt engineering tự nhiên chống hallucination, bạn có hệ thống validators có cấu trúc, hành động tự động khi output sai, và khả năng tạo dữ liệu có kiểu. Với Guardrails Hub, bạn không cần tự viết validator từ đầu — cài đặt gói PyPI là có thể dùng ngay.
Nguồn tham khảo:
