简单的对接 DeepSeek
public function callDeepSeekApi($userMessage=''):string{
$apiKey='你申请的 api';
$url='https://api.deepseek.com/chat/completions';
$headers=['Content-Type: application/json','Accept: application/json','Authorization: Bearer '.$apiKey];
$data=[
'model'=>'deepseek-chat',//deepseek-reasoner 切换推理模型 R1
'messages'=>[['role'=>'system','content'=>'You are a helpful assistant.'],['role'=>'user','content'=>$userMessage]],
'stream'=>false,//false 非流 / true 流返回,需要前端追加和保持长连接
"frequency_penalty"=>0,
'response_format'=>['type'=>'text'//返回格式(text,json_object)],
"max_tokens"=>2048,//最大返回 token 数
"presence_penalty"=>0,
"stop"=>null,
"stream_options"=>null,
"temperature"=>1,
"top_p"=>1,
"tools"=>null,
"tool_choice"=>"none",
"logprobs"=>false,
"top_logprobs"=>null
];
$dataString=json_encode($data);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($ch,CURLOPT_POSTFIELDS,$dataString);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
$response=curl_exec($ch);
$errorCode=curl_errno($ch);
if(!$errorCode){
$errorMessage=curl_error($ch);
echo'Curl error: '.$errorCode.' - '.$errorMessage.PHP_EOL;
}
return$response;
}
调用示例
调用代码:$data = callDeepSeekApi('今天吃什么呢');
返回结果:
array:7[
"id"=>"e5769755-e6bc-4065-a69b-6a113f554b88"
"object"=>"chat.completion"
"created"=>1755059170
"model"=>"deepseek-reasoner"
"choices"=>array:1[
0=>array:4[
"index"=>0
"message"=>array:3[
"role"=>"assistant"
"content"=>""" 哈哈,每天最幸福的烦恼来了!🤔 帮你整理几个思路,选个最合心意的吧: ### 🍚 **懒人家常版**(冰箱有啥做啥) - **番茄炒蛋 + 米饭**(国民下饭菜!) - **葱油拌面**(10 分钟搞定,香到流泪) - **速冻饺子/云吞**(加点紫菜虾皮变高汤版) - **白粥配酱菜/咸鸭蛋**(肠胃友好选择) ### 🌶️ **开胃解馋版**(适合想刺激味蕾) - **酸辣土豆丝 + 麻婆豆腐**(米饭杀手组合) - **韩式泡菜锅**(冰箱边角料一锅煮) - **咖喱鸡饭**(浓郁汤汁拌饭绝了) - **凉皮/酸辣粉**(外卖 30 分钟拯救食欲) ### 🥗 **清爽健康版**(身体无负担) - **虾仁蔬菜沙拉**(油醋汁 + 牛油果加分) - **菌菇豆腐汤 + 蒸红薯**(暖胃低卡) - **藜麦鸡胸肉 bowl**(西兰花/玉米/小番茄) - **清蒸鱼 + 白灼菜心**(优质蛋白 get) ### ⏱️ **终极省事版** - **打开外卖 APP → 定位附近 → 按评分排序** - **翻昨天剩菜**(环保战士光荣!♻️) **小建议:** 看看窗外天气!☀️大热天适合凉面/冷面,❄️冷飕飕就选火锅/汤面~ 或者...试试闭眼随机点外卖,给生活来点惊喜? 😂 **快告诉我你的偏好!** (想吃辣/忌口/做饭时间...)帮你缩小范围~ """
"reasoning_content"=>""" 嗯,用户问了一个日常但很实际的问题——'今天吃什么呢'。这可能是午餐或晚餐的纠结时刻,用户或许正饿着肚子滑动手机,也可能在超市货架前发呆。 从简单回复角度看,直接甩菜谱也行,但用户没给任何偏好或限制(比如厨房条件、忌口、时间),所以需要引导 ta 提供更多信息。不过,如果用户只是随意一问,太复杂的提问反而会增加负担。 先给几个轻松选项吧: - 家常菜最稳妥(番茄炒蛋、麻婆豆腐),谁都能做; - 如果用户想解馋,推荐酸辣粉或咖喱这类味道鲜明的; - 天气热的话凉面更合适,顺便提一句'清热解暑'可能更贴心; - 最后加个彩蛋选项(螺蛳粉),万一用户想挑战味蕾呢? 用表情符号调节语气,避免显得说教。结尾抛个互动提问(偏好/忌口),既收集信息又带点闲聊感——毕竟'吃什么'本质是带烟火气的话题呀。 """
]
"logprobs"=>null
"finish_reason"=>"stop"
]
]
"usage"=>array:7[
"prompt_tokens"=>14
"completion_tokens"=>634
"total_tokens"=>648
"prompt_tokens_details"=>array:1[
"cached_tokens"=>0
]
"completion_tokens_details"=>array:1[
"reasoning_tokens"=>233
]
"prompt_cache_hit_tokens"=>0
"prompt_cache_miss_tokens"=>14
]
"system_fingerprint"=>"fp_393bca965e_prod0623_fp8_kvcache"
]


