Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Prompt Enrichment

プロンプトエンリッチメントは、AIモデルにリクエストを送る前に、ユーザーデータ、検索した文書、ツールの結果、例などを追加し、ユーザーに合った回答を生成できるようにします。

プロンプトエンリッチメントとは、AIモデルに届く前に、ユーザーのリクエストへ情報を自動的に追加することです。アプリケーションコードがユーザーとモデルの間に入り、ユーザーが入力しなかった情報、つまりアカウント情報、質問への回答となるドキュメント、ツールから取得したライブデータ、実例、またはリクエスト自体の詳細化した内容を補います。「カメラが検出されなくなったのはなぜですか?」と尋ねる顧客が入力するのは7語ですが、大規模言語モデル(LLM)にはその7語に加えて、顧客のデバイス、ソフトウェアのバージョン、問題に直接関連するヘルプ記事が渡されます。この用語は複数の手法を包括するもので、最もよく知られているのが検索拡張生成(RAG)です。

エンリッチメントで追加される情報#

  • ユーザーとセッションのデータ: アプリケーション独自の記録から読み取るプロフィール項目、プラン、言語、場所、現在の日付、またはユーザーが閲覧しているページです。
  • 取得したナレッジ: リクエストに関連するテキストをドキュメントコレクションやナレッジグラフから検索して見つかった箇所です。
  • ツールの結果: APIから取得した注文状況、データベースの行、別のモデルの出力など、このリクエストのために取得された値です。
  • 選択された例: すべてのリクエストに同じ固定セットを使うのではなく、入力に似ているためリクエストごとに選ばれるFew-shot例です。
  • 書き換えられたクエリ: モデルが簡潔なリクエストを使用前に展開します。HyDEでは、Luyu GaoらがLLMに仮想的な回答を作成させ、その文書の埋め込みを使って実際の文書を取得します。この手法は、質問だけを与えられた同じ教師なし検索器を上回りました。

次の例では、scikit-learnによるTF-IDF類似度検索で取得したアカウントデータと最も関連性の高いヘルプ記事を使い、サポートに関する質問をエンリッチします。

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# Context the user never typed: their account record and the help center's articles
account = {"plan": "Pro", "device": "USB webcam", "app_version": "2.3"}
articles = [
    "Version 2.4 fixes USB webcams that are not detected after a system update.",
    "Pro plans include ten concurrent video streams per workspace.",
    "Invoices are available on the billing page as soon as a payment succeeds.",
]
question = "Why is my camera not detected anymore?"

# Retrieve the article most similar to the question
vectorizer = TfidfVectorizer().fit([*articles, question])
scores = cosine_similarity(vectorizer.transform([question]), vectorizer.transform(articles))[0]
best = articles[scores.argmax()]

# Assemble the enriched prompt the model actually receives
profile = ", ".join(f"{key}: {value}" for key, value in account.items())
prompt = f"Customer profile: {profile}\nRelevant article: {best}\nQuestion: {question}"
print(prompt)

次のように出力されます。

Customer profile: plan: Pro, device: USB webcam, app_version: 2.3
Relevant article: Version 2.4 fixes USB webcams that are not detected after a system update.
Question: Why is my camera not detected anymore?

ユーザーの質問にウェブカメラ、バージョン、アップデートという語はありませんが、エンリッチされたプロンプトには「2.3から2.4へのアップデート」と回答するために必要な情報がすべて含まれています。本番環境のシステムでは通常、ベクトルデータベースから密な埋め込みを使って検索するか、ハイブリッド検索を使いますが、情報を組み立てる手順は同じです。

実際のエンリッチメント#

2023年、GitHubはCopilotの隣接タブ手法について説明しました。この手法では、開発者が開いているファイルを検索し、カーソル付近のコードに似たスニペットをプロンプトに追加します。その結果、ユーザーがCopilotの提案を採用する頻度が相対的に5%増加しました。カスタマーサポート用のチャットボットは、各ターンでアカウントと注文の記録を追加し、AIエージェントは各ステップで前のツール呼び出しの結果を追加します。

ビジョンパイプラインでは、検出器が見つけた情報でプロンプトをエンリッチします。Ultralytics Platform Agentsでは、LLMブロックが選択したビジョン言語モデルに各画像を送り、その画像より上流にあるブロックの結果(YOLO26の検出結果など)も併せて渡します。そのため、一度作成したプロンプトに、ワークフローが処理するすべての画像について新しい物体検出の結果が追加されます。

エンリッチメントにはコストが伴います。追加する箇所ごとにtokenが消費され、料金と推論レイテンシが増加します。また、関連性のないコンテキストや過剰なコンテキストは精度を下げます。この影響はコンテキスト劣化と呼ばれます。取得したウェブページやドキュメントにはプロンプトインジェクション攻撃が含まれる可能性もあります。また、プロンプトに個人データを追加すると、モデルの運営者にデータが送信されるため、データプライバシー上の懸念が生じます。

  • 検索拡張生成(RAG): 外部のドキュメントコレクションを検索するエンリッチメント手法です。エンリッチメントには、ユーザーのプランや現在の日付など、検索を必要としないデータも含まれます。
  • プロンプトエンジニアリング: 人がプロンプトテンプレートを設計します。エンリッチメントでは、実行時にそのテンプレートへリクエスト固有のデータを入力します。
  • コンテキストエンジニアリング: アプリケーション内でモデルのコンテキストに含まれるすべてを管理します。各ステップで何を追加、圧縮、削除するかも対象です。エンリッチメントは追加を扱います。
  • グラウンディング: モデルの出力を検証可能な情報源に結び付けます。エンリッチメントでは、その情報源をプロンプトに含めます。
  • プロンプト圧縮: 情報量の少ないトークンを削除してプロンプトを短縮します。追加したコンテキストが長い場合、エンリッチメントの後に適用されることがよくあります。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう