Decisions API向けWebグラウンディング
PerplexityのDecisions APIで、Web上の最新の事実に基づいた判断を。ライブ検索を追加して、正確で最新の回答を得られます。

AI判断モデルは高速でコスト効率に優れていますが、知っているのはユーザーから送られた情報とトレーニングで学習した内容だけです。ある人物が今も企業のCEOであるかどうかや、製品に新しいリリースがあるかどうかなど、変化する事実に関する質問に正確に答えるには、モデルに最新の情報が必要です。
本日より、PerplexityのDecisions APIは、回答する前にWebを検索できるようになりました。
"mode": "web_grounding"という設定を1つ、任意のDecisions APIリクエストに追加するだけで、Perplexity Fast Searchが質問ごとに1件のクエリを実行します。結果は根拠情報としてstateに追加されるため、判断モデルは今まさにWeb上にある情報を踏まえた確率を返します。stateにはURLを指定することもでき、テキストを入力する代わりに特定のWebページをモデルに参照させられます。
Web上の最新の事実に依存する100問で構成された公開ベンチマークPWS-Decisionsでは、正答率が51%から86%に向上し、一般的な応答時間は400ミリ秒未満でした。
判断モデルの仕組み
判断モデルは、各質問への回答として数値を返します。ユーザーは、コンテンツ(テキスト、JSON、または画像)をstateとして、1つ以上の質問とともに送信します。noul型の質問(はい/いいえ)では、結果は「はい」である確率です。choice型の質問では、ユーザーが定義した各選択肢の確率が結果となります。score型の質問では、ルーブリックの各レベルの確率と期待スコアが結果となります。
モデルには2つの情報源があります。ユーザーが送信するstateと、トレーニングで学習した内容です。「このレビューは不具合を報告しているか?」といった質問にはそれで十分です。しかし、「この人物は今もCEOか?」に答えるには不十分です。答えはトレーニング後に変わっている可能性があり、stateにはそれを示す情報が何もないからです。Webグラウンディングは、3つ目の情報源として、リクエスト時に検索したWebを追加します。stateにはURLを指定することもできるため、ユーザーはテキストの代わりにWebページをモデルに参照させることができます。
Webグラウンディングの仕組み
グラウンディングは、モデルを呼び出す前にAPIゲートウェイで実行されます。ゲートウェイは、リクエスト内の質問ごとにFast Searchのクエリを作成します。クエリは並列で実行されます。ゲートウェイは結果を統合して重複するURLを除外し、タイトル、URL、ページ本文といったエビデンスを state に追加します。state がURLの場合は検索クエリにそのURLが含まれるため、ページ自体がエビデンスとして返され、モデルはその本文に基づいて回答します。モデルは、他のDecisions APIリクエストと同じように確率を返します。検索が失敗またはタイムアウトした場合、モデルは返ってきたエビデンスの範囲で回答します。レスポンスには search_results が含まれるため、ユーザーはモデルが参照した内容を確認できます。ユーザーのリクエストもレスポンスの形式も変わりません。変わるのは、モデルが回答する際に手にしているエビデンスです。
Webグラウンディングのテスト
真偽を判定する328件の主張を、同じ判断モデルに2回送信しました。1回はWebグラウンディングあり、もう1回はなしです。主張は2026年10月のニュースとWikipediaの希少な事実に分かれており、真の主張にはそれぞれ、1点だけ内容が異なる偽の対となる主張を用意しました。stateには根拠情報を一切与えていません。
Web Groundingなしの場合、Decisions APIが正しく回答できた主張は56.4%にとどまり、当て推量とほぼ変わりませんでした。Web Groundingありの場合は97.3%に正しく回答し、誤答は143件から9件に減少しました。その代償は速度で、レイテンシの中央値は139 msから366 msに、95パーセンタイルのレイテンシは514 msから742 msに増加しました。
PWS-Decisions
PWS-Decisionsは、アカウントの資格要件、製品の機能、ポリシーのルール、変化の速い出来事に関するクローズドエンド型の質問で構成された公開ベンチマークです。100問が公開されており、参照解答との完全一致で採点されます。2026年11月4日にこれらの質問をDecisions API + Web Grounding(pplx-decider-v1.2)で実行したところ、86問に正解しました。以下のその他の結果は、ベンチマーク作成者が公開しているリーダーボードのものです。そこで示されているWeb GroundingなしのDecisions APIの51%という結果は、私たちが独自に実行した結果と一致しています。
100問の公開質問について当社のクライアントから測定したところ、Decisions API + Webグラウンディングのリクエストの応答時間は、中央値で370ミリ秒、95パーセンタイルで685ミリ秒でした。ベンチマークの作成者は、300問の全セットについて2026年10月29日に自身のクライアントから測定した結果として、自身のAPIで560ミリ秒と710ミリ秒を報告しています。公開されているリーダーボードと比較すると、Decisions API + Webグラウンディングは公開セットで最も高い正答率を示し、応答時間の中央値は400ミリ秒未満です。
開発者が構築できるもの
Webグラウンディングを有効にすると、トレーニング後に事実が変わり、Web上に新しい情報が公開されている場合など、データだけでは答えられない質問に回答できます。いくつか例を挙げます:
- 最新ニュースをもとにアカウントを選別する。アカウントリスト全体を対象に「過去90日以内に資金調達したか?」を判定します。
- 依存しているツールを追跡する。「固定しているバージョンより新しい安定版リリースはあるか?」を定期的に確認します。
- エージェントが行動する前に確認する。予約する前に「このイベントはまだ開催予定か?」を確認します。
各回答は、開発者のコードがそのまま処理に使える確率として、その根拠となるWebソースとともに返されます。
使ってみる
任意のDecisions APIリクエストに "mode": "web_grounding" を追加します。state には、主張や記録などのテキスト、またはURLを指定できます。
Web上の情報と照らし合わせて主張を検証します:
curl -X POST https://api.perplexity.ai/v1/decisions \
-H "Authorization: Bearer $PERPLEXITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "pplx-decider-v1.2",
"mode": "web_grounding",
"state": "Claim: The James Webb Space Telescope launched in December 2021.",
"questions": {
"supported": {
"type": "noul",
"instructions": "Is the claim true?"
}
}
}'レスポンスには、モデルが読み込んだページである search_results が追加されます。11月4日に実行したところ、yes の確率は0.99を超え、最初の結果はNASAの宇宙機の記録でした。
ページのURLを state として渡すと、モデルにそのページを参照させることができます:
curl -X POST https://api.perplexity.ai/v1/decisions \
-H "Authorization: Bearer $PERPLEXITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "pplx-decider-v1.2",
"mode": "web_grounding",
"state": "https://pypi.org/project/requests/",
"questions": {
"newer_stable_release": {
"type": "noul",
"instructions": "Has this package published a stable release newer than 2.31.0 as of today?"
}
}
}'Perplexity Pythonライブラリでは、リクエストボディで mode を渡します:
from perplexity import Perplexity
client = Perplexity()
response = client.decisions.create(
model="pplx-decider-v1.2",
state="Claim: The James Webb Space Telescope launched in December 2021.",
questions={"supported": {"type": "noul", "instructions": "Is the claim true?"}},
extra_body={"mode": "web_grounding"},
)
print(response.answers["supported"].noul)完了した検索1回ごとに、入力トークンとは別に$0.001の料金がかかります。検索で得られたエビデンスは入力トークンとしてカウントされます。Web Groundingを使用するリクエストには、最大100件の質問を含めることができます。
Web Groundingのドキュメントを参照して、さっそく使い始めましょう。