LLMのプロンプトエンジニアリング ―GitHub Copilotを生んだ開発者が教える生成AIアプリケーション開発
by John Berryman, Albert Ziegler, 服部 佑樹, 佐藤 直生
7章モデルの制御
前章では、すべてのコンテキストを1つの一貫性のあるプロンプトに抽出することができました。ここからは、LLMにLLMらしい仕事をさせ、それがすべてスムーズに進むようにあなたが確認する番です。
本章では、まず補完の形式について説明し、期待する通りに補完が完了するように制御する方法を解説します。また、「logprobトリック」と呼ばれるテクニックを使って補完の内容を分析・解釈する方法についても説明します。
次に、一歩下がって、専門家向けの商用サービス、オープンソースの選択肢、独自のファインチューニングされたモデルの、どのモデルを呼び出すかを自問できるようにします。さあ、始めましょう。
7.1 理想的な補完の構造
本節では、補完(従来の補完、またはチャットレスポンス)がどのように現れるかを調べます。さらに重要なことは、不要な待ち時間や紛らわしい詳細といった問題を避けながら、明確で効果的な解決策を確保するために、補完をどのようなものにしたいかについて議論することです。「6章 プロンプトの組み立て」でプロンプトに対して行ったように、LLMによる補完の要素を分解し、それらを1つずつ見ていきます(図7-1を参照)。
図7-1 LLMによる補完
7.1.1 序文
補完のコンテキストでは、「序文」は生成されたテキストの最初の部分であり、主要なコンテンツの準備をします。これが役立つ場合もあれば、あなたが提起した問題への解決策を生み出す前に、面白くない、または役立たない詳細から始まる補完になる場合もあります。これはしばしば煩わしいことであり、コストもかかります。トークンの生成には、時間(待ち時間)と計算(リソースとお金)がかかります。ですので、使わないテキストを作成することは無駄ですが、時には望ましいこともあります。わかりにくいかもしれませんが、お付き合いください。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access