perplexity-api について
perplexity-apiは、最新のウェブ情報を必要とするアプリケーションやエージェント向けのスキルです。PerplexityのSonar APIで検索結果や引用付きの回答を取得し、LLMのワークフローに利用できます。
主な機能
- 01リアルタイムのウェブ検索
- 02日付やドメインによる検索条件指定
- 03引用URL付きの回答取得
- 04通常検索とフォーカス検索
- 05LLMワークフロー向けの検索結果
活用シーン
- 01出典付きで最新ニュースを調査
- 02LLMの回答に最新情報を追加
- 03引用付きの検索結果で回答を検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill perplexity-apiインストール後、Claude Code で/perplexity-apiを入力して読み込まれたか確認します。
詳細
perplexity-api
目的
このスキルを使うと、Perplexity の Sonar API にアクセスできます。リアルタイムのウェブ検索、引用付きの回答、検索結果を活用した LLM 応答が可能になり、AI を活用したアプリケーションを強化できます。
使用するタイミング
検証可能な情報源を示したユーザーからの質問への回答、ライブ情報を使った LLM の出力の補強、引用が必要な調査など、最新のウェブデータが必要なタスクにこのスキルを使用します。不必要な API 呼び出しを避けるため、静的データを扱う場合やリアルタイムアクセスが不要な場合は使用しないでください。
主な機能
- 日付やドメインなどで絞り込むクエリパラメーターを指定して、リアルタイムのウェブ検索を実行します。
- テキストによる回答と引用 URL を含む JSON オブジェクトとして回答を取得します。
- API の結果とモデルの推論を組み合わせ、検索結果を活用した応答を生成するために LLM と連携します。
- 標準検索、絞り込み検索、引用の抽出など、複数のクエリタイプに対応します。
- API キーあたり最大 1 分間に 100 件のリクエストというレート制限を考慮します。
使用パターン
呼び出す前に、必ず環境変数で API キーを設定してください。クエリには HTTP GET または POST リクエストを使用し、JSON 応答を解析します。必要に応じて、非同期の結果も処理してください。AI エージェントでは、サブルーチンとして連携します。最初にローカルのナレッジを確認し、その後、ウェブ上の最新情報を取得するためにこの API を呼び出してください。パターン:認証 -> クエリ送信 -> 応答処理 -> 結果のログ記録またはキャッシュ。
よく使うコマンド/API
エンドポイント:https://api.perplexity.ai/search(単純なクエリには GET、JSON 本文を含む複雑なクエリには POST を使用します)。
認証:必須です。$PERPLEXITY_API_KEY で設定します(例:export PERPLEXITY_API_KEY=your_api_key)。
CLI の例:
curl -H "Authorization: Bearer $PERPLEXITY_API_KEY" -G https://api.perplexity.ai/search --data-urlencode "q=latest AI news"
API パラメーター:
- q:クエリを指定する必須の文字列です(例:"climate change effects")。
- limit:結果数を指定する整数です(例:5)。
- format:応答形式を指定する文字列です(例:"json" または "text")。
コードスニペット(Python):
import requests; os.environ['PERPLEXITY_API_KEY'] = 'your_key'
response = requests.get('https://api.perplexity.ai/search', params={'q': 'query'}, headers={'Authorization': f'Bearer {os.environ["PERPLEXITY_API_KEY"]}'}).json()
print(response['answers'][0]['text']) # Access first answer
設定形式:.env ファイルに PERPLEXITY_API_KEY=your_key として保存し、python-dotenv で読み込みます。
統合に関する注意事項
信頼性を高めるため、API 呼び出しを try-except ブロックで囲んでください。OpenClaw エージェントでは、ウェブデータが必要なワークフローでこのスキルを使用します。たとえば、API の結果を LLM のプロンプトの先頭に追加します。非同期フレームワークを使用する場合は、その互換性を確認してください。Perplexity API は最大 30 秒のタイムアウトに対応しています。まずモック応答を使ってテストしてください。パターン:必要なライブラリ(例:requests)をインポートし、環境変数を設定して、構造化されたクエリでエンドポイントを呼び出します。コード内で API キーを直接公開しないでください。必ず安全な保管庫または環境変数を使用してください。
エラー処理
HTTP ステータスコードを確認してください。認証失敗を示す 401 の場合は、$PERPLEXITY_API_KEY を確認してから再試行します。レート制限を示す 429 の場合は、指数バックオフを実装します(例:5〜10 秒待機)。無効なエンドポイントを示す 404 の場合は、ログに記録し、代替スキルにフォールバックします。"error": "Invalid query" のような詳細を確認するため、JSON エラーを解析してください。コードでは次のようにします。
try:
response = requests.get(...)
response.raise_for_status() # 4xx/5xx に対して HTTPError を発生させる
except requests.exceptions.HTTPError as e:
print(f"Error: {e.response.status_code} - {e.response.text}") # ログに記録して処理する
回数制限(例:最大 3 回)を設けて、必ず再試行ロジックを含めてください。失敗が続く場合はユーザーに知らせます。
具体的な使用例
-
例:リアルタイムのニュース検索
最新の AI の動向を取得するには、$PERPLEXITY_API_KEY を設定してから、curl -H "Authorization: Bearer $PERPLEXITY_API_KEY" -G https://api.perplexity.ai/search --data-urlencode "q=latest OpenAI updates&limit=3" を実行します。コードでは、requests をインポートしてエンドポイントにクエリを送信し、response['answers'][0]['source_url'] のような引用情報を抽出してユーザーに表示します。ニュースに関する質問に回答するエージェントに便利です。 -
例:LLM の応答の拡充
LLM の回答を強化するには、まず LLM の出力(例:「気候変動を要約」)を取得し、それをクエリとして API を呼び出します:requests.get('https://api.perplexity.ai/search', params={'q': 'climate change summary'})。API の応答を使って引用情報を追加します。たとえば、LLM のテキストに「出典:[応答から取得した URL]」を追記します。ワークフローでは、エージェントの応答に検証が必要な場合、このスキルを呼び出し、最終的な出力の前に結果を統合します。
グラフの関連性
- 関連クラスター:ai-apis(例:openai-api など、ほかの AI API スキルと依存関係を共有します)。
- タグ:ai-apis(AI 関連エンドポイントのグループを示します)、api(一般的な API 統合)。
- 接続:llm-tools と連携して検索と生成を組み合わせられます。リアルタイムのデータに依存するため、offline-data スキルとは競合します。