Java调用DeepSeek api方法

Java调用DeepSeek api方法

官网上都没有实例自己测试一下

一、在官网创建DeepSeek的API Keys,只显示一次及时获取保存,不然得重新创建

在这里插入图片描述

二、创建api请求工具类

注意的是request.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));
如果这句不加ContentType.APPLICATION_JSON 返回的都是英文

/**
 * @Author : L1
 * @Date: 2025/2/6 10:15
 * @Description:
 */
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
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;

import java.io.IOException;

public class DeepSeekClient {
    private static final String API_URL = "https://api.deepseek.com/chat/completions";
    private static final String API_KEY = "your API Keys"; //这里改成你自己的qpi keys
	// 传入提问
    public static String getDeepSeek(String problem) throws IOException {
        CloseableHttpClient client = HttpClients.createDefault();
        HttpPost request = new HttpPost(API_URL);
        request.setHeader("Content-Type", "application/json");
        request.setHeader("Authorization", "Bearer " + API_KEY);
        // 请求体
        String requestBody = String.format(
                "{\"model\": \"deepseek-chat\", \"messages\": [{\"role\": \"user\", \"content\": \"%s\"}], \"stream\": false}",problem
        );
        request.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));
        // 发送请求并获取响应
        try (CloseableHttpResponse response = client.execute(request)) {
            // 返回响应内容
            return EntityUtils.toString(response.getEntity());
        }
    }

    public static void main(String[] args) throws IOException {
        System.out.println(getDeepSeek("红烧肉教程"));
    }
}

2.返回结果

{"id":"d5f40177-cdbe-4be9-bd0f-93dd96b0bab3","object":"chat.completion","created":1738812174,"model":"deepseek-chat","choices":[{"index":0,"message":{"role":"assistant","content":"红烧肉是一道经典的中式家常菜,以其肥而不腻、入口即化的口感深受喜爱。以下是详细的红烧肉做法:\n\n### **材料:**\n- 五花肉:500克\n- 生姜:3-4片\n- 大葱:1根\n- 八角:2颗\n- 桂皮:1小块\n- 香叶:2片\n- 冰糖:30克(或白糖)\n- 生抽:2汤匙\n- 老抽:1汤匙\n- 料酒:2汤匙\n- 清水:适量\n- 盐:适量\n\n---\n\n### **步骤:**\n\n#### 1. **处理五花肉**\n   - 五花肉切成3-4厘米见方的块。\n   - 将五花肉放入冷水锅中,加入几片姜和1汤匙料酒,大火煮开后撇去浮沫,焯水2-3分钟,捞出沥干备用。\n\n#### 2. **炒糖色**\n   - 锅中放入少量油,加入冰糖(或白糖),用小火慢慢炒至冰糖融化,颜色变为琥珀色(注意不要炒糊)。\n   - 将焯好的五花肉倒入锅中,快速翻炒,使肉块均匀裹上糖色。\n\n#### 3. **调味炖煮**\n   - 加入姜片、葱段、八角、桂皮、香叶,翻炒出香味。\n   - 倒入2汤匙生抽、1汤匙老抽、1汤匙料酒,翻炒均匀。\n   - 加入适量清水,水量以刚好没过肉块为宜。\n   - 大火煮开后转小火,盖上锅盖炖煮40-50分钟。\n\n#### 4. **收汁**\n   - 炖至肉块软烂后,开大火收汁,汤汁变浓稠时加入少许盐调味。\n   - 收汁至汤汁裹在肉块上即可关火。\n\n#### 5. **装盘**\n   - 将红烧肉盛出,撒上少许葱花或香菜点缀即可。\n\n---\n\n### **小贴士:**\n1. **选肉**:五花肉最好选择肥瘦相间的,这样炖出来的肉口感更好。\n2. **炒糖色**:炒糖色时火候要小,避免糖色炒糊发苦。\n3. **炖煮时间**:根据肉块大小调整炖煮时间,确保肉块软烂入味。\n4. **收汁**:收汁时注意火候,避免汤汁收得太干。\n\n这样一道色香味俱全的红烧肉就完成了,配上一碗米饭,简直是人间美味!"},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":6,"completion_tokens":546,"total_tokens":552,"prompt_tokens_details":{"cached_tokens":0},"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":6},"system_fingerprint":"fp_3a5770e1b4"}


总结

以上就是Java调用DeepSeep的方法简单过程

### 如何使用Java调用DeepSeek API 为了通过Java调用DeepSeek API,通常需要遵循API文档中的指导来构建HTTP请求并处理响应。虽然提供的参考资料未直接提及DeepSeek API的具体实现细节[^1],但可以根据标准RESTful服务调用模式以及Java网络编程的知识来进行操作。 下面是一个简单的例子,展示如何利用`HttpURLConnection`类发送GET请求到假设的DeepSeek API端点: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class DeepSeekAPICaller { private static final String DEEPSEEK_API_URL = "https://api.deepseek.example/search"; public static void main(String[] args) throws Exception { URL url = new URL(DEEPSEEK_API_URL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置请求属性 conn.setRequestMethod("GET"); conn.setRequestProperty("Accept", "application/json"); if (conn.getResponseCode() != 200) { throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode()); } BufferedReader br = new BufferedReader(new InputStreamReader( (conn.getInputStream()))); StringBuilder response = new StringBuilder(); String output; while ((output = br.readLine()) != null) { response.append(output); } conn.disconnect(); System.out.println(response.toString()); } } ``` 此代码片段展示了基本的HTTP GET请求流程,适用于大多数提供JSON格式数据的服务接口。对于更复杂的场景,比如POST请求提交参数或上传文件,则可能需要用到其他库如Apache HttpClient或者OkHttp等第三方工具包。 如果DeepSeek API支持OAuth认证或者其他形式的身份验证机制,在发起实际请求之前还需要完成相应的授权过程。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值