Spring AI DeepSeek-R1 API 服务和调用
时间: 2025-03-01 14:57:33 浏览: 126
### 使用 Spring 框架集成和调用 DeepSeek-R1 API 服务
#### 创建 Spring Boot 项目并配置依赖
为了开始这个过程,在构建工具中初始化一个新的 Spring Boot 应用程序。通过 Spring Initializr 可以轻松完成这一步骤,同时确保 pom.xml 文件内包含了必要的依赖项以便支持与 DeepSeek-R1 的交互[^2]。
```xml
<dependency>
<groupId>com.spring.ai</groupId>
<artifactId>spring-ai-core</artifactId>
<version>${spring-ai.version}</version>
</dependency>
```
上述 XML 片段展示了如何向 Maven 构建文件添加 `spring-ai-core` 依赖,这是用于处理人工智能相关功能的关键库之一。
#### 配置应用程序属性
在 src/main/resources/application.properties 或 application.yml 文件里定义连接至 DeepSeek-R1 所需的服务端点和其他必要参数:
```yaml
deeplearn:
api-url: http://localhost:8080/deepseek-r1/api/v1/
key: your_api_key_here
```
此部分设置允许开发者指定目标 API 地址以及访问密钥等重要信息。
#### 编写 REST 客户端代码
接下来编写一段简单的 Java 类用来封装 HTTP 请求逻辑并与远程服务器通信。这里推荐采用 RestTemplate 来简化网络请求的操作:
```java
@Service
public class DeepSeekClient {
private final String apiUrl;
private final String apiKey;
@Autowired
public DeepSeekClient(@Value("${deeplearn.api-url}") String apiUrl,
@Value("${deeplearn.key}") String apiKey) {
this.apiUrl = apiUrl;
this.apiKey = apiKey;
}
public ResponseEntity<String> callApi(String endpoint, HttpMethod method, Object requestPayload){
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Authorization", "Bearer " + apiKey);
HttpEntity<Object> entity = new HttpEntity<>(requestPayload, headers);
return restTemplate.exchange(apiUrl + endpoint, method, entity, String.class);
}
}
```
这段代码实现了基本的客户端类 `DeepSeekClient` ,它负责发送带有适当头部信息(如 Content-Type 和 Authorization)的 HTTP 请求给 DeepSeek-R1 API,并接收响应数据。
#### 测试接口调用
最后可以通过控制器方法测试新建立起来的数据通路是否正常工作:
```java
@RestController
@RequestMapping("/api/test")
public class TestController {
private final DeepSeekClient deepSeekClient;
@Autowired
public TestController(DeepSeekClient deepSeekClient) {
this.deepSeekClient = deepSeekClient;
}
@GetMapping("/invoke-deepseek")
public ResponseEntity<?> invokeDeepSeek() throws Exception{
try {
ResponseEntity<String> response = deepSeekClient.callApi("some-endpoint", HttpMethod.GET, null);
if (response.getStatusCode().is2xxSuccessful()) {
return ResponseEntity.ok(response.getBody());
} else {
throw new RuntimeException("Failed to get a successful response from the server.");
}
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
}
}
}
```
以上就是基于 Spring Boot 和 Spring AI 对 DeepSeek-R1 API 进行集成的一个简单实例说明[^1]。
阅读全文
相关推荐


















