perplexity ai api调用需先申请密钥并配置环境变量,再通过post请求发送含model和messages的json数据到https://api.perplexity.ai/chat/completions,正确设置authorization和content-type头,最后处理200成功响应或401/429/500等错误码。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在应用程序中集成Perplexity AI的自然语言处理能力,但尚未成功发起API请求,则可能是由于认证方式、请求格式或端点配置不正确。以下是调用Perplexity AI API的具体步骤:
一、获取并配置API密钥
Perplexity AI目前未向公众开放通用API服务,其官方API仅对部分合作开发者或通过特定申请流程获得授权的用户开放。需先访问Perplexity开发者门户提交申请,并在审核通过后获取专属API密钥。该密钥用于身份验证,必须在每次请求的HTTP头部中携带。
1、访问 https://www.perplexity.ai/api 并登录您的企业或开发者账户。
2、进入“API Keys”页面,点击“Create New Key”,填写应用名称与用途说明。
3、复制生成的密钥字符串,切勿在前端代码或公开仓库中硬编码该密钥。
4、将密钥保存至环境变量,例如设置为 PERPLEXITY_API_KEY。
二、构造标准HTTP请求
Perplexity AI API采用RESTful设计,当前主要支持POST方法向指定端点发送JSON格式的查询请求。请求必须包含正确的Content-Type头和授权头,且payload需符合其定义的schema结构,否则将返回400或401错误。
1、设置请求URL为 https://api.perplexity.ai/chat/completions。
2、在请求头中添加 Authorization: Bearer
3、构建JSON body,至少包含 model(如"pplx-7b-online")、messages(含role和content的数组)字段。
4、使用curl、Python requests或Node.js fetch等工具发送请求,确保网络可访问该域名且未被防火墙拦截。
三、使用Python调用示例
Python是调用Perplexity AI API最常用的编程语言之一,借助requests库可快速完成请求封装。该方式适用于脚本测试、后端服务集成等场景,要求已安装requests库并配置好环境变量。
1、在终端执行 pip install requests 安装依赖。
2、创建Python文件,导入os和requests模块。
3、从环境变量读取密钥:api_key = os.getenv("PERPLEXITY_API_KEY")。
使用Perplexity API进行网络搜索的AI助手。当用户需要最新信息并附有来源引用、时事事实查询,或研究类答案时使用。当用户提及Perplexity或需要带有参考文献的最新信息时,默认使用此技能。
4、构建payload字典,其中messages为列表,首项role设为"user",content设为实际提问文本。
5、调用requests.post(),传入url、headers、json参数,接收响应并打印response.json()。
四、使用cURL命令行调用
cURL适合快速验证API连通性与响应格式,无需编写完整程序,常用于调试阶段。该方式直接暴露密钥,仅限本地安全环境使用,禁止在共享终端或日志中保留完整命令。
1、打开终端,输入以下命令(将YOUR_API_KEY替换为实际密钥):
curl -X POST https://api.perplexity.ai/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "model": "pplx-7b-online", "messages": [{ "role": "user", "content": "解释量子纠缠" }] }'
2、按回车执行,检查返回的JSON是否包含choices字段及message.content内容。
3、若返回"invalid_api_key",确认密钥是否复制完整且无空格;若返回"model_not_found",核对model名称是否拼写正确。
五、处理响应与错误码
Perplexity AI API返回标准HTTP状态码,需在客户端显式判断并区分处理。成功响应体为JSON格式,含id、object、created、choices等字段;失败响应则携带error对象,包含type、message等调试信息。
1、检查HTTP状态码是否为200,非200时不应尝试解析响应体。
2、当状态码为401时,立即停止重试并提示API密钥无效或过期。
3、当状态码为429时,表示请求频率超限,需依据响应头中的Retry-After字段延迟重发。
4、当状态码为500或503时,表明服务端临时不可用,应记录错误并等待后续重试。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!









