Prompt Engineering Guideを理解する
Temperature
簡潔に言うと、この値が低ければ低いほど、最も確率が高い回答が常に選ばれるため、結果はより決定論的になります。
bedrcokにもこの設定あったな。
事実に基づくQAなどでは、この値を低くして、より事実に基づいた簡潔な回答を促すとよいでしょう。逆に、詩の生成やその他の創造的なタスクでは、temperatureを上げると効果的かもしれません。
Top_p
モデルが応答を生成する際の決定性をコントロールすることができます。正確で事実に基づいた回答を求めるのであれば、この値を低くしておきます。より多様な回答を求めるのであれば、より高い値にします。
temperatureと何が違うんや
一般的には、両方ではなく、どちらかを変更することをお勧めします。
TemperatureかTop_pのどちらかを変える
Max Length
モデルが生成するトークンの数を管理できます。長すぎるまたは関連性のない回答を防ぎ、コストを管理できます。
長ければ良いってわけでは無い
Stop Sequences
モデルがトークンを生成するのを停止する文字列です。これを指定することは、モデルの回答の長さや構造を制御するもう一つの方法です。例えば、"11"をストップシーケンスとして追加により、モデルに10項目以上のリストを生成させないように指示できます。
プロンプトのフォーマット
zero-shot prompting
Q: <質問>?
A:
上記のようにプロンプトを行う場合、zero-shot promptingとも呼ばれます。つまり、どんな例やデモンストレーションもなく、直接モデルに応答を求めています。
few-shot prompting
フューショットプロンプティングでは、サンプル(デモンストレーション)を提供します。フューショットプロンプティングは、以下のようにフォーマットすることができます。
これは素晴らしい! // ポジティブ
これは酷い! // ネガティブ
あの映画は最高だった! // ポジティブ
なんてひどい番組なんだ! //
ネガティブ
プロンプト設計のヒント
指示
指示を行うプロンプトの場合、プロンプトに記載するタスクに関連した文脈が具体的であるほど、結果が良くなる。
また、指示はプロンプトの最初に配置し、指示と文脈を区切るために「###」のような明確な区切り記号を使用することが推奨されています。
### 指示 ###
以下のテキストをスペイン語に翻訳してください。
Text: "hello!"
¡Hola!