• LLM(Large Language Models)はテキスト生成に優れているが、JSONのような構造化された出力を得るには、巧妙なプロンプトとLLMの理解を期待する必要がある。
  • JSONモードは、LLMフレームワークやサービスでより一般的になりつつあり、正確な出力スキーマを定義できる。
  • JSONモードを使用した制約付き生成について解説し、観光地情報を生成するための複雑で入れ子になったJSONスキーマ例を使用。
  • JSONモードはGuidanceよりも制約が多いが、クラウドベースのLLMプロバイダーとの互換性が高い。
  • JSONモードを使う際には、Llama.cppでは簡単だが、Gemini APIでは追加の手順が必要。
  • Pydanticライブラリを使用して生成することもできる観光地スキーマの例を示す。
  • Llama.cppを使用してJSON形式で構造化されたデータを生成し、Gemini APIでも同様に行う方法。
  • Gemini APIはJSONモードのサポートが限定的であるが、調整を加えることで動作させることが可能。
  • JSONモードを使用すると、LLMから構造化データを直接取得でき、実用的なアプリケーションでの利用が可能。

JSONモードを使用することで、LLMから構造化データを直接取得でき、実用的なアプリケーションでの利用が可能となります。Llama.cppのようなフレームワークは簡単に実装できますが、Gemini APIのようなクラウドサービスでは問題が発生する可能性があります。

このブログを通じて、JSONモードの動作方法や、Gemini APIの一部サポートしかない状況でどのように使用できるかについて理解が深まることを期待します。

元記事: https://towardsdatascience.com/how-to-get-json-output-from-llms-a-practical-guide-838234ba3bab