以下是使用 Java 调用 DeepSeek API 的实现方法:
1. 准备工作
-
获取 API 密钥:在 DeepSeek 官方平台注册账号并获取 API 密钥(没有余额需要充值),这是调用 API 的身份凭证
-
添加依赖:在 Java 项目中,可以使用 HttpClient 来发送 HTTP 请求。对于 Maven 项目,可在
pom.xml
中添加如下依赖:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency>
2. 发送请求代码示例
以下是一个简单的 Java 代码示例,用于调用 DeepSeek API 进行文本生成:
package com.fantaibao.controller;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import okhttp3.*;
import java.io.IOException;
public class DeepSeekClient {
// 替换为你的 API 密钥
private static final String API_KEY = "your-deepseek-api-key";
// 修改为 beta 版本的 API 端点
private static final String API_URL = "https://api.deepseek.com/beta/completions";
private final OkHttpClient client;
private final ObjectMapper mapper;
public DeepSeekClient() {
this.client = new OkHttpClient();
this.mapper = new ObjectMapper();
}
public String generateText(String prompt) throws IOException {
// 构建请求体
RequestBody body = RequestBody.create(
"{\n" +
" \"prompt\": \"" + prompt + "\",\n" +
" \"max_tokens\": 500,\n" +
" \"temperature\": 0.7,\n" +
" \"model\": \"deepseek-chat\"\n" +
"}",
MediaType.get("application/json; charset=utf-8")
);
// 构建请求
Request request = new Request.Builder()
.url(API_URL)
.post(body)
.addHeader("Authorization", "Bearer " + API_KEY)
.addHeader("Content-Type", "application/json")
.build();
// 发送请求
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
// 解析响应
String responseBody = response.body().string();
JsonNode rootNode = mapper.readTree(responseBody);
// 根据实际响应结构提取结果
JsonNode choices = rootNode.path("choices");
if (choices.isArray() && choices.size() > 0) {
return choices.get(0).path("text").asText();
}
return "No response generated";
}
}
public static void main(String[] args) {
DeepSeekClient client = new DeepSeekClient();
try {
String result = client.generateText("请解释一下量子计算的基本原理:");
System.out.println("生成结果:\n" + result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 代码解释
-
API_URL:这是 DeepSeek API 的请求地址,你需要根据实际情况进行调整。
-
API_KEY:你在 DeepSeek 官方平台获取的 API 密钥。
-
请求体:使用 JSON 格式构建请求体,其中
model
指定要使用的模型,messages
数组包含用户的输入信息。 -
请求头:设置
Content-Type
为application/json
,并在Authorization
头中添加 API 密钥。 -
发送请求:使用 HttpClient 发送 HttpPost 请求,并处理响应结果。
4. 注意事项
-
API 文档:在使用 API 时,务必参考 DeepSeek 官方的 API 文档,了解请求参数、响应格式等详细信息。
-
错误处理:在实际项目中,需要对各种可能的错误情况进行处理,如网络异常、API 调用失败等。
-
安全问题:妥善保管 API 密钥,避免泄露