Prompt API を使用する際は、プロンプトを調整して最適な結果を得るための特定の戦略を使用できます。このページでは、Gemini Nano のプロンプトのフォーマットに関するベスト プラクティスについて説明します。
プロンプト エンジニアリングに関する一般的なガイダンスについては、プロンプト エンジニアリング に関するホワイトペーパー、生成 AI のプロンプト エンジニアリング、およびプロンプト設計戦略をご覧ください。
または、プロンプトを自動的に調整して改善するには、
ゼロショット オプティマイザーを使用します。このオプティマイザーは、
gemma-3n-e4b-itなどのオンデバイス モデルをターゲットにできます。
プロンプト設計のベスト プラクティス
Prompt API のプロンプトを設計する際は、次の手法を使用します。
コンテキスト学習の例を提供する 。プロンプトに適切な例を追加して、Gemini Nano に期待する結果の種類を示します。
コンテキスト 学習を使用する場合は、接頭辞キャッシュ機能の使用を検討してください。例を提供するとプロンプトが長くなり、推論時間が長くなるためです。
簡潔にする 。指示が繰り返される冗長な前文では、最適な結果が得られないことがあります。プロンプトは要点を絞って簡潔に記述します。モデルの動作をガイドする短い指示を 繰り返す必要がある場合は、 システム指示の使用を検討してください。
プロンプトを構造化する と、より効果的なレスポンスを生成できます。たとえば、指示、制約、例を明確に定義する プロンプト テンプレートを使用します。
出力を短くする 。LLM の推論速度は、出力の長さに大きく左右されます。ユースケースで可能な限り短い出力を生成する方法を慎重に検討し、手動で後処理を行って、選択した形式で出力を構造化します。レスポンス出力が希望する 形式になるようにするには、構造化出力 API を使用します。
区切り文字を追加する 。
<background_information>、<instruction>、##などの区切り文字を使用して、プロンプトの異なる部分を区切ります。コンポーネント間で##を使用することは、Gemini Nano では特に重要です。これにより、モデルが各コンポーネントを正しく解釈できない可能性が大幅に減少します。シンプルなロジックと、より絞り込んだタスクを優先する 。複数ステップの推論を必要とするプロンプト(「まず X を実行し、X の結果が A の場合は M を実行し、それ以外の場合は N を実行してから Y を実行する」など)で良い結果が得られない場合は、タスクを分割し、各 Gemini Nano 呼び出しでより絞り込んだタスクを処理し、コードを使用して複数の呼び出しを連結することを検討してください。 複雑で推論を多用するタスクを一度に処理する必要がある場合は、 思考モードの使用を検討してください。
決定論的なタスクには低い温度値を使用する 。創造性に依存しないタスク(エンティティ抽出や翻訳など)の場合は、
temperature値を0.2から開始し、テストに基づいてこの値を調整することを検討してください。