4.1 Guard基礎

Guard Basics

Guardの役割

Guardは、スキーマ定義・バリデーター・LLM呼び出しを統合し、出力品質を担保する中心的なオブジェクトである。

from guardrails import Guard
from pydantic import BaseModel

class Output(BaseModel):
    answer: str
    confidence: float

# Guard作成
guard = Guard.from_pydantic(Output)

# LLM呼び出し
result = guard(
    llm_api=openai.chat.completions.create,
    model="gpt-4",
    messages=[{"role": "user", "content": "質問に回答してください"}]
)

print(result.validated_output)

Guardの設定オプション

オプション説明デフォルト
num_reasks最大リトライ回数1
full_schema_reask全スキーマで再質問False
output_schema追加の出力スキーマNone
result = guard(
    llm_api=openai.chat.completions.create,
    model="gpt-4",
    messages=[...],
    num_reasks=3,
    full_schema_reask=True
)

GuardResultの構造

result.validated_output   # 検証済み出力
result.raw_llm_output     # LLMの生出力
result.validation_passed  # 成功フラグ
result.error              # エラー情報
参考文献
[1] Guardrails AI - Guard - https://docs.guardrailsai.com/concepts/guard/