perplexity-search について
perplexity-searchは、LiteLLMとOpenRouter経由でPerplexityモデルを使う検索スキルです。出典付きの最新情報を必要とする調査や事実確認に適しています。
主な機能
- 01出典付きリアルタイム検索
- 02複数のPerplexityモデルに対応
- 03CLI検索とJSON保存
- 04クエリ設計とモデル選択のガイド
活用シーン
- 01最新の科学論文や研究動向の検索
- 02ウェブの出典に基づく事実確認
- 03最新技術や手法の比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill perplexity-searchインストール後、Claude Code で/perplexity-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/.env.examplereferences/model_comparison.mdopenrouter_setup.mdsearch_strategies.mdscripts/perplexity_search.pysetup_env.py詳細
Perplexity Search
概要
LiteLLM と OpenRouter を通じて Perplexity モデルを使用し、AI を活用したウェブ検索を実行します。Perplexity は、ソースの引用付きでリアルタイムかつウェブに基づいた回答を提供するため、最新情報、最近の科学文献、モデルの学習データのカットオフを超えた事実の検索に最適です。
このスキルは、OpenRouter を通じてすべての Perplexity モデルへのアクセスを提供し、単一の API キーのみを必要とします(別途 Perplexity アカウントは不要です)。
このスキルを使用する場面
以下の場合にこのスキルを使用してください:
- 最新情報や最近の動向(2024 年以降)を検索する場合
- 最新の科学出版物や研究を探す場合
- ウェブソースに基づいたリアルタイムの回答を得る場合
- ソースの引用付きで事実を検証する場合
- 複数の分野にわたる文献検索を行う場合
- モデルの知識カットオフを超えた情報にアクセスする場合
- ドメイン固有の調査(生物医学、技術、臨床)を実行する場合
- 現在のアプローチや技術を比較する場合
以下の場合には使用しないでください:
- 単純な計算や論理問題(直接使用してください)
- コード実行が必要なタスク(標準ツールを使用してください)
- モデルの学習データの範囲内に十分収まる質問(検証が必要な場合を除く)
クイックスタート
セットアップ(初回のみ)
-
OpenRouter API キーを取得:
- https://openrouter.ai/keys にアクセスします
- アカウントを作成し、API キーを生成します
- アカウントにクレジットを追加します(最低 $5 を推奨)
-
環境を設定:
# Set API key export OPENROUTER_API_KEY='sk-or-v1-your-key-here' # Or use setup script python scripts/setup_env.py --api-key sk-or-v1-your-key-here -
依存関係をインストール:
uv pip install litellm -
セットアップを確認:
python scripts/perplexity_search.py --check-setup
詳細なセットアップ手順、トラブルシューティング、セキュリティのベストプラクティスについては、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
利用可能なモデル
--model パラメータを通じてモデルにアクセスします:
- sonar-pro(デフォルト):汎用検索、コストと品質の最適なバランス
- sonar-pro-search:マルチステップ推論を備えた最も高度なエージェント型検索
- sonar:基本モデル、シンプルなクエリに対して最もコスト効率が高い
- sonar-reasoning-pro:ステップバイステップの分析を伴う高度な推論
- sonar-reasoning:基本的な推論機能
モデル選択ガイド:
- デフォルトのクエリ →
sonar-pro - 複雑なマルチステップ分析 →
sonar-pro-search - 明示的な推論が必要 →
sonar-reasoning-pro - シンプルな事実の検索 →
sonar - コストを重視する一括クエリ →
sonar
詳細な比較、ユースケース、価格、パフォーマンス特性については、references/model_comparison.md を参照してください。
効果的なクエリの作成
具体的かつ詳細に
良い例:
- 「2024 年に発表された B 細胞リンパ腫治療における CAR-T 細胞療法の最新の臨床試験結果は何ですか?」
- 「COVID-19 に対する mRNA ワクチンとウイルスベクターワクチンの有効性と安全性プロファイルを比較してください」
- 「2023 年から 2024 年の研究における具体的な精度指標を用いて、AlphaFold3 の AlphaFold2 に対する改善点を説明してください」
悪い例:
- 「がん治療について教えてください」(範囲が広すぎる)
- 「CRISPR」(曖昧すぎる)
- 「ワクチン」(具体性に欠ける)
時間的制約を含める
Perplexity はリアルタイムのウェブデータを検索します:
- 「2024 年に Nature Medicine に掲載された long COVID に関する論文は何ですか?」
- 「大規模言語モデルの効率性における最新の動向(過去 6 か月)は何ですか?」
- 「AI の安全性に関して NeurIPS 2023 で何が発表されましたか?」
ドメインとソースを指定する
高品質な結果を得るには、ソースの優先順位に言及してください:
- 「インパクトの高いジャーナルの査読済み出版物によると…」
- 「FDA 承認済みの治療法に基づくと…」
- 「clinicaltrials.gov のような臨床試験登録機関から…」
複雑なクエリを構造化する
複雑な質問を明確な構成要素に分解します:
- トピック:主な主題
- スコープ:関心のある具体的な側面
- コンテキスト:期間、領域、制約
- 出力:希望する形式または回答の種類
例: 「2023年から2024年の間に発表された研究によると、AlphaFold3はタンパク質構造予測においてAlphaFold2よりもどのような改善を提供していますか?具体的な精度指標とベンチマークを含めてください。」
クエリ設計、ドメイン固有のパターン、高度なテクニックに関する包括的なガイダンスについては、references/search_strategies.md を参照してください。
一般的なユースケース
科学文献検索
python scripts/perplexity_search.py \
"What does recent research (2023-2024) say about the role of gut microbiome in Parkinson's disease? Focus on peer-reviewed studies and include specific bacterial species identified." \
--model sonar-pro
技術ドキュメント
python scripts/perplexity_search.py \
"How to implement real-time data streaming from Kafka to PostgreSQL using Python? Include considerations for handling backpressure and ensuring exactly-once semantics." \
--model sonar-reasoning-pro
比較分析
python scripts/perplexity_search.py \
"Compare PyTorch versus TensorFlow for implementing transformer models in terms of ease of use, performance, and ecosystem support. Include benchmarks from recent studies." \
--model sonar-pro-search
臨床研究
python scripts/perplexity_search.py \
"What is the evidence for intermittent fasting in managing type 2 diabetes in adults? Focus on randomized controlled trials and report HbA1c changes and weight loss outcomes." \
--model sonar-pro
トレンド分析
python scripts/perplexity_search.py \
"What are the key trends in single-cell RNA sequencing technology over the past 5 years? Highlight improvements in throughput, cost, and resolution, with specific examples." \
--model sonar-pro
結果の扱い
プログラムによるアクセス
perplexity_search.py をモジュールとして使用します:
from scripts.perplexity_search import search_with_perplexity
result = search_with_perplexity(
query="What are the latest CRISPR developments?",
model="openrouter/perplexity/sonar-pro",
max_tokens=4000,
temperature=0.2,
verbose=False
)
if result["success"]:
print(result["answer"])
print(f"Tokens used: {result['usage']['total_tokens']}")
else:
print(f"Error: {result['error']}")
結果の保存と処理
# Save to JSON
python scripts/perplexity_search.py "query" --output results.json
# Process with jq
cat results.json | jq '.answer'
cat results.json | jq '.usage'
バッチ処理
複数のクエリを実行するスクリプトを作成します:
#!/bin/bash
queries=(
"CRISPR developments 2024"
"mRNA vaccine technology advances"
"AlphaFold3 accuracy improvements"
)
for query in "${queries[@]}"; do
echo "Searching: $query"
python scripts/perplexity_search.py "$query" --output "results_$(echo $query | tr ' ' '_').json"
sleep 2 # Rate limiting
done
コスト管理
Perplexity モデルには異なる料金プランがあります:
クエリあたりの概算コスト:
- Sonar: $0.001-0.002(最もコスト効率が高い)
- Sonar Pro: $0.002-0.005(推奨デフォルト)
- Sonar Reasoning Pro: $0.005-0.010
- Sonar Pro Search: $0.020-0.050+(最も包括的)
コスト最適化戦略:
- 単純な事実の検索には
sonarを使用します - ほとんどのクエリでは
sonar-proをデフォルトとして使用します - 複雑な分析には
sonar-pro-searchを取っておきます --max-tokensを設定して応答長を制限します- https://openrouter.ai/activity で使用状況を監視します
- OpenRouter ダッシュボードで支出制限を設定します
トラブルシューティング
API キーが設定されていない
エラー: "OpenRouter API key not configured"
解決策:
export OPENROUTER_API_KEY='sk-or-v1-your-key-here'
# Or run setup script
python scripts/setup_env.py --api-key sk-or-v1-your-key-here
LiteLLM がインストールされていない
エラー: "LiteLLM not installed"
解決策:
uv pip install litellm
レート制限
エラー: "Rate limit exceeded"
解決策:
- 再試行する前に数秒待ちます
- https://openrouter.ai/keys でレート制限を引き上げます
- バッチ処理ではリクエスト間に遅延を追加します
クレジット不足
エラー: "Insufficient credits"
解決策:
- https://openrouter.ai/account でクレジットを追加します
- 中断を防ぐために自動チャージを有効にします
包括的なトラブルシューティングガイドについては、references/openrouter_setup.md を参照してください。
他のスキルとの統合
このスキルは他の科学スキルを補完します:
文献レビュー
literature-review スキルと併用します:
- Perplexity を使用して最近の論文やプレプリントを検索します
- PubMed 検索をリアルタイムのウェブ結果で補完します
- 引用を検証し、関連する研究を見つけます
- データベースへのインデックス登録後の最新の進展を発見します
科学ライティング
scientific-writing スキルと併用します:
- 序論や考察のための最近の参考文献を探します
- 現在の最新技術水準を検証します
- 最新の用語や慣例を確認します
- 最近の競合するアプローチを特定します
仮説生成
hypothesis-generation スキルと併用します:
- 最新の研究成果を検索します
- 現在の知識のギャップを特定します
- 最近の方法論の進歩を見つけます
- 新たな研究の方向性を発見します
クリティカルシンキング
scientific-critical-thinking スキルと併用します:
- 仮説を支持する証拠と反対する証拠を探します
- 方法論に対する批判を見つけます
- その分野における論争を特定します
- 現在の証拠で主張を検証します
ベストプラクティス
クエリ設計
- 具体的にする:領域、期間、制約を含めます
- 専門用語を使う:領域に適したキーワードやフレーズを使用します
- 情報源を指定する:希望する出版物の種類やジャーナルに言及します
- 質問を構造化する:明確な構成要素と明示的なコンテキストを設定します
- 反復する:初期の結果に基づいて洗練させます
モデル選択
- sonar-pro から始める:ほとんどのクエリに適したデフォルト
- 複雑さに応じてアップグレードする:多段階の分析には sonar-pro-search を使用します
- 単純さに応じてダウングレードする:基本的な事実には sonar を使用します
- 推論モデルを使用する:段階的な分析が必要な場合
コスト最適化
- 適切なモデルを選択する: モデルをクエリの複雑さに合わせます
- トークン制限を設定する:
--max-tokensを使用してコストを制御します - 使用状況を監視する: OpenRouter ダッシュボードを定期的に確認します
- 効率的にバッチ処理する: 可能な場合は関連する単純なクエリをまとめます
- 結果をキャッシュする: 繰り返しのクエリのために結果を保存して再利用します
セキュリティ
- API キーを保護する: バージョン管理にコミットしないでください
- 環境変数を使用する: キーをコードから分離して保持します
- 支出上限を設定する: OpenRouter ダッシュボードで構成します
- 使用状況を監視する: 予期しないアクティビティに注意してください
- キーをローテーションする: 定期的にキーを変更します
リソース
バンドルされたリソース
スクリプト:
scripts/perplexity_search.py: CLI インターフェースを備えたメイン検索スクリプトscripts/setup_env.py: 環境設定と検証のヘルパー
リファレンス:
references/search_strategies.md: 包括的なクエリ設計ガイドreferences/model_comparison.md: 詳細なモデル比較と選択ガイドreferences/openrouter_setup.md: 完全なセットアップ、トラブルシューティング、セキュリティガイド
アセット:
assets/.env.example: 環境ファイルテンプレートの例
外部リソース
OpenRouter:
- ダッシュボード: https://openrouter.ai/account
- API キー: https://openrouter.ai/keys
- Perplexity モデル: https://openrouter.ai/perplexity
- 使用状況の監視: https://openrouter.ai/activity
- ドキュメント: https://openrouter.ai/docs
LiteLLM:
- ドキュメント: https://docs.litellm.ai/
- OpenRouter プロバイダー: https://docs.litellm.ai/docs/providers/openrouter
- GitHub: https://github.com/BerriAI/litellm
Perplexity:
- 公式ドキュメント: https://docs.perplexity.ai/
依存関係
必須
# LiteLLM for API access
uv pip install litellm
オプション
# For .env file support
uv pip install python-dotenv
# For JSON processing (usually pre-installed)
uv pip install jq
環境変数
必須:
OPENROUTER_API_KEY: あなたの OpenRouter API キー
オプション:
DEFAULT_MODEL: 使用するデフォルトモデル (デフォルト: sonar-pro)DEFAULT_MAX_TOKENS: デフォルトの最大トークン数 (デフォルト: 4000)DEFAULT_TEMPERATURE: デフォルトの温度 (デフォルト: 0.2)
まとめ
このスキルは以下を提供します:
- リアルタイムのウェブ検索: トレーニングデータのカットオフを超えた最新情報にアクセスします
- 複数のモデル: コスト効率の高い Sonar から高度な Sonar Pro Search まで
- 簡単なセットアップ: 単一の OpenRouter API キーで、別途 Perplexity アカウントは不要です
- 包括的なガイダンス: クエリ設計とモデル選択のための詳細なリファレンス
- コスト効率: 使用状況の監視を備えた従量課金制
- 科学的な焦点: 研究、文献検索、技術的なクエリに最適化されています
- 簡単な統合: 他の科学的スキルとシームレスに連携します
AI を活用したウェブ検索を実行して、最新情報、最近の研究、出典引用付きの根拠ある回答を見つけます。