模型与多模态实用指南2026年10月26日Cxj

Perplexity AI API:访问、定价、集成与生产指南

一份基于来源的指南,帮助您选择合适的 Perplexity API 接口、正确集成、预估成本,并在生产环境中安全运行。

Perplexity AI API:访问、定价、集成与生产指南

Perplexity AI API:访问、定价、集成与生产指南

最后一次根据 Perplexity 文档验证:2026 年 10 月 24 日。

Perplexity AI API 不再是一个没有区分的“搜索聊天 API”。它现在为基于 Web 的智能体响应、开放权重模型路由、原始搜索、嵌入和类型化决策提供了不同的接口。请在编写代码之前选择与任务匹配的接口:这将决定端点、SDK 方法、计费单位、速率限制,以及你在生产环境中需要记录的内容。

对于大多数新的研究或助手功能,请从 Agent API 开始。它遵循 OpenAI Responses 格式,可以使用 Web 搜索,并返回带有来源的结构化输出。当你现有的 OpenAI Chat Completions 代码需要访问其开放权重模型目录时,请使用 Orchestrator API。当你需要不含 LLM 答案的排序结果时,请使用 Search。

简要答案:应使用哪个 Perplexity API?

需求 使用 你将获得的内容 集成形式
带有来源、工具或多步骤工作流的研究型答案 Agent API 结构化 Responses 输出,包括可识别来源的结果项 POST /v1/agent 或可接受的 /v1/responses 别名
通过 OpenAI Chat Completions 风格客户端访问开放权重模型 Orchestrator API Chat Completions 风格的响应 POST /orchestrator/v1/chat/completions
将由你自己的管道处理的排序 Web 结果 Search API 原始搜索结果 POST /search
用于语义搜索、RAG 或分类的向量 Embeddings API 嵌入 Perplexity 嵌入端点/SDK
经校准的是/否、多项选择或量规决策 Decisions API 类型化答案加概率 Decisions 端点/SDK

这一区分是最重要的 Perplexity AI API 设计选择。Perplexity 当前的概述将 Agent API 描述为兼容 OpenAI Responses、基于 Web 的 API;其 Orchestrator API 则是面向托管开放权重模型的独立兼容接口。阅读 Perplexity 的概述。

获取 Perplexity AI API 访问权限

  1. 在 Perplexity API Console 中创建账户。
  2. 在 API Keys 页面生成密钥。
  3. 仅将其存储在服务器或部署密钥管理器中。
  4. 在运行时环境中设置 PERPLEXITY_API_KEY,而不是在浏览器代码、git、示例或日志中设置。
  5. 在发送生产流量前添加计费。Perplexity 记录了无需订阅的按量付费 API 计费方式;上线前请查看实时定价页面,因为模型和工具费率可能会变化。

在 macOS 或 Linux 上,设置密钥时不要打印它:

export PERPLEXITY_API_KEY="replace-in-your-secret-manager"
test -n "$PERPLEXITY_API_KEY" && echo "PERPLEXITY_API_KEY is set"

最后一条命令会特意确认密钥是否存在,而不暴露其值。Perplexity 明确建议不要在终端输出中打印密钥,甚至不要打印密钥片段。对于应用程序的其余部分,也应遵循同一规则:对 Authorization 标头进行脱敏、轮换已泄露的密钥,并为每个环境分配独立凭据。在添加客户流量前,请将此做法与安全的 API 密钥管理工作流配合使用。

使用 OpenAI SDK 集成 Agent API

当你的产品需要基于 Web 的答案、引用、工具使用,或可跨轮次继续的响应时,Agent API 是合适的 Perplexity AI API 接口。Perplexity 将 OpenAI SDK 配置记录为 base_url="https://api.perplexity.ai/v1",并使用 client.responses.create()。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PERPLEXITY_API_KEY"],
    base_url="https://api.perplexity.ai/v1",
)

response = client.responses.create(
    model="perplexity/sonar",
    input="What changed in the last 30 days for this topic? Cite primary sources.",
    tools=[{"type": "web_search"}],
    max_output_tokens=600,
)

print(response.output_text)

规范端点是 POST /v1/agent;OpenAI SDK 会发送 POST /v1/responses,Perplexity 将其作为别名接受。这在 Responses 层兼容,并不承诺每个 Chat Completions 选项都能干净地映射。Perplexity 的 OpenAI 兼容性指南是受支持请求和响应字段的权威来源。

这里有两个重要的生产细节:

  • Web 搜索需要主动启用。仅包含 model 和 input 的请求会使用模型知识,且不返回引用;当时效性和来源很重要时,请使用 effort 级别或 web_search 工具。
  • 在应用程序边界中保留结构化的 output,而不只是 output_text。引用、工具活动、状态、用量和响应 ID 都是运营数据,而不是 UI 的装饰。

在将模型标识符硬编码之前,请在部署工作流中查询 GET /v1/models,或查看当前的 Agent API 模型目录。Perplexity 以与 OpenAI 兼容的格式记录了该端点,因此它适用于允许列表和发布检查。

当您需要 Chat Completions 兼容性时,使用 Orchestrator API

Perplexity AI API 针对另一项任务提供了第二条兼容 OpenAI 的路径。Orchestrator API 使用 Chat Completions 格式,并采用不同的基础 URL:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PERPLEXITY_API_KEY"],
    base_url="https://api.perplexity.ai/orchestrator/v1",
)

completion = client.chat.completions.create(
    model=os.environ["PPLX_ORCHESTRATOR_MODEL"],
    max_tokens=500,
    messages=[
        {"role": "user", "content": "Summarize these notes in five bullets."}
    ],
)

print(completion.choices[0].message.content)

请使用环境变量存储模型 ID,并在 CI 或发布检查中验证它。目录可用性、别名和价格表的变化频率,高于您的应用代码应有的变化频率。需要避免的关键错误是将 Agent API 和 Orchestrator API 视为可以互换:

  • Agent API:https://api.perplexity.ai/v1 + responses.create()。
  • Orchestrator API:https://api.perplexity.ai/orchestrator/v1 + chat.completions.create()。

如果您的目标是获得带引用的最新答案,不要仅仅因为该客户端很熟悉就切换到 Chat Completions。如果您的目标是针对托管开放权重目录进行可直接替换的 OpenAI Chat Completions 迁移,请不要将其指向 Agent 基础 URL。Perplexity 快速入门展示了这两种模式。

Perplexity AI API 定价:计算整个请求

为 Perplexity AI API 制定预算的实用方法,是将令牌费用与工具或请求费用分开。确切费率表是实时且因模型而异的,因此应将定价页面作为部署输入,而不是每季度复制一次到幻灯片中的数字。

服务面 计费模型 生产环境影响
Orchestrator API 按模型计收输入、输出和缓存读取令牌费率;推理令牌按输出费率计费;无按请求收费 根据实测的输入、输出和缓存令牌进行估算。
Agent API 模型 按所选提供商/模型进行透明的基于令牌的定价 为每个用户可见请求记录返回的用量和所选模型。
Agent web_search 标准:$0.0025/次调用;快速搜索:$0.001/次调用 应有意识地使用 Web 访问;它是一项单独的成本。
Agent fetch_url $0.0005/次调用 限制代理循环中的 URL 获取次数。
Agent 沙盒 $0.03/会话,另加 SDK 搜索查询费用 将沙盒会话视为独立资源。
Search API 每 1,000 个成功的标准请求 $5.00;每 1,000 个快速搜索请求 $1.00 一个最多包含五个查询的请求,计为一个成功请求计费单位。

上述费率已于 2026 年 10 月 24 日核查。在设定利润率、客户配额或预算警报之前,应再次查看官方定价页面和 Agent API 模型目录。

一个有用的规划公式是:

request_cost =
  (input_tokens / 1,000,000 × input_rate) +
  (output_tokens / 1,000,000 × output_rate) +
  (cache_read_tokens / 1,000,000 × cache_read_rate) +
  tool_invocations × tool_rate +
  search_requests × search_request_rate

不要仅根据输出令牌估算经过研究的答案。Agent 工作流可能使用输入上下文、输出/推理令牌和工具调用。请将每个维度与您的租户 ID、功能名称、请求的模型、最终模型及响应 ID 一同存储。同一事件模型使AI 模型价格比较比仅比较目录价格更有意义。

构建可用于生产环境的 Perplexity AI API 工作流

1. 将 API 服务面作为明确的产品决策

为每个服务面定义一个小型适配器,例如 perplexity_agent、perplexity_search 和 perplexity_orchestrator。在决定如何处理引用、搜索结果、用量和工具事件之前,不要将它们不同的响应类型隐藏在通用的 chat() 函数之后。

对于面向客户的研究答案,您的适配器至少应返回:

answer_text, citations, response_id, status, requested_model,
served_model, input_tokens, output_tokens, tool_calls, cost, latency_ms

对于原始 Search,请将结果与任何后续综合内容分开返回。这样既能保留来源追溯信息,也能让您在不悄然更改搜索提供商的情况下更换写作模型。

2. 将引用视为必须保留的数据

当您的 Perplexity AI API 请求使用网页搜索时,请在其所支持的主张旁展示引用来源。保存返回的来源 URL、提供时的标题,以及用于生成答案的响应 ID。对于研究功能、支持代理或内部决策工作流而言,只有友好的回答而没有可检查的来源是不够的。

请在上线前确定您的策略:

  • 对于事实性回答,您是否要求至少有一个一手来源?
  • 如果没有任何引文支持某项陈述,您是否会将其移除?
  • 用户能否在根据答案采取行动前打开被引用的 URL?
  • 您会保留来源元数据和响应记录多长时间?

3. 为滚动速率窗口做好预算,而不是只看单一的“每分钟请求数”

Perplexity 的 Agent API 文档说明,整个组织范围内存在一个请求限额,由 Agent 调用、轮询、取消/恢复操作和文件下载共同使用。文档还说明了按模型划分的令牌限额,这些限额采用滚动的分钟和小时窗口。轮询并非免费:在较低层级中,每秒轮询一次异步请求可能会耗尽全部请求额度。

对于 429 响应,请遵守 Retry-After。对于与容量相关的 overloaded 错误,请采用带抖动的指数退避,并且仅当产品能够安全地接受不同模型时,才使用已文档化的备用列表。不要将身份验证、验证或配额配置错误当作暂时性错误来重试。有关当前阈值和响应语义,请参阅 Perplexity 的速率限制和使用层级指南。

有界重试策略的伪代码:

for attempt in range(3):
    try:
        return call_perplexity()
    except RateLimitError as error:
        wait_seconds = retry_after_or_jittered_backoff(error, attempt)
        sleep(wait_seconds)
    except TransientCapacityError:
        sleep(jittered_backoff(attempt))

raise ServiceTemporarilyUnavailable()

保持较小的重试次数,使用端到端截止时间,并让调用方的备用状态可见。将缓慢的研究请求变成 90 秒加载转圈的重试,并不等于可靠性。

4. 记录足够的信息,以便同时调试成本、质量和时效性

跟踪请求 ID、端点系列、模型、推理强度级别、工具列表、首个令牌时间、完成时间、令牌维度、工具调用次数、HTTP 状态、重试次数以及安全的错误分类。对于带引用的响应,跟踪引用数量和来源域名。对于 Search,跟踪查询次数和结果数量。

这能为您提供证据,以回答如下问题:“延迟是否因为我们启用了搜索而上升?”、“哪个租户在沙盒会话上花费?”以及“备用方案是否提高了可用性却降低了引用覆盖率?” 如需更通用的架构,请参阅AI API 网关指南和LLM 速率限制指南。

5. 如果您有遗留代码,请规划 Sonar 迁移

Perplexity 当前的迁移指南指出,Sonar Chat Completions 支持已于 2026 年 9 月 27 日结束。它建议新项目使用 Agent API;同步和流式遗留请求正逐步被重新构建,而异步 Sonar 请求已不再受支持。如果您仍在调用 Sonar 端点,请现在测试 Agent API 适配器,而不要等到生产环境中发现异步中断。阅读迁移指南。

直接使用 Perplexity API,还是使用独立的多模型网关?

当功能依赖 Perplexity 特有的 Agent、Search、引用、推理强度级别或 API 行为时,请使用直接的 Perplexity AI API 集成。这样可以保持生产契约清晰。

仅针对该网关当前列为受支持的模型和端点使用独立的多模型网关。例如,Flatkey 为其受支持目录记录了一个与 OpenAI 兼容的基础 URL:https://router.flatkey.ai/v1,并提供请求级使用情况仪表板。在假定某个提供商或模型可用之前,应实时查看其公开模型目录。从 Flatkey API 快速入门开始。

对于两者都需要的团队,请使用两个明确的客户端:

需求 推荐的客户端边界
Perplexity 基于网络的研究和引用 直接使用 Perplexity Agent/Search 客户端
通过一个兼容的基础 URL 和集中的使用控制来访问受支持的非 Perplexity 模型 Flatkey 客户端
产品在一个工作流中同时需要两者 具有类型化适配器、独立模型允许列表和通用可观测性事件架构的应用层路由器

除非其当前文档明确支持该路由,否则不要通过另一项服务路由直接的 Perplexity 端点。重点不是强制让每个调用都经过同一层,而是保留您的功能实际依赖的能力和计费行为。

生产上线检查清单

  • [ ] 每项功能都经过有意选择,使用 Agent、Orchestrator、Search、Embeddings 或 Decisions。
  • [ ] API 密钥位于服务器端,按环境划分作用域,并且不出现在客户端包和日志中。
  • [ ] Agent 基础 URL(/v1)和 Orchestrator 基础 URL(/orchestrator/v1)没有混淆。
  • [ ] 在发布检查中验证模型 ID 和实时价格卡。
  • [ ] 仅在引用的新鲜度有用时,才明确启用 Web 搜索。
  • [ ] 带引用的响应会保留来源元数据和响应 ID。
  • [ ] 成本事件包含 token 维度以及工具或搜索调用次数。
  • [ ] 429 遵循 Retry-After;暂时性容量故障使用带抖动的有界指数退避。
  • [ ] 轮询采用退避,或替换为流式传输/重连行为。
  • [ ] 分阶段测试覆盖来源质量、延迟、成本、重试行为和用户可见的回退方案。

Perplexity AI API 常见问题

Perplexity AI API 与 OpenAI SDK 兼容吗?

是的,但请选择匹配的 API 形式。Agent API 在 https://api.perplexity.ai/v1 使用 OpenAI Responses 格式;Orchestrator API 在 https://api.perplexity.ai/orchestrator/v1 使用 Chat Completions。

每个 Agent API 请求都会搜索 Web 并包含引用吗?

不会。Perplexity 将 Web 搜索记录为选择启用的功能。当您需要基于 Web 的输出时,请添加 effort 级别或 web_search 工具;保留结构化输出,以便您的应用程序能够呈现和审计引用。

Perplexity AI API 的费用是多少?

这取决于所选的 API 接口、模型、token 使用量、缓存读取、推理 token 和工具。请使用实时官方费率卡,并计量实际请求使用量。启用搜索的 agent 请求同时包含模型 token 和工具成本组成部分。

发生速率限制错误后该怎么做?

遵循 Retry-After,控制新请求的发送节奏,并使用带抖动的有界指数退避。不要激进地轮询;Agent API 轮询会计入组织的共享请求限制。

下一步

从一个范围狭窄的生产用例开始:带引用的研究回答、原始搜索功能,或兼容 Chat Completions 的模型调用。在扩展流量之前,先为其添加监控。如果您的应用程序其余部分还需要通过一个兼容 OpenAI 的客户端访问受支持的模型,请探索 Flatkey 的模型目录,并明确其客户端边界。