用途
Perplexity Search 用于通过 LiteLLM 和 OpenRouter 调用 Perplexity 模型执行 AI 驱动的联网搜索。Perplexity 提供实时、基于网页的答案并附带来源引用,适合查找当前信息、近期科学文献以及超出模型训练数据截止时间的事实。该技能通过 OpenRouter 访问全部 Perplexity 模型,只需一个 API 密钥,无需单独的 Perplexity 账号。
适用场景
资料列出的适用场景包括:搜索当前信息或近期进展(2024 年及以后);查找最新科学出版物与研究;获取基于网页来源的实时答案;用来源引用核实事实;跨多个领域进行文献检索;访问超出模型知识截止时间的信息;进行特定领域研究(生物医学、技术、临床);比较当前方法或技术。
资料同时列出不适用场景:简单计算或逻辑问题(直接处理即可);需要代码执行的任务(使用标准工具);完全处于模型训练数据范围内的问题(除非需要核实)。
主要能力
- 实时联网搜索,获取超出训练数据截止时间的信息。
- 提供多个 Perplexity 模型,可通过 --model 参数选择:sonar-pro(默认,通用搜索,成本与质量平衡)、sonar-pro-search(最先进的智能体式搜索,多步推理)、sonar(基础模型,简单查询最经济)、sonar-reasoning-pro(带逐步分析的高级推理)、sonar-reasoning(基础推理能力)。
- 支持将结果保存为 JSON、详细输出、作为模块在代码中调用。
- 附带查询设计、模型对比、OpenRouter 配置等参考文档。
使用方式
一次性设置:
- 获取 OpenRouter API 密钥:访问 https://openrouter.ai/keys,创建账号并生成 API 密钥,为账号充值(建议最低 $5)。
- 配置环境:
export OPENROUTER_API_KEY='sk-or-v1-your-key-here'
或使用设置脚本:
python scripts/setup_env.py --api-key sk-or-v1-your-key-here
- 安装依赖:
uv pip install litellm
- 验证设置:
python scripts/perplexity_search.py --check-setup
基本用法示例:
简单搜索:
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
作为模块调用:
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']}")
查询设计建议
资料建议查询要具体详细,包含时间约束,指定领域与来源,并结构化复杂查询(主题、范围、上下文、输出)。示例:"What improvements does AlphaFold3 offer over AlphaFold2 for protein structure prediction, according to research published between 2023 and 2024? Include specific accuracy metrics and benchmarks."
成本与模型选择
资料给出的大致单次查询成本: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 面板设置支出限额。
依赖与环境变量
必需依赖:uv pip install litellm。可选依赖:uv pip install python-dotenv(用于 .env 文件支持)、uv pip install jq(用于 JSON 处理,通常已预装)。
必需环境变量:OPENROUTER_API_KEY。可选环境变量:DEFAULT_MODEL(默认 sonar-pro)、DEFAULT_MAX_TOKENS(默认 4000)、DEFAULT_TEMPERATURE(默认 0.2)。
限制与注意事项
资料列出的常见问题包括:API 密钥未设置、LiteLLM 未安装、触发速率限制、额度不足,并给出相应解决办法(设置环境变量、安装依赖、等待重试或提高速率限制、在 OpenRouter 充值或开启自动充值)。安全方面建议:保护 API 密钥,不要提交到版本控制;使用环境变量;设置支出限额;监控用量;定期轮换密钥。
与其他技能的集成
资料说明该技能可与其他科学类技能配合:与 literature-review 配合查找近期论文与预印本、补充 PubMed 检索、核实引用;与 scientific-writing 配合查找近期参考文献、核实最新术语与惯例;与 hypothesis-generation 配合搜索最新研究发现、识别知识空白;与 scientific-critical-thinking 配合查找支持与反对假设的证据、定位方法学批评。
捆绑资源
脚本:scripts/perplexity_search.py(带 CLI 的主搜索脚本)、scripts/setup_env.py(环境设置与验证助手)。参考文档:references/search_strategies.md、references/model_comparison.md、references/openrouter_setup.md。资源:assets/.env.example。