package deepseek;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import okhttp3.*;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit;public class DeepSeekUtils {static Gson gson;public static Gson getGson() {if (gson != null) {return gson;}Gson gson = new GsonBuilder().serializeNulls().create();return gson;}/*** 配置参数,调用接口** @param args* @throws IOException*/public static void main(String[] args) throws IOException {String api = "sk-5bebad68c4c34e79b38bd621e371d3b0";int timeout = 120;long t1 = System.currentTimeMillis();OkHttpClient client = new OkHttpClient().newBuilder().connectTimeout(timeout, TimeUnit.SECONDS).readTimeout(timeout, TimeUnit.SECONDS).writeTimeout(timeout, TimeUnit.SECONDS).callTimeout(timeout, TimeUnit.SECONDS).retryOnConnectionFailure(true).connectionPool(new ConnectionPool(10, 5, TimeUnit.MINUTES)).build();MediaType mediaType = MediaType.parse("application/json");DpRequestBean dpRequestBean = new DpRequestBean();List<DpRequestBean.MessagesBean> messages = new ArrayList<>();DpRequestBean.MessagesBean messagesBean = new DpRequestBean.MessagesBean();messagesBean.setContent("介绍一下你");messagesBean.setRole("user");messages.add(messagesBean);dpRequestBean.setMessages(messages);dpRequestBean.setModel("deepseek-chat");DpRequestBean.ResponseFormatBean responseFormatBean = new DpRequestBean.ResponseFormatBean();responseFormatBean.setType("text");dpRequestBean.setResponse_format(responseFormatBean);dpRequestBean.setTool_choice("none");dpRequestBean.setTemperature(1);dpRequestBean.setTop_p(1);dpRequestBean.setMax_tokens(2048);dpRequestBean.setFrequency_penalty(0);dpRequestBean.setStream(true);dpRequestBean.setStop(null);dpRequestBean.setTools(null);dpRequestBean.setLogprobs(false);dpRequestBean.setTop_logprobs(null);dpRequestBean.setStream_options(null);dpRequestBean.setTop_logprobs(null);// 创建 GsonBuilder 并配置为不忽略 null 字段String gsonJson = getGson().toJson(dpRequestBean);System.out.println(gsonJson);System.out.println("开始请求--------------------------------------");RequestBody body = RequestBody.create(mediaType, gsonJson);Request request = new Request.Builder().url("https://api.deepseek.com/chat/completions").method("POST", body).addHeader("Content-Type", "application/json").addHeader("Accept", "application/json").addHeader("Authorization", "Bearer " + api + "").build();client.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {System.err.println("请求失败: " + e.getMessage());}@Overridepublic void onResponse(Call call, Response response) {if (!response.isSuccessful()) {System.err.println("响应失败: " + response.code());return;}long t2 = System.currentTimeMillis();System.out.println("耗时:" + (t2 - t1) + "ms");System.err.println("响应成功: " + response.code());StringBuffer stringBuffer = new StringBuffer();try {ResponseBody responseBody = response.body();if (responseBody == null) {return;}// 处理流式响应okio.BufferedSource source = responseBody.source();while (!source.exhausted()) {String line = source.readUtf8Line();// 处理每一行响应数据// System.out.println(line);if (line == null) {continue;}if (!line.contains("data:")) {continue;}String[] sp = line.split("data:");if (sp == null || sp.length <= 1) {continue;}String json = sp[1];if (json == null || json.isEmpty()) {continue;}//解析 JSON 数据DpResponseStreamBean streamBean = getGson().fromJson(json, DpResponseStreamBean.class);stringBuffer.append(streamBean.getChoices().get(0).getDelta().getContent());System.err.println(stringBuffer);}} catch (IOException e) {e.printStackTrace();} finally {System.err.println("----end-------");long t3 = System.currentTimeMillis();System.out.println("耗时:" + (t3 - t1) + "ms");}}});}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。