
通过PHP接入DeepSeek API的两种方法
随着人工智能的快速发展,DeepSeek凭借其卓越的性能和极具性价比的API服务,成为了众多开发者的首选。在Web开发中,PHP依然占据着重要地位。本文将详细介绍通过PHP接入DeepSeek API的两种常用方法,帮助开发者快速将大语言模型能力集成到自己的项目中。
方法一:使用原生cURL请求
PHP内置的cURL扩展是处理HTTP请求最直接的方式。这种方法无需安装任何第三方依赖,适合对项目体积有严格要求或环境受限的场景。DeepSeek的API接口与OpenAI格式高度兼容,我们可以直接构造标准的JSON请求体进行调用。
以下是通过cURL调用DeepSeek聊天接口的完整示例:
<?php
$apiKey = 'YOUR_DEEPSEEK_API_KEY';
$url = 'https://api.deepseek.com/v1/chat/completions';
$data = [
'model' => 'deepseek-chat',
'messages' => [
['role' => 'system', 'content' => 'You are a helpful assistant.'],
['role' => 'user', 'content' => '解释一下PHP中的闭包'],
],
'stream' => false
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Request Error:' . curl_error($ch);
} else {
$result = json_decode($response, true);
echo $result['choices'][0]['message']['content'] ?? 'No response';
}
curl_close($ch);
?>使用cURL的优点在于零依赖,高度可控;缺点是代码相对冗长,且需要手动处理错误和JSON解析。在测试接口连通性时,你可以将请求地址替换为你的测试服务器,例如:www.ipipp.com,以便抓包分析请求数据。
方法二:使用OpenAI兼容的PHP SDK
由于DeepSeek遵循OpenAI的API标准,我们可以直接使用生态成熟的PHP SDK,如openai-php/client。这种方法代码更加简洁优雅,适合现代PHP项目(如Laravel、Symfony等),且便于后续维护。
首先,通过Composer安装依赖:
composer require openai-php/client
安装完成后,只需配置Base URI指向DeepSeek的接口地址即可,以下为具体调用代码:
<?php require 'vendor/autoload.php'; use OpenAI; $apiKey = 'YOUR_DEEPSEEK_API_KEY'; $baseUrl = 'https://api.deepseek.com/v1'; $client = OpenAI::factory() ->withApiKey($apiKey) ->withBaseUri($baseUrl) ->make(); $response = $client->chat()->create([ 'model' => 'deepseek-chat', 'messages' => [ ['role' => 'system', 'content' => 'You are a helpful assistant.'], ['role' => 'user', 'content' => '解释一下PHP中的闭包'], ], ]); echo $response->choices[0]->message->content; ?>
使用SDK的优势显而易见:代码可读性强,自动处理序列化与反序列化,且内置了完善的异常处理机制。如果你的项目已经使用了Composer管理依赖,强烈推荐采用此方式。
总结
以上两种方式均能有效接入DeepSeek API。如果你开发的是轻量级脚本或受限于服务器环境,推荐使用原生cURL;如果你正在构建现代PHP应用,使用OpenAI兼容SDK将大大提升开发效率。根据项目实际情况选择合适的方式,即可顺利接入强大的DeepSeek大模型能力。