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