Perplexity自研Rust检索引擎Photon上线:p99延迟从800ms降至65ms,驱动Fast Search高速搜索

工具4周前发布 小马良
54 0

Perplexity正式发布基于Rust语言从零编写的自研检索排名引擎Photon,替代此前分叉维护的开源检索引擎,目前已经承载全站全部生产检索流量,同时为Search API新增Fast Search高速搜索模式提供底层支撑。

  • 官方文档:https://docs.perplexity.ai/docs/search/fast-search

Photon不开源,仅提供托管API,无法本地自托管。调用方式在POST /search接口传入search_type: "fast",定价为每1000次请求1美元。

Perplexity自研Rust检索引擎Photon上线:p99延迟从800ms降至65ms,驱动Fast Search高速搜索

替换旧引擎的核心痛点

原有检索引擎随着索引规模扩大,遇到三大瓶颈:

  1. 尾部延迟高:生产环境p99接近800ms,数据集超出内存容量,无法使用mlock,冷读取引发大量缺页中断,查询卡顿;
  2. 索引合并尖峰:磁盘索引融合阶段,10~15分钟内p99延迟冲高至1.2秒;
  3. 部署恢复缓慢:新增集群部署同步耗时超一周,故障恢复还会增加部分不完整响应。
    团队评估后认为,从头自研引擎相比维护分叉版本,成本更低、实现更简单。

Photon核心技术设计

请求经负载均衡分发至Photon broker,broker分发请求至分片集群并监控超时,各分片独立完成检索、初排、二排,最后由broker合并候选文档并提取关键字段。

  • 自适应倒排表:短列表单页内联存储;长列表按文档ID范围分块,稀疏块使用galloping搜索,密集块用位图实现比特级成员查找;
  • 预算化遍历:类WAND算法,划分驱动列表与探测列表,先估算候选最高分,仅候选达标后才读取精确词频;
  • Docblob紧凑文档记录:使用Elias-Fano编码,仅解码匹配词条,单次排名每个文档仅需一次查找;
  • 批量异步读取:借助io_uring批量发起磁盘读取,无锁读取器,缓存淘汰采用CLOCK算法;
  • 索引构建与服务分离:专用节点构建版本化分片索引,控制器逐组轮换服务节点,用回放搜索日志预热缓存,完整网页索引仅需数小时即可构建完成。

上线实测效果

  • Photon检索阶段p99延迟从800ms大幅下降至65ms;
  • 服务节点数量相比旧集群减少约20%;
  • 单文档存储数据量提升2.5倍,用于提升排序相关性;
  • 同等数据集如果用mlock锁入内存,所需常驻内存将是Photon当前的4.6倍;
  • 索引版本切换不再产生延迟尖峰。

Fast Search:面向AI智能体的低成本高速搜索

Fast Search搭配轻量化排序策略,专门适配智能体工作流。在6大检索基准、合计3554项任务测试中:Fast Search得分64.3%,预估模型+搜索总成本59.73美元;默认模式得分64.0%,成本187.6美元,成本降低约68%。

代价是长尾检索相关性小幅下降:DCG相关性由2.45降至2.21,答案可用度下降2.9个百分点。

推荐使用策略:日常智能体循环选用Fast Search;复杂、模糊的疑难查询继续使用默认检索模式。

API调用示例

curl -X POST '[https://api.perplexity.ai/search](https://api.perplexity.ai/search)' \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"query": "latest stable Rust release", "search_type": "fast", "max_results": 5}'

Python SDK 0.43.4/0.43.5版本,通过extra_body={"search_type": "fast"}传入参数。

竞品横向对比

项目Perplexity Fast SearchExa InstantParallel Search TurboTavily ultra-fast
参数标识search_type: "fast"type: "instant"mode: "turbo"search_depth: "ultra-fast"
厂商公布延迟p50=160ms,p95=230ms典型约250ms,首发低于200ms约200ms未公开
每千次请求标价$1最多10条结果$4$1按需8美元/千积分
结果数量1~20条基础包10条,额外结果单独计费未指定未指定
局限相关性弱于默认模式额外结果单独计费仅支持英、日语检索相关性较低
发布时间2026-09-242026-02-122026-07-132026-01-05

备注:各家延迟指标测试环境不统一,数据无法直接对等对比。

核心要点总结

  1. Photon为Rust自研检索引擎,现已承载Perplexity全部线上检索流量;
  2. 检索环节p99延迟从800ms降至65ms,硬件资源开销更低;
  3. Fast Search面向AI智能体,大幅降低搜索调用成本,牺牲少量长尾相关性换取速度与低价;
  4. Photon仅托管API可用,不开放源码,不能本地部署。
© 版权声明

相关文章