使用Java调用DeepSeek API的快速入门

第一步:获取API密钥

  1. 登录DeepSeek官网
  2. 注册/登录后进入「开发者中心」
  3. 在「API管理」页面点击「创建新密钥」
  4. 复制生成的API密钥(形如sk-xxxxxxxxxx

基础代码实现

添加依赖

<dependencies>
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>4.9.3</version>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20231013</version>
    </dependency>
</dependencies>

代码实现

import okhttp3.*;
import org.json.JSONArray;
import org.json.JSONObject;

import java.io.IOException;

public class SimpleDeepSeek {

    // 直接配置API密钥(请替换为您的实际密钥)
    private static final String API_KEY = "syour_api_key_here";
    // DeepSeek API的请求地址
    private static final String API_URL = "https://api.deepseek.com/v1/chat/completions";

    // 初始化OkHttp客户端
    private final OkHttpClient client = new OkHttpClient();

    /**
     * 发送请求并获取DeepSeek的响应
     * @param prompt 用户输入的提示内容
     * @return DeepSeek返回的响应内容
     * @throws IOException 网络请求异常
     */
    public String getResponse(String prompt) throws IOException {
        // 构建请求体JSON
        String jsonBody = new JSONObject()
                .put("model", "deepseek-chat") // 指定使用的模型
                .put("messages", new JSONArray()
                        .put(new JSONObject()
                                .put("role", "user") // 设置消息角色为用户
                                .put("content", prompt) // 设置消息内容
                        ))
                .toString();

        // 创建HTTP请求
        Request request = new Request.Builder()
                .url(API_URL) // 设置API地址
                .post(RequestBody.create(jsonBody, MediaType.get("application/json"))) // 设置POST请求体
                .addHeader("Authorization", "Bearer " + API_KEY) // 添加认证头
                .build();

        // 发送请求并处理响应
        try (Response response = client.newCall(request).execute()) {
            // 解析响应JSON,提取返回内容
            return new JSONObject(response.body().string())
                    .getJSONArray("choices") // 获取choices数组
                    .getJSONObject(0) // 获取第一个选项
                    .getJSONObject("message") // 获取message对象
                    .getString("content"); // 提取content字段
        }
    }

    /**
     * 主方法,测试API调用
     */
    public static void main(String[] args) {
        SimpleDeepSeek client = new SimpleDeepSeek();
        try {
            // 第一次调用
            String answer = client.getResponse("你好!");
            System.out.println("首次回复:" + answer);

            // 第二次调用
            String quantumAnswer = client.getResponse("请用五句话总结量子计算");
            System.out.println("后续回复:" + quantumAnswer);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

运行结果

首次调用

输入内容:"你好!"

输出结果:

首次回复:你好!很高兴见到你。有什么我可以帮忙的吗?

第二次调用

输入内容:"请用五句话总结量子计算"

输出结果:

后续回复:量子计算是一种利用量子力学原理进行信息处理的计算方式。它依赖于量子比特(qubits),这些比特可以同时处于多个状态,从而实现并行计算。量子计算的核心优势在于其处理复杂问题的潜力,如大整数分解和复杂系统模拟,这些问题对传统计算机来说极为耗时。量子算法,如Shor算法和Grover算法,展示了量子计算在特定任务上的指数级加速能力。尽管目前量子计算技术仍处于发展阶段,但它被认为是未来计算技术的重要方向之一。

代码说明

  1. API密钥:替换API_KEY为您的实际密钥
  2. 请求结构
    • 使用deepseek-chat模型
    • 消息角色设置为user
    • 支持多轮对话(需维护上下文)
  3. 响应处理
    • 提取choices数组中的第一条回复
    • 返回message对象中的content字段

注意事项

  1. 示例代码中的API密钥仅用于演示,实际使用时请妥善保管
  2. 如需实现多轮对话,需自行维护上下文消息列表
  3. 建议添加异常处理和日志记录

提示:更多API使用方法请参考DeepSeek官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值