[!NOTE]
在当今的人工智能时代,大语言模型为开发者提供了强大的自然语言处理能力。讯飞星火和阿里百炼作为两款优秀的大语言模型,受到了广泛关注。本文将详细介绍如何使用 PHP 语言分别调用这两个模型的 API,实现与模型的交互。
一、讯飞星火调用
1. 前期准备
- 注册账号:前往讯飞星火开放平台(https://xinghuo.xfyun.cn/)注册账号,并创建应用,获取 API Key 和 API Secret。
- 了解 API 文档:仔细阅读讯飞星火的 API 文档,熟悉接口的请求参数、返回格式等信息。
2. PHP 代码示例
<?php
header("Access-Control-Allow-Origin: *");
// 允许的请求方法
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
// 允许的请求头
header("Access-Control-Allow-Headers: Content-Type");
// API 请求的 URL
$apiUrl = 'https://spark-api-open.xf-yun.com/v1/chat/completions';
// 请求头信息,将 '123456' 替换为实际的授权令牌
$headers = [
'Authorization: Bearer 123456',
'Content-Type: application/json'
];
$question = "生成一段随机话语不超过100字";
$requestData = [
"model" => "lite",//你的模型
"messages" => [
[
"role" => "user",
"content" => $question
]
],
"stream" => false
];
$jsonData = json_encode($requestData);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 执行 cURL 请求
$response = curl_exec($ch);
// 检查是否有 cURL 错误
if (curl_errno($ch)) {
echo 'Curl 错误: '. curl_error($ch);
} else {
// 获取 HTTP 响应状态码
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode >= 200 && $httpCode < 300) {
$responseData = json_decode($response, true);
if (isset($responseData['choices'][0]['message']['content'])) {
echo trim($responseData['choices'][0]['message']['content']);
} else {
echo "未能从响应中提取到有效内容。";
}
} else {
echo "请求失败,HTTP 状态码: $httpCode\n";
echo $response;
}
}
// 关闭 cURL 会话
curl_close($ch);
?>
二、阿里百炼调用
1. 前期准备
- 注册账号:访问阿里百炼开放平台(具体网址根据实际情况)注册账号,创建应用并获取 Access Key ID 和 Access Key Secret。
- 了解 API 文档:熟悉阿里百炼的 API 文档,掌握接口的使用方法。
2. PHP 代码示例
<?php
// 设置 DASHSCOPE_API_KEY
$DASHSCOPE_API_KEY = '123456';
// 从 URL 参数获取问题内容
$question = isset($_GET['question']) ? urldecode($_GET['question']) : null;
// 输入验证
if (empty($question)) {
die('请通过 URL 参数提供问题');
}
if (mb_strlen($question) > 200) {
die('问题内容过长(限制200字)');
}
// 请求配置
$url = 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions';
$headers = [
'Authorization: Bearer ' . $DASHSCOPE_API_KEY,
'Content-Type: application/json'
];
$payload = [
"model" => "deepseek-r1",
"messages" => [["role" => "user", "content" => $question]],
"temperature" => 0.7,
"max_tokens" => 512
];
// 发送请求
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30
]);
$response = curl_exec($ch);
curl_close($ch);
// 解析并输出中文内容
try {
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
if (isset($data['choices'][0]['message']['content'])) {
echo $data['choices'][0]['message']['content'];
} else {
throw new Exception('未找到有效回答内容');
}
} catch (JsonException $e) {
echo 'JSON 解析错误: ' . $e->getMessage();
} catch (Exception $e) {
echo '处理错误: ' . $e->getMessage();
}
?>
三、注意事项
- 安全问题:API Key、API Secret、Access Key ID 和 Access Key Secret 等敏感信息要妥善保管,避免泄露。
- 请求频率限制:不同的 API 有不同的请求频率限制,要注意控制请求次数,避免触发限制。
- 错误处理:在实际开发中,要对 API 的返回结果进行详细的错误处理,确保程序的稳定性。
通过以上步骤,你可以使用 PHP 语言方便地调用讯飞星火和阿里百炼的 API,实现与大语言模型的交互。希望本文对你有所帮助!
四、结束
在这个充满可能性的时代门槛,PHP 与大模型的结合不仅是技术的突破,更是一场关于未来的对话。当代码与智能相遇,我们编写的不仅是程序,更是人类对未知领域的探索勇气。愿每一次 API 调用,都成为推动文明进步的微小涟漪。
官方api:https://api.xiaolu.icu
[!CAUTION]
本文内容仅用于技术交流与学习,不构成任何商业承诺或担保。读者需自行验证代码可行性,因使用本文内容引发的系统故障、数据损失等后果,作者及平台不承担法律责任。禁止利用文中技术实施网络攻击、数据滥用等违法行为,违者需自行承担全部法律后果。文中涉及的技术方案、代码示例等知识产权归原作者所有,未经授权不得用于商业用途。
JzkMqD NEzMFjGz QVISFl Hhd jIhRRo EqYjfQJ NwK
dynaqRBm sgqyi kSjlYqv uBe cDICoy mBXZVZ ApQuewI