用途:通过 LiteLLM 和 OpenRouter 调用 Perplexity Sonar 模型进行联网搜索,获得实时、有来源引用的答案,适合当前动态、最新出版物、引用支撑的回答、核实主张,或超出模型训练截止时间的信息。算术、逻辑、代码执行或训练数据内的事实应直接回答,不必使用。
主要能力:支持 sonar-pro(默认,通用研究)、sonar-pro-search(最先进的多步智能体搜索,成本最高,OpenRouter 独有)、sonar(简单事实查询、成本敏感批量查询)、sonar-reasoning-pro(需显式逐步推理)。sonar-reasoning 已在 OpenRouter 退役,CLI 不再接受。
使用方式:先在 https://openrouter.ai/keys 获取密钥并充值,配置 OPENROUTER_API_KEY,安装 uv pip install litellm,再用 python scripts/perplexity_search.py --check-setup 验证。基本调用如 python scripts/perplexity_search.py "查询内容",可用 --output 保存 JSON、--model 指定模型、--verbose 输出详情。CLI 接受裸模型名,脚本自动加 openrouter/perplexity/ 前缀;直接调用函数时需写完整路径。
输出与限制:保存的 JSON 含 answer、model、usage 和去重后的 citations(url、title)。引用应指向底层来源而非 Perplexity,引用前应打开来源核对,因为答案是生成式摘要,可能错误归因。计费按 token,sonar-pro-search 另有每请求费用,可通过匹配模型、限制 --max-tokens 和在 OpenRouter 设置消费上限控制成本。环境变量包括 OPENROUTER_API_KEY、DEFAULT_MODEL、DEFAULT_MAX_TOKENS、DEFAULT_TEMPERATURE。其他搜索后端场景可改用 alterlab-research-lookup、alterlab-parallel-web、alterlab-bgpt-search、alterlab-pubmed。