【Python】PydanticOutputParserについて試してみた!

  • 2025年1月29日
  • 2025年1月29日
  • python

こんにちは。

野中やすおです。

今回の記事では、PydanticOutputParserについて手元で試してみたので備忘録がてら記事にしておきます。

PydanticOutputParserとは何か?

PydanticOutputParserとは、LangChainが提供する Output Parserの1つで、Pydanticモデルを使用してデータのバリデーションとパースをしてくれます。

またPydanticOutputParser.get_format_instructionsメソッドは、出力をPydantic モデルのスキーマに従った JSON形式で整形するためのガイドラインを提供するメソッドです。

このガイドラインは、主にLangChainでLLMにプロンプトを送る際に、期待するデータフォーマットを明示的に伝える目的で使われます。

PydanticOutputParserの基本的な使い方

以下のような実装をすることで、

  1. JSON形式で出力するべきであるという説明
  2. JSON スキーマの説明
  3. 出力するべきJSON スキーマ

が返ってきます。

PydanticOutputParserと連鎖との組み合わせ

上記を踏まえて、chainを使いながら具体的な指示をしてあげます。

そうすると以下のような実装になります。

AIエージェントがMacbook Proの16インチの価格を教えてくれました!

まとめ

PydanticOutputParserの基本的な使い方をやってみました!

Pydantic のバリデーション機能を活用しつつ、LangChainのエコシステムと統合することで、安全かつ確実にAIのレスポンスを活用できるな〜と思いました!

特に、今後ますますAIを使ったプロジェクトが増えてくると思うので、出力が不定形になりがちなプロジェクトでは、PydanticOutputParserを導入することでデータの一貫性を確保しやすくなるはずです!

参考

  • How to use output parsers to parse an LLM response into structured format

Language models output text. But there are times where you w…

  • PydanticOutputParserの定義ドキュメント