JAVA调用deepseek
·
示例: Java调用deepseekApi
一、获取 API key
开放平台地址:DeepSeek
登录deepseek开放平台,创建API keys,注意创建的时候复制key,然后保存,以免使用的时候忘记
以下是官方的API文档规范

二、完整代码案例
1. 简介
本案例将展示如何使用 Java Spring Boot 框架构建一个简单的 Web 应用,并通过 Controller 层调用 DeepSeek 的文本生成 API,实现智能文本生成功能。
2. 技术栈
- Spring Boot
- Apache HttpClient
- DeepSeek API
3. 项目结构
src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── deepseek
│ │ ├── controller
│ │ │ └── TextGenerationController.java
│ │ ├── service
│ │ │ └── DeepSeekService.java
│ │ └── DeepseekApplication.java
│ └── resources
│ └── application.properties
└── test
└── java
4. 代码实现
4.1 application.properties
deepseek.api.key=YOUR_API_KEY
deepseek.api.url=https://api.deepseek.com/v1/text/generate
4.2 DeepseekApplication.java
package com.example.deepseek;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DeepseekApplication {
public static void main(String[] args) {
SpringApplication.run(DeepseekApplication.class, args);
}
}
4.3 DeepSeekService.java
package com.example.deepseek.service;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
@Service
public class DeepSeekService {
@Value("${deepseek.api.key}")
private String apiKey;
@Value("${deepseek.api.url}")
private String apiUrl;
public String generateText(String prompt, int maxTokens, double temperature) throws Exception {
String requestBody = String.format("{\"prompt\": \"%s\", \"max_tokens\": %d, \"temperature\": %f}",
prompt, maxTokens, temperature);
try (CloseableHttpClient client = HttpClients.createDefault()) {
HttpPost request = new HttpPost(apiUrl);
request.setHeader("Content-Type", "application/json");
request.setHeader("Authorization", "Bearer " + apiKey);
request.setEntity(new StringEntity(requestBody));
return client.execute(request, response -> {
if (response.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(response.getEntity());
} else {
throw new RuntimeException("Failed to generate text: " + response.getStatusLine().getReasonPhrase());
}
});
}
}
}
4.4 TextGenerationController.java
package com.example.deepseek.controller;
import com.example.deepseek.service.DeepSeekService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/text")
public class TextGenerationController {
@Autowired
private DeepSeekService deepSeekService;
@PostMapping("/generate")
public String generateText(@RequestParam String prompt,
@RequestParam(defaultValue = "200") int maxTokens,
@RequestParam(defaultValue = "0.7") double temperature) {
try {
return deepSeekService.generateText(prompt, maxTokens, temperature);
} catch (Exception e) {
e.printStackTrace();
return "Error generating text: " + e.getMessage();
}
}
}
5. 运行项目
- 将
YOUR_API_KEY替换为你的 DeepSeek API Key。 - 运行
DeepseekApplication.java启动 Spring Boot 应用。 - 访问
http://localhost:8080/api/text/generate?prompt=写一篇关于人工智能的文章。即可获取生成的文本。
6. 总结
本案例展示了如何使用 Java Spring Boot 构建 Web 应用,并通过 Controller 层调用 DeepSeek API 实现智能文本生成功能。你可以根据需要扩展代码,例如添加异常处理、日志记录、参数校验等功能。
7. 注意事项
- 请妥善保管你的 API Key,不要泄露给他人。
- 使用 API 时请遵守 DeepSeek 的使用条款。
- 本文代码仅供参考,实际使用时请根据需要进行修改和完善。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)