需先获取Perplexity API密钥,再构造含授权头和JSON消息体的POST请求,可用cURL快速验证,Python中通过requests库调用,最后解析response.json()中choices[0].message.content获取答案。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您希望在应用程序中集成Perplexity的AI能力,需要通过其提供的API接口发送结构化请求并解析响应。以下是调用Perplexity API的具体操作步骤:
一、获取API密钥
Perplexity API访问需凭有效密钥认证,该密钥用于标识调用方身份并控制配额使用。您必须登录Perplexity开发者平台完成注册与密钥申请流程,密钥仅在首次生成时完整显示。
1、访问 https://www.perplexity.ai/api 并使用邮箱注册或登录已有账户。
2、进入 Dashboard 页面,点击左侧导航栏中的 API Keys 选项。
3、点击 Create New Key 按钮,在弹出框中输入密钥名称(如 my-app-prod)。
4、点击确认后,页面将显示一串以 pplx- 开头的32位密钥字符串,请立即复制并安全保存,关闭页面后无法再次查看明文。
二、构造HTTP请求
Perplexity API当前仅支持 HTTPS POST 请求,请求体为 JSON 格式,必须包含授权头和符合规范的消息数组。请求地址为官方指定的端点,不可替换为其他URL。
1、设置请求目标URL为 https://api.perplexity.ai/chat/completions。
2、在请求头(Headers)中添加 Authorization: Bearer <your-api-key>,其中 <your-api-key> 替换为您上一步获取的真实密钥。
3、在请求头中添加 Content-Type: application/json。
4、在请求体(Body)中提交标准JSON对象,至少包含 model 字段(如 pplx-7b-online 或 pplx-70b-online)与 messages 数组,数组内首项角色为 user,内容为纯文本提问。
三、使用cURL快速验证
cURL 是最轻量的命令行工具,适合初次调试API连通性与响应格式。无需额外依赖即可验证密钥有效性及基础参数组合是否正确。
1、打开终端或命令提示符窗口。
2、粘贴并执行以下命令(将 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": "你好,请简单介绍你自己"}] }'
四、在Python中调用API
Python可通过 requests 库实现稳定、可扩展的API集成,适用于Web后端、脚本任务或数据处理流水线。需确保已安装 requests 包且版本不低于2.28.0。
1、执行 pip install requests 安装依赖库。
2、新建 Python 文件,输入以下代码:
import requests
api_key = "YOUR_API_KEY"
url = "https://api.perplexity.ai/chat/completions"
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
data = {"model": "pplx-7b-online", "messages": [{"role": "user", "content": "解释量子纠缠的基本概念"}]}
response = requests.post(url, headers=headers, json=data)
print(response.json())
五、处理响应结果
成功响应为标准JSON对象,主体内容位于 choices[0].message.content 路径下,该字段为模型生成的纯文本答案。错误响应会返回非200状态码及带 error 字段的JSON体。
1、检查HTTP状态码是否等于 200,否则跳转至错误处理分支。
2、若状态码为200,使用 response.json().get("choices", [{}])[0].get("message", {}).get("content", "") 提取回答文本。
3、若响应中存在 error 字段,读取其 message 子字段以获知具体失败原因,常见包括 invalid_api_key、rate_limit_exceeded 或 model_not_found。










