ホームへ戻る

GitHub Repo

VercelのPerplexity SDK 5.0.0がAgent APIへ移行、検索とストリーミング統合に変更が必要

新バージョンでは言語生成をAgent APIに移し、モデル設定、ストリーミングイベント、使用量データの形式を変更。従来のPDF入力と画像・動画の結果はサポートされなくなった。Sonarの廃止時期については、公式情報に食い違いが残っている。

GitLab, Inc. · MIT · Image source
zh-Hant

Vercelは9月26日、`@ai-sdk/perplexity` 5.0.0をリリースした。言語生成をSonar Chat CompletionsからPerplexity Agent APIに切り替える、破壊的変更を伴うアップデートだ。従来のSonarモデルIDとプロバイダーオプションは、新しいインターフェースのデフォルト設定、モデル設定、ツール設定に置き換える必要がある。リクエスト、レスポンス、使用量データの形式も変更された。[リリースノート](https://github.com/vercel/ai/releases/tag/%40ai-sdk%2Fperplexity%405.0.0)

技術面での主な違いは、1回のリクエストで複数のツール実行ステップを扱えることだ。基盤となるAPIでは、従来の`messages`が`input`に変わり、レスポンスの`choices`は、回答、検索結果、その他の実行ステップをそれぞれ格納する、型付きの`output`配列に置き換わった。これによりアプリケーションから中間処理を確認できる一方、生のレスポンスを直接解析するコードには修正が必要となる。[公式インターフェース比較](https://docs.perplexity.ai/docs/agent-api/migrate-from-sonar/overview)

検索設定も移行が必要だ。公式ガイドによると、鮮度やドメインのフィルターパラメーターは`web_search`ツールの`filters`内に移った。モデルを直接指定する場合は、検索ツールも別途追加しなければならない。生のストリームはイベント型に応じて処理する方式に変わり、テキストの増分、ツール呼び出し、推論にはそれぞれ専用のイベントがある。これらは基盤プロトコルの変更だ。パッケージの統一インターフェースを使うアプリケーションでも、独自にアクセスしているプロバイダーのメタデータは確認する必要がある。[移行ガイド](https://docs.perplexity.ai/docs/agent-api/migrate-from-sonar/how-to)

今回のパッケージ更新では、ストリーミングの完全性も強化された。終了イベントから受信し損ねたテキストを補完し、すでに受信した増分の重複を防ぎ、引用注記と検索結果のIDを保持する。また、同じソースURLは一度だけ送信される。ただし、リリースノートには、新インターフェースでは従来のSonar PDF入力と画像・動画の結果をサポートしないと明記されている。これらの機能を使う製品では、別の対応が必要だ。[バージョン変更点](https://github.com/vercel/ai/releases/tag/%40ai-sdk%2Fperplexity%405.0.0)

廃止時期については、公式情報に食い違いが残っている。Perplexityが8月に発表した告知では、Sonarエンドポイントの廃止日は9月27日とされていた。一方、今回確認した移行ガイドの概要には、Sonarのサポートを継続すると記載されている。そのため、告知だけを根拠に旧エンドポイントが全面停止したと断定することはできない。[当初の告知](https://community.perplexity.ai/t/sonar-is-moving-to-the-agent-api/5802)、[現行ドキュメント](https://docs.perplexity.ai/docs/agent-api/migrate-from-sonar/overview)

これらの変更を踏まえると、アップグレードの検証では、回答全体、引用との対応、検索制限、コスト記録を確認し、未完了のレスポンスや複数種類のツールイベントもテストする必要がある。たとえば、引用コンポーネントが従来の配列位置でソースを対応付けていたり、課金システムが古いコストフィールドを固定で読み取っていたりする場合、画面にテキストが表示されても移行が完了したとはいえない。今後、エンジニアリングチームは公式のサポート期間が統一されるか、また実際のワークロードでもパッケージが従来の検索品質と追跡可能性を維持できるかを確認する必要がある。

出典

  1. Release @ai-sdk/[email protected]
  2. Migrate from Sonar to the Agent API
  3. How to migrate from Sonar
  4. Sonar is moving to the Agent API