Decisions API向けWebグラウンディング

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

Web Grounded Decisions API title over an abstract sphere with glowing streams of light.

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上の情報と照らし合わせて主張を検証します:

bash
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 として渡すと、モデルにそのページを参照させることができます:

bash
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 を渡します:

python
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のドキュメントを参照して、さっそく使い始めましょう。