Skip to content

Web Search

plugins フィールドでリクエストにウェブ検索結果を注入します。OpenRouter の web プラグインと互換性があります。

POST/v1/chat/completions

plugins 配列に {"id": "web"} を入れると、 PleumRouter はモデルを呼び出す前に最後の user メッセージでウェブを検索し、その結果を コンテキストとして注入します。フィールドの形式は OpenRouter の plugins と同じなので、既存の OpenRouter 設定をそのまま流用できます。

ウェブ検索は運営側ゲート(plugins.web_search_enabled)の背後にあり、デフォルトはオフです。ゲートがオフの間、plugins フィールドはエラーなしで静かに無視され、リクエストは検索なしで通常どおり 処理されます。

リクエスト#

パラメータ必須説明
pluginsarray任意OpenRouter 互換のプラグインリスト。ウェブ検索は {"id": "web"} エントリで要求します。
plugins[].idstring必須プラグイン ID。現在は "web" のみ対応しています。
plugins[].max_resultsinteger任意注入する検索結果の数。デフォルト値 3、1 〜 10 にクランプされます。整数以外の値は 3 になります。
request with web plugin
curl https://apirouter.pleum.ai/v1/chat/completions \
  -H "Authorization: Bearer plm_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "What are the latest developments in AI routing?"}
    ],
    "plugins": [{"id": "web", "max_results": 3}]
  }'

動作の仕組み#

検索クエリは最後の user メッセージのテキストです(マルチモーダルメッセージ ではテキストパートのみ使用)。検索バックエンドはキー不要の DuckDuckGo Instant Answer API で、結果(タイトルと URL のリスト)はモデルの 呼び出し前に system メッセージとして会話の先頭に挿入されます。レスポンス ボディの形は変わりません — 別途の引用(annotation)フィールドはありません。

検索が失敗したり結果がない場合でもリクエストは失敗しません — 元のメッセージ のままモデルが呼び出されます。最後の user メッセージにテキストがない場合も同様です。

課金#

注入された検索結果はプロンプトの一部になるため、通常の入力トークンとして課金されます。検索自体に追加料金はありません。