ChatGPT を使った長いコンテキスト JSON 翻訳
最新の ChatGPT モデルと JSON モードを使用して、長いコンテキストを持つ JSON オブジェクトを翻訳し、出力を JSON にストリームバックする方法を学びます。
最新の ChatGPT モデルと JSON モードを使用して、長いコンテキストを持つ JSON ファイルを翻訳し、出力を JSON にストリームバックする方法を学びます。
はじめに
前回の投稿 ChatGPT を使用した効率的な国際化 から久しぶりです。ここでは、ChatGPT を使用して JSON オブジェクトを翻訳する方法を示しました。モデルが進化し、翻訳能力が大幅に向上しました。長いコンテキストウィンドウ、最大出力トークンの増加、開発者体験をさらに向上させる JSON モードのような新機能が追加されました。
最大出力トークンの増加
前回のモデルと最新バージョンの比較を見てみましょう:
Model | 説明 | コンテキストウィンドウ | Max 出力トークン | トレーニングデータ |
---|---|---|---|---|
gpt-4o-2024-05-13 | gpt-4o は現在このバージョンを指しています。 | 128,000 tokens | 4,096 tokens | 2023年10月まで |
gpt-4o-2024-08-06 | 構造化された出力をサポートする最新のスナップショット | 128,000 tokens | 16,384 tokens | 2023年10月まで |
最も大きな変更点は、最大出力トークン数が 4,096 から 16,384 に増えたことで、これは翻訳シナリオに理想的です。なぜなら、通常、翻訳の出力は入力と同じくらいかそれ以上に長いからです。同時に、価格は以前の 32K トークンモデルと比較しても下がっています(前は高価でした)。
JSON モード
名前が示す通り、JSON モードは、出力が有効な JSON オブジェクトであることを保証したいときに非常に便利です。新しいモデルでは、Structured Outputs を使用して出力 JSON オブジェクトのスキーマを定義することもできます。
始めましょう
初期設定
この投稿では、デモンストレーションのために OpenAI の Node.js SDK v4.56.0 を使用します。他の方法や言語を自由に使用してください。
まず、OpenAI クライアントを初期化する必要があります:
長いコンテキストの翻訳にはストリーミングモードを使用することを強くお勧めします。効率的で、一度のリクエストに対して出力を待つ必要がないからです(例えば、1 分間)。コードは次のようになります:
プロンプトを書きましょう
system
役割を使用してモデルにその仕事を指示できます:
"es" をターゲットロケールコードで置 き換えるのを忘れないでください。経験上、モデルにより良い出力と人間の介入を減らすためのいくつかの指示があります:
最後の指示が必要な理由を疑問に思うかもしれません。これは OpenAI からの説明です:
JSON モードを使用する場合、会話の一部のメッセージを使用して常にモデルに JSON を生成させるための指示が必要です。JSON を生成する明示的な指示を含めないと、モデルは無限の空白ストリームを生成し、リクエストがトークン制限に達するまで継続する可能性があります。
上記の指示で、翻訳する JSON オブジェクトを user
役割の以下のメッセージに入れることができます。これまでの内容をまとめましょう:
出力の処理
ストリーミングモードを使用しているので、ストリーミングスタイルで出力を処理する必要があります。例を示します:
結論
以上です!新しい ChatGPT モデルにより、JSON 翻訳の効率はさらに向上し、翻訳の品質も向上しています。この投稿が ChatGPT と JSON 翻訳に関する新しい視点を得るのに役立てば幸いです。次回の投稿でお会いしましょう!