5.2 OutputParser
GuardrailsOutputParser
GuardrailsOutputParserの役割
GuardrailsOutputParserは、LangChainのBaseOutputParserを継承し、Guardrailsの検証機能を提供する。
from guardrails.integrations.langchain import GuardrailsOutputParser # Guardから作成 parser = GuardrailsOutputParser.from_guard(guard) # または直接Pydanticモデルから parser = GuardrailsOutputParser.from_pydantic(MyModel)
主要メソッド
| メソッド | 説明 |
|---|---|
parse(text) | テキストを検証してパース |
get_format_instructions() | 出力形式の指示文を取得 |
parse_with_prompt(text, prompt) | プロンプト付きでパース |
# format_instructionsの例 instructions = parser.get_format_instructions() print(instructions) # """ # Given below is XML that describes the information to extract... # <output> # <string name="title" /> # <list name="points"><string /></list> # <integer name="word_count" /> # </output> # """
リトライの設定
parser = GuardrailsOutputParser.from_guard(
guard,
num_reasks=3 # 検証失敗時のリトライ回数
)
注意
LangChain統合時のReaskは、追加のLLM呼び出しが発生する。コストと成功率のトレードオフを考慮すること。
エラーハンドリング
from guardrails.errors import ValidationError try: result = chain.invoke({"text": input_text}) except ValidationError as e: print(f"検証エラー: {e}") # フォールバック処理
参考文献
[1] LangChain - Output Parsers - https://python.langchain.com/docs/concepts/output_parsers/
[1] LangChain - Output Parsers - https://python.langchain.com/docs/concepts/output_parsers/