关于 perplexity-search
perplexity-search 是通过 LiteLLM 和 OpenRouter 调用 Perplexity 模型的搜索技能,可获取实时网页信息及来源引用,适用于需要核验时效性事实和开展研究的场景。
主要功能
- 01实时网页搜索与来源引用
- 02支持多种 Perplexity 模型
- 03命令行查询并保存 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 搜索
概述
通过 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:最先进的 Agentic 搜索,具备多步推理能力
- sonar:基础模型,对于简单查询最具成本效益
- sonar-reasoning-pro:具备逐步分析的高级推理能力
- sonar-reasoning:基础推理能力
模型选择指南:
- 默认查询 →
sonar-pro - 复杂的多步分析 →
sonar-pro-search - 需要明确推理 →
sonar-reasoning-pro - 简单事实查询 →
sonar - 成本敏感的批量查询 →
sonar
有关详细比较、用例、定价和性能特征,请参阅 references/model_comparison.md。
编写有效的查询
具体而详细
好的示例:
- "2024 年发表的关于 CAR-T 细胞疗法治疗 B 细胞淋巴瘤的最新临床试验结果是什么?"
- "比较 mRNA 疫苗与病毒载体疫苗在 COVID-19 方面的有效性和安全性特征"
- "解释 AlphaFold3 相对于 AlphaFold2 的改进,并提供 2023-2024 年研究中的具体准确性指标"
不好的示例:
- "告诉我关于癌症治疗的信息"(过于宽泛)
- "CRISPR"(过于模糊)
- "疫苗"(缺乏具体性)
包含时间限制
Perplexity 搜索实时网络数据:
- "2024 年 Nature Medicine 上发表了哪些关于长新冠的论文?"
- "大模型效率方面的最新进展(过去 6 个月)是什么?"
- "NeurIPS 2023 上关于 AI 安全宣布了什么?"
指定领域和来源
为获得高质量结果,请提及来源偏好:
- "根据高影响力期刊上的同行评审出版物..."
- "基于 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 处理基本事实
- 使用推理模型:当需要逐步分析时
成本优化
- 选择合适的模型:让模型与查询复杂度相匹配
- 设置 token 限制:使用
--max-tokens控制成本 - 监控用量:定期查看 OpenRouter 仪表盘
- 高效批处理:尽可能合并相关的简单查询
- 缓存结果:保存并复用重复查询的结果
安全
- 保护 API 密钥:切勿提交到版本控制
- 使用环境变量:将密钥与代码分离
- 设置支出限额:在 OpenRouter 仪表盘中配置
- 监控用量:留意异常活动
- 轮换密钥:定期更换密钥
资源
内置资源
脚本:
scripts/perplexity_search.py:带有命令行界面的主搜索脚本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 Provider:https://docs.litellm.ai/docs/providers/openrouter
- GitHub:https://github.com/BerriAI/litellm
Perplexity:
依赖项
必需
# 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:默认最大 token 数(默认:4000)DEFAULT_TEMPERATURE:默认温度(默认:0.2)
总结
此 skill 提供:
- 实时网络搜索:获取超出训练数据截止时间的当前信息
- 多种模型:从高性价比的 Sonar 到高级的 Sonar Pro Search
- 简单设置:只需一个 OpenRouter API 密钥,无需单独的 Perplexity 账户
- 全面指导:关于查询设计和模型选择的详细参考文档
- 高性价比:按需付费定价,并支持用量监控
- 科学聚焦:针对研究、文献检索和技术查询进行优化
- 易于集成:可与其他科学 skill 无缝协作
开展 AI 驱动的网络搜索,以查找当前信息、最新研究以及带来源引用的有依据答案。