「生成型AIアプリケーションにおける効果的なプロンプトエンジニアリング原則」
Effective Prompt Engineering Principles in Generative AI Applications
この記事では、Generative AI Prompt Engineeringのもう一つの重要な概念について説明します。AIの分野におけるPrompt Engineeringは、特定の原則に従って設計された簡潔なテキストやフレーズの作成を含みます。これらのプロンプトは、Large Language Models(LLMs)と共に効果的な出力コンテンツを生成するために使用されます。Prompt Engineeringのプロセスは重要な基礎となるため、不適切に構築されたプロンプトはChatGPTのようなLLMモデルが論理的で意味のないまたは文脈から外れた応答を生成することがあります。そのため、Prompt Engineeringの明確に定義された原則に基づいてLLMモデルのAPIに渡される入力テキストを検証するのはベストプラクティスとされています。
入力フレーズの意図や目的に応じて、モデルはさまざまな機能を示すことができます。これには、広範なテキストやコンテンツの要約、トピックの推測や明確化、入力テキストの変換、提供された情報の拡充などが含まれます。Prompt Engineeringの原則に従うことで、AIモデルは正確かつ文脈に即した出力を生成しながら、その全ての潜在能力を活かすことができます。
Generative AIベースの製品を設計する際のPrompt Engineeringの重要性
効果的なプロンプトは、私たちが構築するAI製品で使用されるLarge Language Modelから最良の応答を引き出すことになります。LLMに送信する入力指示やクエリのプロンプトを設計する際に十分なブレストが行われない場合、アプリケーションはユーザーの満足を満たすことができません。そのため、Generative AIベースの製品を設計する際には、Prompt EngineersやNatural Language Analystsを参加させ、LLMモデルとの対話の中で効果的なプロンプトを選択するようにする必要があります。製品が動的なプロンプトを生成する場合でも、正確な結果を生成するための明確なガイドラインと原則に従うべきです。
以下のセクションでは、いくつかのサンプルのプロンプト、技術、およびLLMからの応答を紹介し、プロンプトエンジニアリングの使用方法とその重要な基礎としての理由を説明します。
- 「Underrepresented Groupsの存在下での学習について」
- アリババのChatGPTの競合相手、統一千文と出会ってください:その大規模言語モデルは、Tmall Genieスマートスピーカーや職場メッセージングプラットフォームのDingTalkに組み込まれる予定です
- 「ニューラルネットワークとディープラーニング:教科書(第2版)」
PythonコードおよびOpen AIの「text-davinci-003」LLMモデルを使用し、常に一貫したランダムではない応答をLLMから得るために、温度を0に設定しています。
コードスニペットを実行する前に、必要なパッケージをインストールすることを確認してください。
以下のシンプルなコードスニペットは、OpenAIを使ったクイックなプロンプトの例を示しています。
以下の例では、Prompt Engineeringの一環として、NextGen AIプロジェクトの効果的なプロンプトを設計する際に厳密に従うべきいくつかの原則を示すために、Langchainの組み込みPromptTemplateクラスを使用します。
効果的なプロンプトエンジニアリングの原則(ベストプラクティス)
プロンプトエンジニアリングには事前に定義された厳格なルールはありません。プロンプトエンジニアリングを行う際には、任意の委員会によってルールブックが公開されているわけではありません。しかし、いくつかのガイドラインとベストプラクティスに従うことで、LLMから生成される最良の出力を得るのに役立ち、顧客の満足につながります。
指示は明確で具体的であるべきです
いくつかの例を見てみましょう。
最初の例では、モデルにWikipediaから得たいくつかの内容を要約するように指示します。モデルにはバッククォート(“`)で囲まれたコンテンツ内で言及されているものだけを要約するように指示します。
コンテキストをデリミタ内に配置し、その指示を追加することで、誤ったプロンプトの注入を防ぐだけでなく、LLMに対して提供されたコンテンツをどうするか明確に指示することができます。
次の例では、モデルからの出力を制御する方法を示します。例えば、モデルにJSON形式で3つの架空の映画タイトルを生成するように指示します。
LLMへの意味のある参照テキストまたはコンテンツを提供する
LLMにプロンプトを送信する際に、応答を提供されたコンテキスト内に保持したい場合は、簡潔な参照が提供されるべきです。OpenAI GPTは入力参照に制限があるため、参照コンテンツの設計に多くの努力を払う必要があります。効果的かつ正確な参照を提供することで、LLMから最良の出力を得ることができます。
GPTに「考える時間」を与える
プロンプトエンジニアリングは、GPTが即座に回答することを急がせるべきではありません。代わりに、GPTには考える時間を与えてから正しい意味のある回答を提供するべきです。統計的または数学的な問題を文言で提供し、考える時間を与えない場合、LLMモデルも人間と同様に間違いを comします。したがって、適切な回答を得るためには、プロンプトエンジニアリングはGPTが考えてから回答するための言葉遣いを利用する必要があります。以下の例は、モデルが間違いを comする方法とその修正方法を示しています。
以下のプロンプトは、LLMに特定のタスクを実行するよう指示するものであり、明確な指示を提供していません。そのため、回答に急いでいる間にLLMはミスを com し、3番の指示を省略してしまいます。結果をご覧ください。
ただし、同じプロンプトを少し変更することで、LLMに正しい結果を出力するためのより多くの思考能力を提供することができます。
すべきこととすべきでないこと
効果的なプロンプトエンジニアリングを行う際には、次のようなことを行うべきであり、行うべきでないことがあります。
すべきでないこと:
- 過剰な情報の提供を避ける。
- LLMを混乱させる可能性があるオープンエンドの質問をしない。
すべきこと:
- 期待する正しい出力形式を指定する。
- 意味のあるコンテキストを含める。
結論
この記事では、効果的なプロンプト技術に関する貴重な洞察を探求しました。また、適切に作成されたプロンプトの重要性と、効果的なプロンプトを設計するための基本的なガイドライン(すべきこととすべきでないことを含む)についても説明しました。これらの原則を説明するために、いくつかの実践的な例も含まれています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 「FalconAI、LangChain、およびChainlitを使用してチャットボットを作成する」
- スタンフォード大学とGoogleからのこのAI論文は、生成エージェントを紹介しています生成エージェントは、人間の振る舞いをシミュレートするインタラクティブな計算エージェントです
- 「SegGPT」にお会いください:コンテキスト推論を通じて画像または動画の任意のセグメンテーションタスクを実行する汎用モデル
- 「識別可能であるが可視性がない:プライバシー保護に配慮した人物再識別スキーム(論文要約)」
- 「トップAIコンテンツ生成ツール(2023年)」
- 「AUDITに会おう:潜在拡散モデルに基づく指示に従ったオーディオ編集モデル」
- 「トップAIオーディオエンハンサー(2023年)」