用途:围绕 Perplexity Sonar API 构建事件驱动与异步架构。Perplexity 没有 webhook,所有交互都是请求/响应,事件模式需自行用流式 SSE、任务队列和 cron 触发实现。
主要能力:
- 流式搜索(SSE):服务端以 text/event-stream 返回,逐块推送文本,引用(citations)在最后一块到达,客户端用 fetch + ReadableStream 消费。
- 批量研究流水线:用 BullMQ 队列提交查询,Worker 调用 API 并通过 callbackUrl 回传结果,事件形如 perplexity.search.completed,可配置重试与指数退避。
- 定时新闻监控:由 cron 每 6 小时运行,使用 search_recency_filter: "day" 获取近 24 小时动态,仅在引用非空且回答足够长时向 webhook 推送 perplexity.monitor.update。
- 引用流水线:对返回的 citations 做来源验证与链接校验。
使用方式:需安装 openai 包、设置 PERPLEXITY_API_KEY,批量模式需队列系统(BullMQ、SQS),监控模式需 cron 调度器。API 通过 baseURL https://api.perplexity.ai 调用,模型如 sonar、sonar-pro。
限制与注意:需控制并发与速率(示例用 concurrency 3、limiter 40 RPM 作为安全余量);流式可能因复杂搜索停滞,可设每块超时;批量出现 429 时降低并发;监控无告警可能因主题过窄,可放宽主题或时间范围;回调失败需指数退避重试。部署配置参见 perplexity-deploy-integration。