はじめに
こんにちは、株式会社LegalOn Technologies で検索・推薦チームに所属している福田と申します。
わたしたちのチームでは、LLM (大規模言語モデル) を用いて文書をラベリングし、そのラベルを検索や推薦のサービスで役立てています。
この記事では、LLMを使って文書をラベリングする際、付与されるラベル同士の制約がある場合に、どうやってLLMに制約を満たすような出力を強制させるかについて説明します。特にラベルの組み合わせ数が多い場合、Structured Outputs (Geminiで言うところのControlled generation) を利用した際にAPIで定められたEnumの要素数 (=ラベル数) の上限に達してしまいます。このようなケースでどう上限を回避しLLMにリクエストを送るかについても解説します。
想定読者
- LLMの文書分類に興味がある方
- Structured Outputsに触れたことがある方