Guardrails 개요 — 가드레일 기본과 Guard.parse

Guardrails 개요

LLM 출력이 언제나 옳다고 단정하기 어렵죠. Guardrails는 그 불확실한 출력을 규칙 기반으로 잡아내는 검증 레이어를 제공해요. 모델 응답을 파싱하고, 설정한 validator들로 검사한 뒤 validation_passed 같은 결과를 돌려줘서 통과 여부를 알려줘요.

Guard 만들기와 parse

가장 간단한 형태는 Guard.from_string로 검출할 내용과 대응 방식을 지정하는 거예요.

from guardrails import Guard

guard = Guard.from_string(
    validators=[...],
    description="...",
)

검증 결과는 parse()로 확인해요.

guard = Guard.from_string(
    validators=[
        "valid-length",
        "valid-charset",
    ],
    description="정해진 규칙을 맞추는지 확인",
)

result = guard.parse("Caesar")
result.validation_passed  # True/False

여러 validator를 하나의 Guard에

PyPI에서 validator 패키지를 설치한 뒤 Guard().use(...)로 묶을 수 있어요.

pip install guardrails-ai-regex-match guardrails-ai-valid-length
from guardrails_ai.regex_match import RegexMatch
from guardrails_ai.valid_length import ValidLength
from guardrails import Guard

guard = Guard().use(
    RegexMatch(regex="^[A-Z][a-z]*$"),
    ValidLength(min=1, max=12),
)

guard.parse("Caesar").validation_passed           # True
guard.parse("Caesar Salad").validation_passed      # regex 때문에 False
guard.parse("Caesarisagreatleader").validation_passed  # 길이 때문에 False

한 문자열이 여러 규칙을 동시에 통과해야 하니, 실패 원인이 validator별로 다른 것을 위처럼 구분해서 확인할 수 있어요.

더 알아보기