php 实现 deepSeek聊天对话

发布于:2025-02-12 ⋅ 阅读:(154) ⋅ 点赞:(0)

deepSeek 在 2025年可以说是火热。它可以说是国内版真正义意上的chatgpt。那么,如果我要实现用php 接入 deepSeek 的api呢。其实,方法也很简单。下面的代码我是自己封装过的,大家可以直接拿来使用,记得自己修改下密钥。

function getMsg($text){
    $arr = [
        'model'=>"deepseek-chat",
        'frequency_penalty'=>0,
        'max_tokens'=>2048,
        'presence_penalty'=>0,
        'response_format'=>[
            'type'=>'text'
        ],
        'stop'=>null,
        'stream'=>false,
        'stream_options'=>null,
        'temperature'=>1,
        'top_p'=>1,
        'tools'=>null,
        'tool_choice'=>'none',
        'logprobs'=>false,
        'top_logprobs'=>null,

        'messages'=>[
            ['content'=>$text , 'role'=>'system'],
            ['content'=>'Hi' , 'role'=>'user']
        ]
    ];
    $msg = json_encode($arr);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//如果在本地测试,需要加上这行,如果放到线上 https协议上,可以不需要
    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://api.deepseek.com/chat/completions',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS =>$msg,
        CURLOPT_HTTPHEADER => array(
            'Content-Type: application/json',
            'Accept: application/json',
            'Authorization: Bearer sk-XXXXX' //修改为你自己的密钥
        ),
    ));

    $response = curl_exec($curl);
    curl_close($curl);

    if ($response === false) {
        $error = curl_error($curl);
        echo 'cURL 错误: ' . $error;
    } else {
        return $response;
        // $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        // echo 'HTTP 状态码: ' . $httpCode . PHP_EOL;
        // echo '响应内容: ' . $response;
    }
}

在js 中,我们可以这样去获取数据

fetch('/')
.then(response=>response.json()) //注意这儿的写法
.then(data=>{
	console.log(data)
})

网站公告

今日签到

点亮在社区的每一天
去签到