php调用deepseek 接口示例

news/2026/1/24 15:13:49/文章来源:https://www.cnblogs.com/wjs2019/p/19526523

 

<?php
class DeepSeekClient {private $apiKey;private $apiUrl = 'https://api.deepseek.com/chat/completions';private $model = 'deepseek-chat';public function __construct($apiKey) {$this->apiKey = $apiKey;}/*** 发送普通请求*/public function chat($messages, $options = []) {$defaultOptions = ['max_tokens' => 1000,'temperature' => 0.7,'stream' => false];$options = array_merge($defaultOptions, $options);$data = ['model' => $this->model,'messages' => $messages] + $options;$ch = curl_init($this->apiUrl);curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true,CURLOPT_POST => true,CURLOPT_POSTFIELDS => json_encode($data),CURLOPT_HTTPHEADER => ['Content-Type: application/json','Authorization: Bearer ' . $this->apiKey,'Accept: application/json'],CURLOPT_TIMEOUT => 60,CURLOPT_SSL_VERIFYPEER => false, // 禁用 SSL 验证CURLOPT_SSL_VERIFYHOST => 0,     // 禁用主机名验证
        ]);$response = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if (curl_errno($ch)) {throw new Exception('cURL 错误: ' . curl_error($ch));}curl_close($ch);if ($httpCode != 200) {throw new Exception('API 请求失败,HTTP 代码: ' . $httpCode . ' 响应: ' . $response);}return json_decode($response, true);}/*** 流式聊天*/public function streamChat($messages, $callback, $options = []) {$defaultOptions = ['max_tokens' => 1000,'temperature' => 0.7,'stream' => true];$options = array_merge($defaultOptions, $options);$data = ['model' => $this->model,'messages' => $messages] + $options;$ch = curl_init();curl_setopt_array($ch, [CURLOPT_URL => $this->apiUrl,CURLOPT_RETURNTRANSFER => true,CURLOPT_POST => true,CURLOPT_POSTFIELDS => json_encode($data),CURLOPT_HTTPHEADER => ['Content-Type: application/json','Authorization: Bearer ' . $this->apiKey,'Accept: text/event-stream'],CURLOPT_WRITEFUNCTION => function($ch, $data) use ($callback) {$lines = explode("\n", $data);foreach ($lines as $line) {if (strpos($line, 'data: ') === 0) {$jsonStr = substr($line, 6);if ($jsonStr === '[DONE]') {$callback('', true); // 传输完成} else if (!empty(trim($jsonStr))) {$json = json_decode($jsonStr, true);if (isset($json['choices'][0]['delta']['content'])) {$callback($json['choices'][0]['delta']['content'], false);}}}}return strlen($data);}]);curl_exec($ch);if (curl_errno($ch)) {throw new Exception('cURL 错误: ' . curl_error($ch));}curl_close($ch);}
}// 使用示例
try {$apiKey = 'sk-********';$client = new DeepSeekClient($apiKey);// 普通聊天$messages = [['role' => 'system', 'content' => '你是一个中文助手'],['role' => 'user', 'content' => '请用中文介绍一下你自己']];$response = $client->chat($messages);echo "回答: " . $response['choices'][0]['message']['content'] . PHP_EOL;// 流式聊天echo "流式响应: ";$client->streamChat($messages, function($content, $done) {if (!$done) {echo $content;flush();} else {echo PHP_EOL . "--- 结束 ---" . PHP_EOL;}});} catch (Exception $e) {echo "错误: " . $e->getMessage() . PHP_EOL;
}
?>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1210238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运算符:4.关系运算符

4.关系运算符 1.结果:boolen->要么是true,要么是false 2.作用:做条件判断使用符号 说明== 如果符号前后相等为true;否者为false> 如果符号前的数据大于符号后的数据为true,否者为false< 如果符号前的数据…

默纳克刷机,默纳克刷协议,默纳克显示板 外呼板协议更改 烧录 默纳克各种软件各种刷机

默纳克刷机&#xff0c;默纳克刷协议&#xff0c;默纳克显示板 外呼板协议更改 烧录 默纳克各种软件各种刷机&#xff0c;含主板、轿顶板、外呼板刷机软件原程序、操作器刷机软件及协议一应俱全。 深夜的办公室&#xff0c;只有电脑屏幕发出幽蓝的光芒。我坐在工位上&#xff…

Matlab/Cplex代码:两级电力市场环境下计及风险的省间交易商最优购电模型

Matlab/Cplex代码&#xff1a;两级电力市场环境下计及风险的省间交易商最优购电模型 参考电网技术的《两级电力市场环境下计及风险的省间交易商最优购电模型》 Highlights:省间可再生能源交易&#xff0c;双层优化模型&#xff0c;采用KKT和强对偶化简MPEC模型为MILP&#xff0…

直接看代码最实在。先来搞个简单的BP神经网络结构

PSO粒子群优化算法优化BP神经网络做MIMO多输入多输出系统的预测&#xff0c;预测精度非常高class BPNN:def __init__(self, input_size, hidden_size, output_size):self.w1 np.random.randn(input_size, hidden_size)self.b1 np.zeros((1, hidden_size))self.w2 np.random.…

基于SVPWM调制的三相T型三电平并网逆变器Simulink模型

调制方法为SVPWM的三相T型三电平并网逆变器simulink模型。 光伏组件也是自己搭建的数学模型&#xff0c;不是simulink库里的模块&#xff1b;前级是boost电路&#xff0c;通过扰动观测法追踪光伏组件的最大功率点&#xff0c;并控制输出电压的大小&#xff1b;后级是T型三电平逆…

PLC电路在备用自动投入中 的研究

第2章 可编程控制器控制系统 PLC是由继电器逻辑控制系统发展而来&#xff0c;它在数字处理、程序控制方面具有优势&#xff0c;PLC是为间歇生产和机械加工而一种专用计算机。PLC可采用BSDLC语言、C语言、符合逻辑流程和梯形图编程&#xff0c;具有复杂的数学运算、数据处理、统…

基于LSTM神经网络的短期风速预测实现方案

一、核心方法架构 1. 数据预处理流程归一化处理&#xff1a;使用mapminmax将风速数据缩放至[0,1]区间&#xff0c;消除量纲影响滑动窗口构建&#xff1a;设置窗口大小win_size24&#xff08;24小时历史数据&#xff09;&#xff0c;预测步长pred_len6&#xff08;未来6小时&…

JX085_Z30130X31型钻床控制系统的PLC改造

第二章 机床的主要参数 1.机床的主要参数 &#xff08;1&#xff09;最大钻孔直径 100mm &#xff08;2&#xff09;主轴中心线至立柱母线距离&#xff1a;最大 3150mm 最小 570mm &#xff08;3&…

2026年探寻北方地区企业展厅设计公司排名,哪家比较靠谱?

2026年,企业展厅已成为品牌叙事、客户链接的核心载体,其设计与落地质量直接决定企业品牌价值传递的效率与深度。然而,行业内同质化内卷、供应链协同低效、技术应用失衡等沉疴,以及企业需求匹配精准度不足、使用体验…

盘点2026年资质齐全的装修企业,欢乐佳园装饰靠谱又专业!

本榜单依托西南地区家装市场全维度调研与真实业主口碑反馈,深度筛选出五家资质齐全、服务可靠的标杆装修企业,为昆明及周边(安宁、玉溪、宜良)业主的家装选型提供客观依据,助力精准匹配适配的装修伙伴。 TOP1 推荐…

2026年靠谱的淘宝代运营公司推荐,帮你解决电商运营难题

2026年电商生态持续迭代,全渠道代运营服务已成为实体厂商突破获客瓶颈、实现线上转型的核心支撑。无论是淘宝天猫等C端平台的流量运营、阿里巴巴国际站的跨境布局,还是抖音短视频的内容获客,优质代运营公司的专业能…

2026年郑州实力强的厨师培训学校排名,帮你选到靠谱的!

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆厨师培训学校,为有志于烹饪行业的人群提供客观依据,助力精准匹配适配的培训伙伴。 TOP1 推荐:巩义市新东方职业技能培训学校有限公司 推荐指数:★★★…

2026年浙江杭州热门新媒体培训公司排名:杭州沐林服务专业吗?

本榜单依托全维度市场调研与真实学员口碑,深度筛选出五家杭州本地标杆新媒体培训机构,为学员选型提供客观依据,助力精准匹配适配的学习伙伴。 TOP1 推荐:沐林新媒体学院 推荐指数:★★★★★ | 口碑评分:杭州实战…

Flutter for OpenHarmony 中的模块化 UI 构建:从函数拆分到主题一致性实践

在跨平台项目演进过程中&#xff0c;代码的可维护性往往比初期功能实现更为关键。一个未经组织的 build 方法&#xff0c;即便能运行&#xff0c;也会随着需求增长迅速变得难以修改和测试。本文将以一段经过深度重构的 Flutter 代码为例&#xff0c;展示如何通过私有方法拆分、…

图的欧拉道路和欧拉回路

图的欧拉道路与回路(不重复的走过所有边而不是点) :定理1:存在欧拉路的条件:图是连通的,有且只有2个奇点。定理2:存在欧拉回路的条件:图是连通的,有0个奇点。 前提必须连通 并且是无向图 对于有向图,有: 图…

构建面向 OpenHarmony 的 Flutter 响应式架构

一、引言&#xff1a;跨端 UI 的核心挑战 在 OpenHarmony 生态中&#xff0c;设备形态覆盖手机、平板、智慧屏、车机乃至 IoT 终端。单一固定布局无法满足“一次开发&#xff0c;多端部署”的愿景。响应式设计&#xff08;Responsive Design&#xff09;因此成为跨平台应用的基…

使用Docker Compose搭建LibreNMS网络监控系统

使用Docker Compose搭建LibreNMS网络监控系统引言一、什么是LibreNMS&#xff1f;二、为什么需要网络监控系统&#xff1f;1. **主动预警&#xff0c;防患未然**2. **快速定位问题**3. **容量规划和趋势分析**4. **满足合规要求**三、LibreNMS能解决什么问题&#xff1f;四、使…

从零到一:我的网络安全入门规划(网络/Web/系统安全方向详解)

1. 什么是网络安全&#xff1f; 简单来说&#xff0c;网络安全就像数字世界的“警察、保镖和保安系统”&#xff0c;它的核心是 保护计算机系统、网络、数据和信息免受攻击、破坏或未经授权的访问。 可以这样理解&#xff1a; 为什么需要&#xff1f; 就像你家需要锁、公司需…

【万字解析】网络安全是什么?学完能拿多少?保姆级学习路线+避坑指南

1. 什么是网络安全&#xff1f; 简单来说&#xff0c;网络安全就像数字世界的“警察、保镖和保安系统”&#xff0c;它的核心是 保护计算机系统、网络、数据和信息免受攻击、破坏或未经授权的访问。 可以这样理解&#xff1a; 为什么需要&#xff1f; 就像你家需要锁、公司需…

分析北京学校家具生产企业,北京饰界华丰教育科技有限公司性价比如何?

随着教育场景对个性化空间需求的提升,学校家具来图定制逐渐成为优质学校的核心选择,而如何找到靠谱的学校家具厂家、实力过硬的学校家具生产企业,也成为北京及华北区域学校采购时的高频痛点。本文围绕这三个关键词,…