mcpField
P
perplexity-search

perplexity-search

github.com/davila7生产力33.0k674 次安装1 天前更新
代码仓库

关于 perplexity-search

perplexity-search 是通过 LiteLLM 和 OpenRouter 调用 Perplexity 模型的搜索技能,可获取实时网页信息及来源引用,适用于需要核验时效性事实和开展研究的场景。

主要功能

  1. 01实时网页搜索与来源引用
  2. 02支持多种 Perplexity 模型
  3. 03命令行查询并保存 JSON
  4. 04提供查询设计与模型选择指南

适用场景

  1. 01查找最新科学论文与研究进展
  2. 02核验事实并查看网页来源
  3. 03比较当前技术或方法

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill perplexity-search

安装后在 Claude Code 中输入/perplexity-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
.env.example
references/
model_comparison.md
openrouter_setup.md
search_strategies.md
scripts/
perplexity_search.py
setup_env.py

详细介绍

Perplexity 搜索

概述

通过 LiteLLM 和 OpenRouter 使用 Perplexity 模型执行 AI 驱动的网络搜索。Perplexity 提供基于网络的实时答案并附带来源引用,非常适合查找最新信息、近期科学文献以及超出模型训练数据截止时间的事实。

本技能通过 OpenRouter 提供对所有 Perplexity 模型的访问,仅需一个 API 密钥(无需单独的 Perplexity 账户)。

何时使用本技能

在以下情况下使用本技能:

  • 搜索当前信息或最新进展(2024 年及以后)
  • 查找最新科学出版物和研究
  • 获取基于网络来源的实时答案
  • 通过来源引用核实事实
  • 跨多个领域进行文献检索
  • 获取超出模型知识截止时间的信息
  • 执行特定领域的研究(生物医学、技术、临床)
  • 比较当前的方法或技术

不要用于:

  • 简单计算或逻辑问题(直接使用)
  • 需要执行代码的任务(使用标准工具)
  • 完全在模型训练数据范围内的问题(除非需要核实)

快速开始

设置(一次性)
  1. 获取 OpenRouter API 密钥:

  2. 配置环境:

    # 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
    
  3. 安装依赖:

    uv pip install litellm
    
  4. 验证设置:

    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..."
构建复杂查询

将复杂问题拆解为清晰的组成部分:

  1. 主题:主要研究对象
  2. 范围:关注的具体方面
  3. 上下文:时间范围、领域、约束条件
  4. 输出:期望的格式或答案类型

示例: “根据 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+(最全面)

成本优化策略:

  1. 使用 sonar 进行简单的事实查询
  2. 大多数查询默认使用 sonar-pro
  3. 将 sonar-pro-search 保留用于复杂分析
  4. 设置 --max-tokens 以限制响应长度
  5. 在 https://openrouter.ai/activity 监控使用情况
  6. 在 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”

解决方案:

额度不足

错误:“Insufficient credits”

解决方案:

关于全面的故障排除指南,请参阅 references/openrouter_setup.md。

与其他技能的集成

本技能可与其他科学技能互补:

文献综述

与 literature-review 技能配合使用:

  1. 使用 Perplexity 查找近期论文和预印本
  2. 用实时网络结果补充 PubMed 检索
  3. 验证引用并查找相关工作
  4. 发现数据库索引之后的最新进展
科学写作

与 scientific-writing 技能配合使用:

  1. 为引言/讨论查找近期参考文献
  2. 验证当前最新技术水平
  3. 检查最新术语和惯例
  4. 识别近期的竞争性方法
假设生成

与 hypothesis-generation 技能配合使用:

  1. 检索最新研究发现
  2. 识别当前的知识空白
  3. 查找近期的方法学进展
  4. 发现新兴的研究方向
批判性思维

与 scientific-critical-thinking 技能配合使用:

  1. 查找支持与反对假设的证据
  2. 定位方法学批评
  3. 识别该领域的争议
  4. 用当前证据验证论断

最佳实践

查询设计
  1. 要具体:包含领域、时间范围和约束条件
  2. 使用术语:采用领域适当的专业关键词和短语
  3. 指定来源:提及偏好的出版物类型或期刊
  4. 组织问题:用清晰的组成部分和明确的上下文
  5. 迭代:根据初步结果进行优化
模型选择
  1. 从 sonar-pro 开始:适用于大多数查询的良好默认选项
  2. 针对复杂性升级:使用 sonar-pro-search 进行多步分析
  3. 针对简单性降级:使用 sonar 处理基本事实
  4. 使用推理模型:当需要逐步分析时
成本优化
  1. 选择合适的模型:让模型与查询复杂度相匹配
  2. 设置 token 限制:使用 --max-tokens 控制成本
  3. 监控用量:定期查看 OpenRouter 仪表盘
  4. 高效批处理:尽可能合并相关的简单查询
  5. 缓存结果:保存并复用重复查询的结果
安全
  1. 保护 API 密钥:切勿提交到版本控制
  2. 使用环境变量:将密钥与代码分离
  3. 设置支出限额:在 OpenRouter 仪表盘中配置
  4. 监控用量:留意异常活动
  5. 轮换密钥:定期更换密钥

资源

内置资源

脚本:

  • scripts/perplexity_search.py:带有命令行界面的主搜索脚本
  • scripts/setup_env.py:环境设置与验证辅助脚本

参考文档:

  • references/search_strategies.md:全面的查询设计指南
  • references/model_comparison.md:详细的模型对比与选择指南
  • references/openrouter_setup.md:完整的设置、故障排除与安全指南

资产:

  • assets/.env.example:示例环境文件模板
外部资源

OpenRouter:

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 提供:

  1. 实时网络搜索:获取超出训练数据截止时间的当前信息
  2. 多种模型:从高性价比的 Sonar 到高级的 Sonar Pro Search
  3. 简单设置:只需一个 OpenRouter API 密钥,无需单独的 Perplexity 账户
  4. 全面指导:关于查询设计和模型选择的详细参考文档
  5. 高性价比:按需付费定价,并支持用量监控
  6. 科学聚焦:针对研究、文献检索和技术查询进行优化
  7. 易于集成:可与其他科学 skill 无缝协作

开展 AI 驱动的网络搜索,以查找当前信息、最新研究以及带来源引用的有依据答案。

评论

支持 Markdown