LDX hub: 生成AIを使ったテキスト変換処理のコツ
生成AIを活用したテキスト変換は、複雑な仕様を低コストで実現できる可能性を秘めており、多くの企業や開発者が期待を寄せています。
しかしながら、設計次第では運用に高いコストを必要としたり、ルールベースの実装と比較して出力データ構造の確実性に劣るケースがあるのも事実です。
これらの課題を解決するために、LDX hubで取り組んできた主なポイントについて紹介します。
目次[非表示]
LDX hubの取り組み
複数のテキスト(文)を可能な限りまとめて処理する
生成AIに文単位で変換をリクエストすることは、コスト(時間・費用)の面で現実的ではありません。許容されるトークン数の中で大量の文をまとめて処理することが理想です。
これを実現するためには、生成AIに渡した文の数と同じ数の結果を得るための工夫が必要です。具体的には、入力のJSONの構造と期待するJSONの出力構造が合致するようにプロンプトを構築することがポイントとなります。
例えば、以下のようなJSON構造を考えてみましょう。
この入力に対して、生成AIが以下のような出力を返すことを期待します。
このように、入力と出力の構造を明確に定義することで、生成AIが期待通りの結果を返す可能性が高まります。
入出力を厳密なJSONで行うためのプロンプトを構築する
前述の仕様を実現するためには、プロンプトの完成度をぎりぎりまで追究することが何より重要です。
各社生成AIの最新モデルの能力は非常に高く、プロンプトの完成度を極めることで実用に耐えうる高い精度を期待できるようになります。その実現には、期待する出力形式や構造を明確にし、生成AIがそれに従って出力を生成できるようにすることが求められます。
プロンプトでカバーしきれない課題の解決
残念ながら、出力されるJSONがわずかに破損していることが稀にあります。 その場合に備えた適切なエラーハンドリングやリトライの実装が必要です。
しかし、どのような対処療法的な実装を施したとしても、アプリケーションの確実性への影響を0にすることはできません。プロンプトでカバーしきれない課題解決のためには、生成AI側が提供する機能についても目を向ける必要があります。
Structured Outputsのもたらす確実性
OpenAIが公開した新機能「Structured Outputs」は、出力構造をJSONスキーマで厳格に指定することができ、JSONの破損を心配しなくて済むようになりました。ぎりぎりまで精度を追究したプロンプトから得られる出力データの型に確実性を与えるものとして非常に有用です。
例として、前述のJSONが出力されることを想定したスキーマは以下のような記述となります。
このスキーマを用いることで、生成AIは指定された形式に従って出力を生成し、JSONの破損を防ぎます。
結果を見てみましょう。
定義通りの構造で出力されていますね。
Structured Outputsの精度は100%と言われており、LDX hubにおけるこれまでのサンプリングでは、出力されるJSONに問題があったケースはありません。
まとめ
生成AIを活用したテキスト変換は、今後も進化を続けることでしょう。さまざまな分野での応用が期待されます。
LDX hubは生成AIの新機能を常にフォローし、精度・品質・速度のさらなる向上を目指して取り組んでいきます。
関連記事