Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Perplexity AI APIの使い方(プロアカウント有無にかかわらず)

中村 拓也

中村 拓也

Updated on 4月 17, 2025

Perplexity AIは、その会話型AI機能に対する注目を集めており、特にリアルタイムのウェブ検索を統合することで最新の情報をソースと共に提供する能力に優れています。開発者やビジネスが自社のアプリケーション内でこれらの強力なモデルを活用しようとする場合、Perplexityはアプリケーションプログラミングインターフェイス(API)を提供しています。

Perplexity AI APIは、Perplexityの大規模言語モデル(LLM)にプログラム的にアクセスすることを可能にします。これには、ウェブを閲覧してクエリに答えるオンラインモデル(sonar-small-onlinesonar-medium-onlineなど)とオフラインチャットモデル(sonar-small-chatsonar-medium-chatなど)が含まれます。

このチュートリアルでは、Perplexity AI APIエコシステムと対話するための二つの主要な道筋を探ります:

  1. 公式のPerplexity APIキーを使用した直接アクセス:これはPerplexityが提供する標準的な方法です。非常に限られた無料トライアルや初期クレジットがあるかもしれませんが、持続的または高ボリュームの使用には通常、Perplexity Proサブスクリプションまたは特定の企業契約が必要です。
  2. サードパーティーサービス(OpenRouter)を介した間接アクセス:OpenRouterのようなプラットフォームはアグリゲーターとして機能し、独自のAPIインフラストラクチャを通じてPerplexityのモデルを含む様々なLLMにアクセスを提供します。これにより、直接のPerplexity ProサブスクリプションなしでPerplexityモデルを使用する代替の方法が得られますが、サードパーティプロバイダーを通じてコストが発生します。

また、別の人気の推論プラットフォームであるGroqと、そのPerplexityの独自モデルとの関係(またはそれが存在しないこと)についても明らかにします。


Proアカウントでの公式Perplexity AI APIへのアクセス

このセクションでは、Perplexityが直接提供する公式APIの使用方法を詳述します。この方法は通常、最も直接的なアクセスを提供し、最新の機能やモデルを利用できる可能性がありますが、初期の探索を超えた意味のある使用には通常、有料のPerplexityサブスクリプション(Pro)が必要です。

前提条件:

  • Perplexityアカウント。
  • Perplexity Proサブスクリプション(通常は substantial API access およびキー生成に必要)。
  • REST APIおよびHTTPリクエストの基本的な理解(curlのようなツールやPythonのようなプログラミング言語を使用)。

ステップ 1: 公式のPerplexity AI APIキーを取得する

  1. Perplexityにログイン:Perplexityのウェブサイト(perplexity.ai)にアクセスし、アカウントにログインします。APIキーの生成/使用に必要な場合は、Proにアップグレードされていることを確認してください。
  2. 支払い方法を設定:Perplexityダッシュボードでアカウント設定、プロフィールオプション、または専用の「API」セクションを探します。正確な場所は変わるかもしれませんが、通常はアカウント管理エリアの下にあります。

3. APIキーを生成:API設定内で、新しいAPIキーを生成するオプションを見つけるはずです。このボタンをクリックします。

4. キーをコピーしてセキュアに保管:Perplexityは一意の英数字の文字列を生成します。これがあなたのAPIキーです。このキーはパスワードのように扱ってください。 公に共有したり、直接コードリポジトリにコミットしたりしないでください。環境変数や秘密管理システムを使用して、安全に保管してください。

ステップ 2: Perplexity AI APIエンドポイントの理解

APIを介してPerplexityのチャットモデルと対話するための主要なエンドポイントは以下の通りです:

https://api.perplexity.ai/chat/completions

このエンドポイントは、OpenAIのAPIに似た構造に従っており、他のLLM APIを扱ったことのある開発者にとっては比較的馴染みのあるものです。

ステップ 3: Perplexity AI APIモデルの選択

PerplexityはAPIを介していくつかのモデルを提供しています。APIリクエストで使用するモデルを指定する必要があります。一般的なモデルには:

オンラインモデル(ウェブ検索付き):

  • sonar-small-online
  • sonar-medium-online
  • (以前のpplx-7b-onlinepplx-70b-online - 利用可能なモデルの最新のドキュメントを確認してください)

チャットモデル(ウェブ検索なし):

  • sonar-small-chat
  • sonar-medium-chat
  • (以前のpplx-7b-chatpplx-70b-chat - 現在のドキュメントを確認)
  • その他の特殊または古いモデルも利用可能かもしれません。最新のモデルとその機能のリストについては、公式のPerplexity APIドキュメントを常に参照してください。

ステップ 4: 最初のPerplexity AI APIリクエストを行う

APIと対話するには、さまざまなツールやプログラミング言語を使用できます。以下はcurl(コマンドラインツール)とPython(requestsライブラリ)を使用した例です。

curlを使用する:

curl -X POST <https://api.perplexity.ai/chat/completions> \\\\
     -H "Authorization: Bearer YOUR_PERPLEXITY_API_KEY" \\\\
     -H "Content-Type: application/json" \\\\
     -d '{
       "model": "sonar-medium-online",
       "messages": [
         {
           "role": "system",
           "content": "正確で簡潔にしましょう。"
         },
         {
           "role": "user",
           "content": "Perplexity AI APIを使用する主な利点は何ですか?"
         }
       ],
       "max_tokens": 500,
       "temperature": 0.7
     }'

説明:

  • curl -X POST ...: 指定されたエンドポイントにHTTP POSTリクエストを行います。
  • H "Authorization: Bearer YOUR_PERPLEXITY_API_KEY": このヘッダーは認証情報を提供します。YOUR_PERPLEXITY_API_KEYを生成したキーに置き換えてください。
  • H "Content-Type: application/json": リクエストボディがJSON形式であることをサーバーに通知します。
  • d '{...}': 送信されるJSONペイロード(データ)を指定します。
  • "model": 使用するPerplexityモデルを指定します(例:sonar-medium-online)。
  • "messages": 会話履歴を定義するメッセージオブジェクトのリスト。
  • "role": "system"(AIの挙動を設定)、"user"(あなたの入力)、または"assistant"(以前のAIの応答)として指定できます。
  • "content": メッセージのテキスト。
  • "max_tokens"(オプション):応答で生成する最大トークン数。
  • "temperature"(オプション):ランダム性を制御します(0 = 決定論的、高い値 = より創造的/ランダム)。

Python(requestsライブラリ)を使用する:

まず、requestsライブラリがインストールされていることを確認してください:pip install requests

import requests
import json
import os

# 環境変数からAPIキーを安全に読み込む
api_key = os.environ.get("PERPLEXITY_API_KEY")
# または直接置き換えてコメントアウトを外す(本番環境ではセキュアではありません):
# api_key = "YOUR_PERPLEXITY_API_KEY"

if not api_key:
    print("エラー:PERPLEXITY_API_KEY環境変数が設定されていません。")
else:
    url = "<https://api.perplexity.ai/chat/completions>"

    payload = {
        "model": "sonar-medium-online",
        "messages": [
            {
                "role": "system",
                "content": "詳細な説明を提供し、情報源を引用してください。"
            },
            {
                "role": "user",
                "content": "情報検索拡張生成(RAG)の概念を説明してください。"
            }
        ],
        "max_tokens": 800,
        "temperature": 0.5,
        # 必要に応じて 'frequency_penalty'、'presence_penalty' などの他のパラメータを追加
    }

    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    try:
        response = requests.post(url, headers=headers, json=payload)
        response.raise_for_status() # 不正なステータスコード(4xxや5xx)の場合には例外を発生させる

        response_data = response.json()
        print(json.dumps(response_data, indent=2))

        # アシスタントの返信を抽出
        if response_data.get("choices"):
             assistant_message = response_data["choices"][0]["message"]["content"]
             print("\\\\nアシスタントの応答:\\\\n", assistant_message)

    except requests.exceptions.RequestException as e:
        print(f"エラーが発生しました:{e}")
        if e.response is not None:
            print("エラーの詳細:", e.response.text)

ステップ 5: APIdogでのPerplexity AI APIキーのテスト

APIキーをアプリケーションに統合する前に、正常に動作するかどうかをテストすることをお勧めします。APIdogはAPIテストのためのユーザーフレンドリーなツールです。以下はPerplexityキーをテストするための使用方法です:

APIdogをダウンロードして開く: APIdogアプリケーションを起動するか、ウェブ版を使用します。

button

新しいリクエストを作成: "+"ボタンまたはそれに類似したオプションをクリックして新しいAPIリクエストを作成します。

メソッドをPOSTに設定: HTTPメソッドのドロップダウンをPOSTに変更します。

エンドポイントURLを入力: URL入力フィールドにPerplexityチャット完了エンドポイントhttps://api.perplexity.ai/chat/completionsを貼り付けます。

認証を構成:

  • URLバーの下にある「Authorization」タブに移動します。
  • タイプドロップダウンから「Bearer Token」を選択します。
  • 「Token」フィールドに、ステップ1で取得したPerplexity AI APIキーを貼り付けます。

Content-Typeヘッダーを設定:

  • 「Headers」タブに移動します。
  • 新しいヘッダーを追加します。キーをContent-Typeに設定し、値をapplication/jsonに設定します。

リクエストボディを作成:

  • 「Body」タブに移動します。
  • 「raw」オプションを選択し、その横のドロップダウンから「JSON」を選択します。
  • 以下のJSON構造をテキストエリアに貼り付け、"sonar-medium-online"をテストしたいモデルに置き換え、必要に応じて"content"を調整します:
{
  "model": "sonar-medium-online",
  "messages": [
    {
      "role": "system",
      "content": "正確かつ事実に基づいてください。"
    },
    {
      "role": "user",
      "content": "火星にはいくつの衛星がありますか?"
    }
  ]
}

リクエストを送信:「Send」ボタンをクリックします。

レスポンスを確認: APIdogはPerplexity APIからのレスポンスを表示します。200 OKのステータスコードと、AIの答えを含むJSONレスポンスがchoices[0].message.contentフィールドに表示されるか確認してください。エラー(401 Unauthorized403 Forbiddenなど)が表示された場合は、AuthorizationタブにAPIキーが正しく貼り付けられているか、Perplexityアカウント/キーに必要な権限とクレジットがあるか再確認してください。

💡
優れたAPIテストツールが必要ですか? 美しいAPIドキュメントを生成しますか?

開発チームが最大の生産性で共同作業を行うための統合されたオールインワンプラットフォームを探していますか?

APIdogがすべての要望に応え、Postmanをより手頃な価格で置き換えます
button

Openrouterを使用した直接ProアカウントなしのPerplexity AI APIモデルの使用

Perplexity Proサブスクリプションがない場合や、別の請求/アクセスモデルを希望する場合、サードパーティのAPIプロバイダーを通じてPerplexityのモデルを使用することが可能です。OpenRouterはその一般的な例です。

OpenRouterは、Perplexityをはじめとする異なるプロバイダーからの広範なLLMにアクセスするための統一APIエンドポイントを提供します。利用に応じてOpenRouterに支払いを行い、彼らが各モデルプロバイダーへのバックエンド呼び出しを処理します。

こちらで利用可能なPerplexity AI APIを確認できます:

前提条件:

  • OpenRouterアカウント(openrouter.ai)。
  • OpenRouterアカウントに追加された資金または請求の設定。
  • REST APIの基本的な理解。

ステップ 1: OpenRouter APIキーを取得

  1. サインアップ/ログイン: openrouter.aiにアクセスし、アカウントを作成またはログインします。
  2. キーに移動: アカウント設定内の「Keys」または「API Keys」セクションを見つけます。
  3. キーを作成: 新しいAPIキーを生成します。
  4. コピーしてセキュアに保管: 生成されたキーをコピーして、安全に保管します。公式のPerplexityキーと同様に保管してください。

ステップ 2: OpenRouter上でのPerplexity AI APIモデルの特定

OpenRouterは独自の命名規則を使用しており、プロバイダー名をプレフィックスとして付けることがよくあります。OpenRouter上のPerplexityモデルは以下のように見えるかもしれません:

  • perplexity/sonar-small-chat
  • perplexity/sonar-small-online
  • perplexity/sonar-medium-chat
  • perplexity/sonar-medium-online
  • (現在のリストおよび正確な名前についてはOpenRouterの/modelsページを確認してください)

ステップ 3: Perplexity AI APIモデルのためのOpenRouterエンドポイントを介してAPIリクエストを行う

OpenRouterはOpenAI互換のAPIエンドポイントを使用します:

https://openrouter.ai/api/v1/chat/completions

リクエストを公式のPerplexity APIまたはOpenAI APIと同様に構成しますが、OpenRouterのキーとOpenRouterのモデル名を使用します。

curlを使用:

curl -X POST <https://openrouter.ai/api/v1/chat/completions> \\\\
  -H "Authorization: Bearer YOUR_OPENROUTER_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -H "HTTP-Referer: YOUR_SITE_URL" \\\\ # オプションだがOpenRouterが推奨
  -H "X-Title: YOUR_APP_NAME" \\\\      # オプションだがOpenRouterが推奨
  -d '{
    "model": "perplexity/sonar-medium-online",
    "messages": [
      {"role": "user", "content": "OpenRouterはどのようにしてPerplexity AI APIモデルへのアクセスを提供しますか?"}
    ]
  }'

注意: OpenRouterは、アプリケーションを特定するためにHTTP-RefererX-Titleヘッダーを追加することを推奨します。YOUR_OPENROUTER_API_KEYYOUR_SITE_URL、およびYOUR_APP_NAMEを適宜置き換えてください。

ステップ 4: Perplexity AI APIモデルのOpenRouterレスポンスを処理

OpenRouterからのレスポンス構造は、一般的にOpenAI/Perplexity標準と同じであり、choicesmessagecontent、およびusageフィールドが含まれます。主な違いは、コストが使用した特定のPerplexityモデルに対するOpenRouterの料金に基づいて計算されることです。

OpenRouterを使用する利点:

  • 直接的なPerplexity ProサブスクリプションなしでPerplexityモデルにアクセス可能。
  • 異なるプロバイダーからの複数のLLMの請求が統合される。
  • さまざまなモデルに対して単一のAPIキーとエンドポイント。

考慮事項:

  • 価格はPerplexityの直接APIコストとは異なる場合があります。
  • 追加のホップによりわずかに遅延が発生する可能性があります。
  • OpenRouterのプラットフォームの可用性とPerplexityとの統合に依存します。

結論

このチュートリアルは、さまざまなAPI方法を通じてPerplexity AIの背後にある強力なモデルにアクセスするための詳細なガイドを提供します。常に最新のモデル名、エンドポイント、価格、機能については公式のPerplexityおよびOpenRouterのドキュメントを参照することを忘れないでください。APIキーを安全に保管し、プロジェクトの要件や予算に最も適したアクセス方法を選択してください。