当前位置: 首页 > article >正文

JAVA调用Deepseek的api,完成基本对话

一、准备工作

注册账号

  1. 访问 DeepSeek 官网(如 https://www.deepseek.com/)或对应平台。
  2. 完成注册并登录,部分服务可能需要企业认证或申请权限。

获取 API 密钥(如使用 API)

  1. 进入控制台或开发者页面,创建 API Key。
  2. 保存密钥(如 sk-xxxxxxxxx),勿泄露给他人。

安装必要工具

  1. 如使用编程调用,需安装 Python 环境及依赖库:
    pip install requests openai  # 部分服务可能需要特定 SDK
    

二、基础使用(以 API 为例)

示例 1:通过 HTTP 请求调用

import requests
 
url = "https://api.deepseek.com/v1/chat/completions"  # 替换为实际 API 地址
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "model": "deepseek-chat",  # 指定模型名称
    "messages": [
        {"role": "user", "content": "你好,请介绍 DeepSeek 的功能。"}
    ]
}
 
response = requests.post(url, json=data, headers=headers)
print(response.json())

示例 2:使用官方 SDK(如有)
若提供 SDK,安装后调用更便捷:

from deepseek import DeepSeekClient
 
client = DeepSeekClient(api_key="YOUR_API_KEY")
response = client.chat_completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "写一首关于春天的诗"}]
)
print(response.choices[0].message.content)

三、高级功能

1. 调整模型参数

  1. 控制生成结果的参数(如随机性、长度):
{
    "temperature": 0.7,  # 值越高越随机(0-2)
    "max_tokens": 500,   # 生成最大长度
    "top_p": 0.9         # 多样性控制
}
2. 多轮对话
  1. 维护 messages 历史记录实现连续对话:
messages = [
    {"role": "user", "content": "如何学习机器学习?"},
    {"role": "assistant", "content": "建议从基础数学和 Python 开始..."},
    {"role": "user", "content": "推荐一些实践项目。"}
]

————————————————

四. 添加HTTP客户端依赖使用Java的HTTP客户端库(如Apache HttpClient或OkHttp)来发送HTTP请求。如果使用Maven,可以在pom.xml中添加依赖:、

<!-- Apache HttpClient -->
<dependency>    
	<groupId>org.apache.httpcomponents</groupId>    		
	<artifactId>httpclient</artifactId>    
	<version>4.5.13</version>
</dependency>
<!-- OkHttp -->
<dependency>    
	<groupId>com.squareup.okhttp3</groupId>    
	<artifactId>okhttp</artifactId>    
	<version>4.9.3</version>
</dependency>
  1. 创建HTTP请求使用HTTP客户端库创建请求,设置请求头、URL和请求体

示例1. 使用Apache HttpClient:

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
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;
public class DeepSeekClient {
    private static final String API_URL = "https://api.deepseek.com/v1/your-endpoint";    
    private static final String API_KEY = "your-api-key";
    public static void main(String[] args) {        
    	try (CloseableHttpClient httpClient = HttpClients.createDefault()) {            		
    		HttpPost httpPost = new HttpPost(API_URL);            
    		httpPost.setHeader("Authorization", "Bearer " + API_KEY);            
    		httpPost.setHeader("Content-Type", "application/json");
            String json = "{\"name\":\"tom\"}"; // 替换为实际请求体            
            httpPost.setEntity(new StringEntity(json));
            try (CloseableHttpResponse response = httpClient.execute(httpPost)) {                	
            	HttpEntity entity = response.getEntity();                
            	if (entity != null) {                   
            		String result = EntityUtils.toString(entity);                    
            		System.out.println(result);                
            	}            
            }        
          } catch (Exception e) {
               e.printStackTrace();        
            }    
          }
  }

示例2. 使用OkHttp

import okhttp3.*;
import java.io.IOException;
public class DeepSeekClient {
    private static final String API_URL = "https://api.deepseek.com/v1/your-endpoint";    
    private static final String API_KEY = "your-api-key";
    
    public static void main(String[] args) {        
    	OkHttpClient client = new OkHttpClient();
        MediaType mediaType = MediaType.parse("application/json");        
	        String json = "{\"name\":\"tom\"}"; // 替换为实际请求体
	        RequestBody body = RequestBody.create(mediaType, json);
        	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() && response.body() != null) {  
        	     System.out.println(response.body().string());            
        	}       
        } catch (IOException e) {            
        	e.printStackTrace();       
         }    
     }
 }

通过以上步骤,你可以在Java中成功对接DeepSeek API,也可整合springboot,通过springboot发送向deepseek发送请求。
————————————————


http://www.kler.cn/a/569401.html

相关文章:

  • HTML AI 编程助手
  • Spring系列学习之Spring Messaging消息支持
  • 基于FD-MIMO技术的雷达通信一体化系统波形设计matlab模拟与仿真
  • Android应用app实现AI电话机器人接打电话
  • 如何在netlify一键部署静态网站
  • 【极客时间】浏览器工作原理与实践-2 宏观视角下的浏览器 (6讲) - 2.3 HTTP请求流程:为什么很多站点第二次打开速度会很快?
  • Python Tornado 框架面试题及参考答案
  • 计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 知识图谱 大数据毕业设计
  • 视觉图像坐标转换
  • P8680 [蓝桥杯 2019 省 B] 特别数的和
  • 测试用例详解
  • 基于springboot的文旅网站系统的设计与实现
  • Linux mkdir 命令
  • DeepSeek学习规划
  • 运行程序时出现加载配置文件时出错,对路径****的访问被拒绝
  • Docker和K8S中pod、services、container的介绍和关系
  • NO.19十六届蓝桥杯模拟赛第三期上
  • 重新审视机器学习中的决策论
  • 2025.3.1学习内容----网络编程
  • Redis 哈希(Hash)