php調(diào)用deepseek api實(shí)例如下:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .box{width: 800px; margin: 15px auto; box-shadow: 0 0 5px #ccc; padding: 15px;} .title { color: #333; font-size: 24px; } .content { line-height: 1.6; margin: 20px 0; } pre { background: #f5f5f5; padding: 15px; } </style> </head> <body> <div class="box"> <form action="?action=search"> <textarea name="content" id="" cols="30" rows="10"></textarea> <button>搜索</button> </form> <div> <?php require 'vendor/autoload.php'; $parsedown = new Parsedown(); if(isset($_GET['content'])){ $begin = time(); $content = trim($_GET['content']); $markdownText = getDeepSeekRes($content); if($markdownText){ $html = $parsedown->text($markdownText); $length = strlen($html); // 獲取響應(yīng)長(zhǎng)度 for ($i = 0; $i < $length; $i++) { echo $html[$i]; // 逐字輸出 flush(); // 刷新輸出緩沖區(qū),確保立即顯示輸出 usleep(100000); // 延時(shí)100毫秒,可根據(jù)需要調(diào)整速度 } } $end = time(); echo "<hr>共耗時(shí):" . ($end - $begin) . "秒"; }; /** * @param $content * @param $model : deepseek-chat=> DeepSeek-V3 * deepseek-reasoner => DeepSeek-R1 * @return mixed */ function getDeepSeekRes($content,$model='deepseek-reasoner'){ $url = "https://api.deepseek.com/chat/completions"; $apiKey = "sk-api key"; $arr = [ 'messages' => [ [ 'role'=>'system', 'content'=>'You are a helpful assistant' ], [ 'role'=>'user', 'content'=>$content . "【返回格式要求】: 1. 標(biāo)題用<h2 class='title'> 2. 正文用<div class='content'> 3. 正文段落用<p> 4. 代碼塊用<pre><code>" ] ], 'model' => $model, 'stream'=>true, "frequency_penalty"=>0, "max_tokens"=>2048, "presence_penalty"=>0, "response_format"=>[ "type"=>"text" ], "stop"=>null, "stream"=>false, "stream_options"=>null, "temperature"=>0.5, "top_p"=>1, "tools"=>null, "tool_choice"=>"none", "logprobs"=>false, "top_logprobs"=>null ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey ]); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arr)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($ch); // 檢查是否有錯(cuò)誤 if (curl_errno($ch)) { echo 'cURL 錯(cuò)誤: ' . curl_error($ch); } curl_close($ch); $res = json_decode($response, true); return isset($res["choices"][0]['message']['content']) ? $res["choices"][0]['message']['content'] : "無返回值"; } ?> </div> </div> </body> </html>
java調(diào)用deepseek api實(shí)例
Map<String,Object> map = new HashMap<>(); Map<String,Object> map2 = new HashMap<>(); map2.put("role","system"); map2.put("content","you are a helpful assistant"); Map<String,Object> map3 = new HashMap<>(); map3.put("role","user"); map3.put("content","寫一首贊美自己人見人愛花見花開的散文"); Map[] maps = {map2,map3}; map.put("messages",maps); map.put("model","deepseek-chat"); map.put("frequency_penalty",0); map.put("max_tokens",2024); map.put("presence_penalty",0); Map<String,Object> map4 = new HashMap<>(); map4.put("type","text"); map.put("response_format",map4); map.put("stop",null); map.put("stream",false); map.put("stream_options",null); map.put("temperature",1); map.put("top_p",1); map.put("tools",null); map.put("tool_choice","none"); map.put("logprobs",false); map.put("top_logprobs",null); map.put("time_out",0); OkHttpClient client = new OkHttpClient().newBuilder() .connectTimeout(1000, TimeUnit.SECONDS) // 設(shè)置連接超時(shí)為10秒 .readTimeout(300, TimeUnit.SECONDS) // 設(shè)置讀取超時(shí)為30秒 .build(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); Request request = new Request.Builder() .url("https://api.deepseek.com/chat/completions") .post(body) .addHeader("Content-Type", "application/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Bearer ApiKey") .build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { throw new IOException("Unexpected code: " + response); } // // 提取AI回復(fù)內(nèi)容 String responseBody = response.body().string(); System.out.println(responseBody); } catch (Exception e) { e.printStackTrace(); }