helallao/perplexity-ai

Unofficial API Wrapper for Perplexity.ai + Account Generator with Web Interface

Perplexity‑AI (非公式 Python ライブラリ)

何であるか – 公式 API キーが不要な、公開された Perplexity.ai Web UI と通信する Python ライブラリ。ウェブサイトで提供されている検索・推論クエリを同期的または非同期的に実行でき、また Chrome ブラウザを自動化するドライバも含まれており、Emailnator を通じて一時的な Gmail アカウントを作成することで、無料トライアルの「5 件の Pro クエリ」制限をリセットできます。

主な機能

  • 検索 & 推論client.search() を呼び出し、クエリを入力し、modeauto, pro, reasoning, deep research)を選択。応答には answer フィールド(プレーンテキスト)が含まれます。
  • ストリーミングstream=True を設定すると、回答の部分的なチャンクをリアルタイムで受信できます。
  • ファイルアップロード{filename: data} の辞書を添付することで、Perplexity がドキュメントを分析できます。
  • 同期・非同期 APIperplexity.Client(ブロッキング)と perplexity_async.Client(awaitable)。
  • MCP サーバーperplexity-mcp という Model Context Protocol サーバーで、Claude Code や MCP 互換クライアント向けにツールとして公開。HTTP トランスポートもオプションで利用可能。
  • アカウント生成client.create_account(emailnator_cookies) で Emailnator の一時メールサービスを使って新しい Gmail を登録し、もう一度無料の Pro クエリを取得できます。
  • レート制限対応、リトライ、型付きインターフェース、構造化ログ、カスタム例外階層 により、信頼性の高い統合が可能。

インストール(Python 3.10+ と uv パッケージマネージャーが必要ですが、pip でも代替可能)

# コアライブラリ
uv sync               # または: pip install -e .

# オプション:MCP サーバー
uv sync --extra mcp   # または: pip install .[mcp]

# オプション:アカウント作成用のウェブドライバ
uv sync --extra driver
uv run patchright install chromium   # ヘッドレス Chromium をインストール

クイック使用例(同期)

import perplexity

client = perplexity.Client()                     # 匿名、無料トライアルのみ
resp = client.search("What is artificial intelligence?")
print(resp["answer"])                           # → プレーンテキストの回答

独自の Perplexity アカウントを使用する場合(ブラウザから取得したクッキーを提供):

cookies = {
    "next-auth.session-token": "…",
    "next-auth.csrf-token": "…",
}
client = perplexity.Client(cookies)
resp = client.search(
    "Explain quantum computing",
    mode="reasoning",
    model="gpt-5.2-thinking",
    sources=["web", "scholar"],
    stream=True,
)
for chunk in resp:
    if "answer" in chunk:
        print(chunk["answer"], end="", flush=True)

非同期バージョンperplexityperplexity_async に置き換え、呼び出しに await を使用します。

MCP サーバーperplexity-mcp を実行(デフォルトは stdio トランスポート)または MCP_TRANSPORT=http perplexity-mcp で HTTP エンドポイントを起動。Claude Code は claude mcp add perplexity -- perplexity-mcp でツールとして追加できます。サーバーはクエリをラッパーに転送し、匿名モードまたは PERPLEXITY_COOKIES 環境変数で渡されたクッキーを使用します。

制限事項(ドキュメントに記載)

  • messages 配列の複数メッセージ対応なし – 1回の呼び出しにつき1つのクエリ文字列のみ。
  • 高度な検索フィルタ(日付、ドメイン、コンテキストサイズ、推論の努力度など)なし。
  • プレーンテキストの回答のみ返却。構造化された出典、画像、リッチ結果オブジェクトは含まれない。
  • アカウント作成には、すぐに期限切れになる Emailnator のクッキーが必要。

詳細情報の入手先examples/ に例、README に完全な API リファレンス、docs/ に変更履歴とロードマップ、tests/ にテストスイート。

法的注意 – これは 非公式 のラッパーです。責任を持って使用し、Perplexity.ai の利用規約を尊重してください。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト