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별로 다른 것을 위처럼 구분해서 확인할 수 있어요.