【Bedrock】生成AIに長文出力させる方法

更新日:2025/03/16

長文の出力を要求する際、回答内容が途中で途切れる場合があります。

それはmax_tokensを超えていることが原因です。

どのようにすれば、途切れずに長文出力ができるでしょうか?

再帰的継続生成

概要: 最大トークン制限に達したら、生成済みテキストをアシスタントの発言として含め、同じプロンプトで再度リクエスト

Bedrockからのレスポンスで“stop_reason”というキーがあり、

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html

メリット:

  • 実装がシンプル
  • 文脈の連続性が維持される

デメリット:

  • 入力トークン数が増加するためコスト増
  • 前の出力内容をすべて含める必要がある

チャンク分割と事前計画

概要: 最初に全体の構造を計画させ、各部分を個別に生成する

メリット:

  • 効率的なトークン利用
  • 並列処理の可能性

デメリット:

  • 実装が複雑
  • 各部分の結合が難しい場合がある

LangChainフレームワーク利用

LangChainとは言語モデルを便利に使うためのフレームワークです。

いくつかのモジュールがあり、その中でも「Chains」が長文出力に有効となる可能性があります。

Chainsとは

複数のプロンプトを組み合わせて実行できます。

メリット:

  • 最適化されたトークン管理
  • エラーハンドリングが充実

デメリット:

  • 追加の依存関係
  • 学習コスト
人気記事ランキング
話題のキーワードから探す