当前位置: 首页 > news >正文

吉安网站天津电子商务网站建设公司

吉安网站,天津电子商务网站建设公司,棠下手机网站建设,广州公司注册名称核名查询系统网页版1.deepseek的api创建 deepseek官网链接 点击右上API开放平台后找到API keys 创建APIkey&#xff1a; 注意&#xff1a;创建好的apikey只能在创建时可以复制&#xff0c;要保存好 2.java实现请求deepseek 使用springbootmaven 2.1 pom文件&#xff1a; <?xml version&…

1.deepseek的api创建

deepseek官网链接

点击右上API开放平台后找到API keys 创建APIkey:

注意:创建好的apikey只能在创建时可以复制,要保存好

2.java实现请求deepseek

使用springboot+maven

2.1 pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.demo</groupId><artifactId>deepseek-java</artifactId><version>0.0.1-SNAPSHOT</version><name>deepseek-java</name><description>Demo project for Spring Boot</description><properties><java.version>21</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>RELEASE</version><scope>compile</scope></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20231013</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.12.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>maven-ali</id><url>http://maven.aliyun.com/nexus/content/groups/public//</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy><checksumPolicy>fail</checksumPolicy></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>public</id><name>aliyun nexus</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories></project>

2.2 json转化文件:

参数可以参考DeepSeek API 文档

import org.json.JSONArray;
import org.json.JSONObject;/*** @Description:自定义json转化* @Author:* @Date: 2025/2/20* @Version: v1.0*/
public class JsonExample {/*** toJson* @param msg 你要输入的内容* @param model 模型类型 例如 deepseek-chat、deepseek-reasoner* @return 组装好的json数据*/public static String toJson(String msg,String model){// 创建JSON对象JSONObject json = new JSONObject();// 创建messages数组JSONArray messages = new JSONArray();// 添加第一个messageJSONObject systemMessage = new JSONObject();systemMessage.put("content", "You are a helpful assistant");systemMessage.put("role", "system");messages.put(systemMessage);// 添加第二个messageJSONObject userMessage = new JSONObject();userMessage.put("content", msg);userMessage.put("role", "user");messages.put(userMessage);// 将messages数组添加到JSON对象json.put("messages", messages);// 添加其他字段json.put("model", model);json.put("frequency_penalty", 0);json.put("max_tokens", 2048);json.put("presence_penalty", 0);// 添加response_format对象JSONObject responseFormat = new JSONObject();responseFormat.put("type", "text");json.put("response_format", responseFormat);// 添加其他字段json.put("stop", JSONObject.NULL);json.put("stream", false);json.put("stream_options", JSONObject.NULL);json.put("temperature", 1);json.put("top_p", 1);json.put("tools", JSONObject.NULL);json.put("tool_choice", "none");json.put("logprobs", false);json.put("top_logprobs", JSONObject.NULL);// 控制台打印输出JSON字符串并且使用2个空格进行缩进//System.out.println(json.toString(2));return json.toString();}
}

转化后JSON如下:

{"messages": [{"content": "You are a helpful assistant","role": "system"},{"content": "Hi","role": "user"}],"model": "deepseek-chat","frequency_penalty": 0,"max_tokens": 2048,"presence_penalty": 0,"response_format": {"type": "text"},"stop": null,"stream": false,"stream_options": null,"temperature": 1,"top_p": 1,"tools": null,"tool_choice": "none","logprobs": false,"top_logprobs": null
}

2.2 实现类:

import okhttp3.*;import java.io.IOException;/*** @Description:* @Author:* @Date: 2025/2/20* @Version: v1.0*/
public class MyDeepSeekClient {private static final String API_URL = "https://api.deepseek.com/chat/completions"; // 替换为实际的API URLprivate static final String API_KEY = "你的APIkey"; // 替换为实际的API密钥public static void main(String[] args) {try {String json = JsonExample.toJson("你好", "deepseek-chat");OkHttpClient client = new OkHttpClient().newBuilder().build();MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, json);Request request = new Request.Builder().url(API_URL)//deepseek的API.method("POST", body).addHeader("Content-Type", "application/json").addHeader("Accept", "application/json").addHeader("Authorization", "Bearer "+API_KEY)//deepseek的API_KEY.build();// 异步发送 POST 请求client.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {e.printStackTrace();}@Overridepublic void onResponse(Call call, Response response) throws IOException {try {if (response.isSuccessful()) {//判断响应是否成功// 成功System.out.println("状态码: " + response.code());System.out.println("响应体: " + response.body().string());} else {// 失败System.out.println("状态码: " + response.code());System.out.println("响应体: " + response.body().string());}} finally {// 关闭响应体,防止资源泄漏response.close();}}});} catch (Exception e) {e.printStackTrace();}}
}

输入结果如下:

状态码: 200
响应体: {"id":"6d83333a-ac8e-4ebf-9030-dc4e5ec620a3","object":"chat.completion","created":1740040067,"model":"deepseek-chat","choices":[{"index":0,"message":{"role":"assistant","content":"你好!很高兴见到你。有什么我可以帮忙的吗?"},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":9,"completion_tokens":11,"total_tokens":20,"prompt_tokens_details":{"cached_tokens":0},"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":9},"system_fingerprint":"fp_3a5770e1b4"}

注意事项:

  1. 响应体大小:如果响应体较大,直接调用responseBody.string()可能会占用大量内存。对于大文件或流式数据,可以使用responseBody.byteStream()responseBody.charStream()

http://www.yayakq.cn/news/63723/

相关文章:

  • 本人已履行网站备案信息网页搜索框下记录删不掉
  • flashfxp上传网站外销网站有哪些
  • 网站制作横幅图片素材昆明网站建设一条龙
  • 做网站图片广告推广怎么忽悠人的遵义高端网站建设
  • 电子商务网站建设论文宁波企业网站制作哪家好
  • 优秀音乐网站设计欣赏举例说明网络营销的方法有哪些
  • 河南企业建设网站wordpress 电商 开发
  • vue.js2.5 pc网站开发做公司网站需要多少钱
  • 做游戏网站的市场网盘资源大全
  • 石景山网站制作建设公司wordpress批量alt代码
  • 建设部网站官网 取消八大员在线html网站开发
  • 网站批量查询网站如何做vip等级
  • 网站流量怎么做乡1万国外优秀ui设计网站
  • 网站后台修改内容看不见了台州市建设工程造价管理处网站
  • 如何设计网站logo西安网站建设招标
  • 建网站用什么工具中国有几个搜索引擎
  • 钟祥建设局网站越南注册公司流程和费用
  • 网站自动适应屏幕wordpress源码站整站源码
  • 有口碑的大良网站建设网页设计师就业形势
  • 成都建设网站哪个好福州seo网站排名
  • 北京海淀区网站建设网站服务器租赁费用
  • 旅游网站建设的现状一般网站的字体大小
  • 下载建设网站长沙做网站公司哪家
  • 站长工具seo诊断ui设计实训报告
  • 网站建设项目的费用做什么科目高效网站推广方案
  • 大连网站建设流程图企业开办网站
  • 有域名和主机怎么做网站seo排名快速刷
  • 中学网站系统源码网站制作最
  • 做动画视频的网站深圳搜索优化排名
  • 信息网站 cms游戏公司怎么注册