苏州网站建设选苏州梦易行,html项目答辩,wordpress评论不准设置网站,wordpress 栏目调用我们再启动应用并获取api密钥后就可以对它发送请求了#xff0c;但是官方文档对于如何进行多轮对话以及怎么自定义参数并没有说的很清楚#xff0c;给的模板也没有java的#xff0c;因此我们需要自己实现。 import org.json.JSONArray;
import org.json.JSONObject;import j…我们再启动应用并获取api密钥后就可以对它发送请求了但是官方文档对于如何进行多轮对话以及怎么自定义参数并没有说的很清楚给的模板也没有java的因此我们需要自己实现。 import org.json.JSONArray;
import org.json.JSONObject;import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;public class DeepSeekUtil {private static final String API_URL https://ark.cn-beijing.volces.com/api/v3/chat/completions; // API 地址private static final String API_KEY ; // 请替换为你的 API 密钥// 与模型进行交互public static String chat(String userMessage, JSONArray messages) {// 如果没有传入消息历史初始化一个空的 JSONArrayif (messages null) {messages new JSONArray();}// 添加用户的消息到对话历史messages.put(new JSONObject().put(role, user).put(content, userMessage));JSONObject requestBody new JSONObject();requestBody.put(model, deepseek-v3-241226); // 使用正确的模型名称requestBody.put(messages, messages); // 将历史对话传递给 APIrequestBody.put(temperature, 0.7); // 控制生成文本的创意性//requestBody.put(max_tokens, 1024); // 最大生成 token 数量避免生成过长的回答HttpRequest request HttpRequest.newBuilder().uri(URI.create(API_URL)).header(Content-Type, application/json).header(Authorization, Bearer API_KEY).POST(HttpRequest.BodyPublishers.ofString(requestBody.toString())).build();HttpClient client HttpClient.newHttpClient();try {// 发送请求并获取响应HttpResponseString response client.send(request, HttpResponse.BodyHandlers.ofString());// 检查响应状态if (response.statusCode() ! 200) {System.out.println(API Response Error: response.body());return Error: API responded with status code response.statusCode();}// 从响应中获取 API 返回的内容String responseBody response.body();System.out.println(API Response: responseBody);// 解析 API 响应JSONObject jsonResponse new JSONObject(responseBody);JSONArray choices jsonResponse.getJSONArray(choices);// 获取第一个 choice 中的 message 内容JSONObject firstChoice choices.getJSONObject(0);JSONObject message firstChoice.getJSONObject(message);String apiReply message.getString(content);// 添加模型回复到对话历史messages.put(new JSONObject().put(role, assistant).put(content, apiReply));// 返回 API 的回复return apiReply;} catch (Exception e) {// 出现错误时返回错误消息e.printStackTrace(); // 打印详细的错误信息return Error: e.getMessage();}}
}
我们再编写测试类 Testvoid testChat(){JSONArray arraynew JSONArray();String responseDeepSeekUtil.chat(你好,array);System.out.println(response);String response1DeepSeekUtil.chat(帮我设计一个演示自由落体的网页,array);System.out.println(response1);}