miiboDesigner の岡大徳です。
RAG(Retrieval-augmented Generation)機能を活用する際に重要となる「検索クエリー生成プロンプト」について解説します。この機能はユーザーからの質問に対して最適な検索キーワードを自動生成し、より関連性の高い情報を検索するための重要な要素です。今回は検索クエリー生成プロンプトの基本概念と設定方法、会話履歴やステートを活用した基本テクニックをご紹介します。
検索クエリー生成プロンプトとは
検索クエリー生成プロンプトとは、RAG機能で利用する検索キーワードを生成するためのプロンプトです。miiboでは、会話のラリーごとに検索クエリーがAIによって自動的に生成されます。この検索クエリーの質がRAGの精度、つまり会話型AIの回答品質に大きく影響します。
検索クエリー生成には、GPT-4o(OpenAI)が利用されており、以下のような基本的なプロンプト例が提供されています:
以下はuserとaiの会話です。
@{history}
上記のuserが欲している情報を見つけるための検索用のクエリーを作成してください。(5語まで)検索クエリーのみを出力しダブルクォーテーション等の記号は用いないでください。なるべく最後のユーザーの質問の内容を優先してクエリーに含めてください。
このプロンプトにより、AIは会話の流れを理解し、ユーザーが求めている情報に合わせた適切な検索キーワードを生成します。
生成されたクエリーの確認方法
実際に生成された検索クエリーを確認するには以下の手順を行います:
AIとの会話を行う
「レポート」→「会話のログ」を確認する
会話の履歴レポートで「クエリー」項目を見ると、実際に生成された検索クエリーが確認できます。これを参考に、より適切なクエリーが生成されるようプロンプトを調整することができます。
検索クエリー生成プロンプトのテクニック
資料で紹介されている2つの基本テクニックについて解説します。
1. @{history}の活用
会話履歴を参照するには、@{history}
を記述します。これにより、直近の会話履歴を検索クエリー生成時に考慮することができます。
以下はuserとaiの会話です。
@{history}
上記のuserが欲している情報を見つけるための検索用のクエリーを作成してください。(5語まで)検索クエリーのみを出力しダブルクォーテーション等の記号は用いないでください。なるべく最後のユーザーの質問の内容を優先してクエリーに含めてください。
@{history}に格納されている情報は「ステート」と同じ概念で保持されています。「レポート」→「ユーザー一覧」→「ステートの確認」で内容を確認できます。
2. ステートの活用
検索クエリー生成プロンプトでもステートを活用することができます。これにより、ユーザー固有の情報を検索クエリー生成に反映させることが可能です。
以下はuserとaiの会話です。
@{history}
以下はユーザーの現在の困りごとです。
困りごと: #{困りごと}
会話の履歴と困りごとを考慮して、検索クエリーを生成してください。クエリーは最大4つのキーワードまで含むものとします。
このようにユーザーの動的な情報を含めることで、よりパーソナライズされた検索クエリーを生成できます。
検索クエリー生成プロンプト活用のメリット
検索クエリー生成プロンプトを適切に設定することで得られる主なメリットは以下の通りです:
回答精度の向上:ユーザーの質問意図に合った最適なキーワードで検索することにより、より関連性の高い情報を提供できます
文脈を考慮した検索:会話の流れを反映した検索ができるため、単純なキーワードマッチングよりも高度な情報検索が可能になります
パーソナライズされた応答:ユーザー固有の情報(ステートに保存)を検索に反映させることで、個々のニーズに合わせた回答が可能になります
検索効率の最適化:必要なキーワード数を制限することで、ノイズの少ない効率的な検索を実現できます
Q&A
Q: 検索クエリー生成プロンプトの設定はどこで行いますか?
A: miiboの管理画面から設定できます。エージェントの設定画面で「ナレッジデータストア」を選択し、検索設定の中の「検索クエリー生成プロンプト」項目で設定が可能です。
Q: 検索クエリーの語数制限はカスタマイズできますか?
A: はい、基本例では5語までとなっていますが、必要に応じて語数を調整できます。ただし、多すぎると検索ノイズが増え、少なすぎると情報が不足する可能性があるため、用途に応じた適切な調整が必要です。
Q: 会話の履歴はどのくらい参照されますか?
A: 会話の履歴には直近の会話が保存されますが、その量や保持期間については明確な記載がありません。重要な情報は確実に反映させたい場合、ステートとして明示的に保存することをお勧めします。
miiboの詳細なFAQについては、以下のURLをご覧ください: https://daitoku0110.net/faq/
miiboコミュニティ最新情報
miiboユーザーコミュニティでは、検索クエリー生成プロンプトの設定に関する情報交換が活発に行われています。特に、様々な業種に合わせた効果的なプロンプト例の共有や、検索精度向上のためのテクニックについてのディスカッションが注目を集めています。
また、実際の導入事例として、検索クエリー生成プロンプトの最適化により回答精度が向上した例や、業種特有の専門用語を効果的に抽出できるようになった事例なども報告されています。
miiboコミュニティはこちら:https://www.facebook.com/groups/miibo
まとめ
検索クエリー生成プロンプトは、RAG機能を活用する際の重要な要素であり、適切に設定することで会話型AIの回答品質を大きく向上させることができます。基本的には以下の点がポイントとなります:
@{history}を活用して会話の流れを考慮したクエリー生成を行う
ステートを活用してユーザー固有の情報を検索に反映させる
生成されたクエリーを会話ログで確認し、必要に応じて調整する
検索クエリー生成プロンプトは比較的シンプルな設定で効果を発揮する機能ですが、継続的な改善とチューニングにより、さらに高度な会話型AIの構築が可能になります。
【今すぐ行動】
現在お使いのmiiboエージェントの検索クエリー生成プロンプトを確認してみませんか?「レポート」→「会話のログ」で実際に生成されているクエリーを確認し、必要に応じて@{history}やステートを活用したプロンプトにアップデートしてみてください。より適切な検索クエリーが生成されることで、会話型AIの回答精度が向上するはずです。
→ miiboダッシュボードにアクセス:https://miibo.dev/dashboard
それでは、また次回のニュースレターでお会いしましょう! miiboを楽しんでください!
miiboDesigner岡大徳:https://daitoku0110.net/
miiboガイドページ:https://daitoku0110.net/miibo-guide/
miiboDesigner岡大徳が徹底解説、「miibo」の全貌と描く未来:https://miibo.site/