代码拉取完成,页面将自动刷新
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() {
@Override
public void onFailure(Call call, IOException e) {
System.err.println("请求失败: " + e.getMessage());
}
@Override
public 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");
}
}
});
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。