1 Star 0 Fork 0

string/Java8API

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
DeepSeekUtils.java 5.54 KB
一键复制 编辑 原始数据 按行查看 历史
dingqb2 提交于 2026-03-05 19:02 +08:00 . json\canid
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");
}
}
});
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/dinqb/Java8API.git
git@gitee.com:dinqb/Java8API.git
dinqb
Java8API
Java8API
master

搜索帮助