alterlab-perplexity について
LiteLLM と OpenRouter 経由で Perplexity Sonar を使い、最新情報を検索するスキルです。モデルを選択でき、出典付きの結果を得られるため、調査や事実確認に適しています。
主な機能
- 01Perplexity Sonar モデルで検索
- 02クエリに応じたモデル選択
- 03回答と引用を JSON に保存
- 04OpenRouter 認証情報の設定
活用シーン
- 01学習データ以降の最新動向を調べる
- 02最近の出版物を探して確認する
- 03現在の情報源を使って主張を検証する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-perplexityインストール後、Claude Code で/alterlab-perplexityを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/.env.exampleevals/evals.jsonreferences/model_comparison.mdopenrouter_setup.mdsearch_strategies.mdscripts/perplexity_search.pysetup_env.py詳細
Perplexity Search
LiteLLM と OpenRouter を通じて、Perplexity Sonar モデルを使った AI ウェブ検索を実行します。Perplexity は、出典の引用付きでリアルタイムのウェブ情報に基づく回答を返します。最新情報、最近の文献、モデルの学習データのカットオフ以降の事実を調べるのに最適です。OpenRouter のキーが 1 つあればすべてのモデルを利用でき、Perplexity のアカウントを別途用意する必要はありません。
このスキルを使う場面
次の場合に使います:最新の動向、最近の論文、出典に基づく回答、最新の情報源に照らした主張の検証、または学習データのカットオフ以降の情報。
次の場合は使わないでください:算術や論理、コードの実行、または学習データに十分含まれている事実(直接回答してください)。
起動しないケース
| 状況 | 代わりに使うもの |
|---|---|
どの検索バックエンドが適しているか分からず、自動ルーティングと sources/ への結果の保存を希望する場合 | alterlab-research-lookup |
| Parallel を使った一般的なウェブ、マーケット、技術調査、または既知の URL からの情報抽出 | alterlab-parallel-web |
| 論文ごとの構造化された実験データ(サンプルサイズ、効果量、品質スコア) | alterlab-bgpt-search |
| MeSH 用語または PMID による再現可能な生物医学データベース検索 | alterlab-pubmed |
セットアップ(一度だけ)
# 1. Get a key at https://openrouter.ai/keys and add credits ($5+ recommended)
# 2. Configure (either form works; setup_env.py writes .env with owner-only permissions)
export OPENROUTER_API_KEY='sk-or-v1-your-key-here'
python scripts/setup_env.py --api-key sk-or-v1-your-key-here # writes .env
# 3. Install LiteLLM
uv pip install litellm
# 4. Verify
python scripts/perplexity_search.py --check-setup
--check-setup は .env ではなく、実行中の環境を読み取ります。setup_env.py の実行後、set -a; source .env; set +a でファイルを読み込む(通常の source ではエクスポートされません)か、python-dotenv を使って、変数が実際にスコープ内にある状態にしてください。キーは会話に貼り付けず、ユーザー自身に設定してもらってください。セットアップ、セキュリティ、トラブルシューティングの詳細は references/openrouter_setup.md を参照してください。
基本的な使い方
python scripts/perplexity_search.py "What are the latest developments in CRISPR gene editing?"
python scripts/perplexity_search.py "Recent CAR-T therapy clinical trials" --output results.json
python scripts/perplexity_search.py "Compare mRNA and viral vector vaccines" --model sonar-pro-search
python scripts/perplexity_search.py "Quantum computing for drug discovery" --verbose
CLI にはモデル名のみ(例:sonar-pro)を指定します。スクリプトが自動的に openrouter/perplexity/ を先頭に付加します。
モデル
--model で選択するか、DEFAULT_MODEL を設定します。
| モデル | 用途 |
|---|---|
sonar-pro(デフォルト) | 一般的な調査、コストと品質のバランス |
sonar-pro-search | 最も高度なエージェント型の複数ステップ検索、包括的な比較。最も高コスト。OpenRouter 限定 |
sonar | 簡単な事実確認、コストを重視する大量のクエリ |
sonar-reasoning-pro | 明示的な段階的推論が必要なタスク |
sonar-reasoning は OpenRouter で廃止されており(2026-09-23 時点で一覧にありません)、CLI でも受け付けなくなりました。古い DEFAULT_MODEL=sonar-reasoning の設定は、明確なエラーを表示して即座に失敗します。詳細なトレードオフ、料金、コンテキストウィンドウ、およびプログラムからの利用方法については、references/model_comparison.md の sonar-deep-research を参照してください。
よいクエリを書く
具体的に指定してください(分野+期間+希望する出力)。効果的な例:
- 「2024 年に発表された B 細胞リンパ腫に対する CAR-T 療法の最新の臨床試験結果」
- 「トランスフォーマーの学習における PyTorch と TensorFlow の比較:使いやすさ、性能、エコシステム — 最近のベンチマークを含む」
- 「2 型糖尿病の成人における HbA1c に対する間欠的断食のエビデンス。RCT に注目」
質の高い情報に基づく回答を得るには、「査読済み」「clinicaltrials.gov」「FDA 承認済み」などの出典の希望を追加してください。クエリ設計のパターン、分野別テンプレート、注意点については、references/search_strategies.md を参照してください。
プログラムからのアクセス
from scripts.perplexity_search import search_with_perplexity
result = search_with_perplexity(
query="What are the latest CRISPR developments?",
model="openrouter/perplexity/sonar-pro", # full path required when calling directly
max_tokens=4000,
temperature=0.2,
)
if result["success"]:
print(result["answer"])
print(f"Tokens: {result['usage']['total_tokens']}")
else:
print(f"Error: {result['error']}")
保存された JSON(--output)には、answer、model、usage、citations が含まれます。citations は、OpenRouter の url_citation アノテーションと Perplexity の citations/search_results フィールドから取得した {url, title} の重複除去済みリストで、モデルが出典を返した場合に含まれます。jq '.answer' または jq '.citations[].url' で処理できます。Perplexity ではなく元の出典を引用し、引用する出典は開いて確認してください。回答は生成された要約であり、主張の帰属を誤る場合があります。
コスト
料金はトークン単位です(sonar-pro-search はリクエストごとの料金もかかります)。クエリあたりの概算コストは、sonar < sonar-pro < sonar-reasoning-pro < sonar-pro-search の順です。クエリに合ったモデルを選び、--max-tokens に上限を設定し、OpenRouter ダッシュボードで支出上限を設定することで、コストを管理できます。使用状況は https://openrouter.ai/activity で確認してください。正確な料金については、references/model_comparison.md と https://openrouter.ai/perplexity を参照してください。
環境変数
OPENROUTER_API_KEY(必須)DEFAULT_MODEL(デフォルトはsonar-pro)、DEFAULT_MAX_TOKENS(デフォルトは4000)、DEFAULT_TEMPERATURE(デフォルトは0.2) — CLI のデフォルト値として使用されます。対応するフラグを使って、呼び出しごとに上書きできます。
リソース
scripts/perplexity_search.py— 検索 CLI/インポート可能な関数scripts/setup_env.py— キーの設定と検証references/openrouter_setup.md— セットアップ、セキュリティ、トラブルシューティングreferences/model_comparison.md— モデルの選択と料金references/search_strategies.md— クエリの設計assets/.env.example— 環境テンプレート
AlterLab Academic Skills スイートの一部です。