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 requestsurl = "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 DeepSeekClientclient = 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.mzph.cn/pingmian/70992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

013作用域

一、基本概念 C语言中&#xff0c;标识符都有一定的可见范围&#xff0c;这些可见范围保证了标识符只能在一个有限的区域内使用&#xff0c;这个可见范围&#xff0c;被称为作用域&#xff08;scope&#xff09;。 软件开发中&#xff0c;尽量缩小标识符的作用域是一项基本原…

AH表情捕捉设备:虚拟人动态表情捕捉

在虚拟人应用里&#xff0c;除了关注虚拟人能否展现流畅的肢体动作&#xff0c;其表情是否自然流畅同样关键。虚拟人作为新兴技术产物&#xff0c;广泛应用于娱乐直播、影视动画等领域。自然的表情能让虚拟人更具亲和力与真实感&#xff0c;大幅提升用户体验。 而广州虚拟动力…

pikachu

暴力破解 基于表单的暴力破解 【2024版】最新BurpSuit的使用教程&#xff08;非常详细&#xff09;零基础入门到精通&#xff0c;看一篇就够了&#xff01;让你挖洞事半功倍&#xff01;_burpsuite使用教程-CSDN博客 登录页面&#xff0c;随意输入抓包&#xff0c;发送到攻击…

az devops login报错:Failed to authenticate using the supplied token.

PowerShell&#xff0c;az devops login报错&#xff1a; Failed to authenticate using the supplied token. 检查了一下PAT token是对的。 检查命令&#xff1a; az devops login --organization https://dev.azure.com/xxxxxxxx/ 乍一看好像没问题问题&#xff0c;然后想…

C++预编译、编译、汇编、链接详解

一、准备阶段 g编译环境&#xff0c;配置好环境变量 新建一个helloworld.cpp #include <iostream> using namespace std; int main() {cout << "Hello, world!" << endl;return 0; }命令查看 g --help 二、预编译 预处理阶段对自定义和预定义…

docker使用代理的简单配置

1准备代理服务器 准备代理服务器&#xff0c;例如192.168.120.168:52209 配置docker.service文件 查看service文件的位置 systemctl status docker 编辑service文件 vim /usr/lib/systemd/system/docker.service 添加代理配置 ... [Service] Environment"HTTP_PROXY…

【FL0090】基于SSM和微信小程序的球馆预约系统

&#x1f9d1;‍&#x1f4bb;博主介绍&#x1f9d1;‍&#x1f4bb; 全网粉丝10W,CSDN全栈领域优质创作者&#xff0c;博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发…

使用esp32接入大模型(http请求)

本示例适用于所有乐鑫的esp32模组及开发板。使用串口通信和http协议。实现简单的和大模型对话要求。 话不多说直接上代码 #include <WiFi.h> #include <HTTPClient.h> #include <ArduinoJson.h>#define DEBUG 1// 替换为你的Wi-Fi网络凭据 #define WLAN_SSI…

GitHub高效搜索工具

[GitHub项目搜索工具] 一款开发者专属的星矿探测仪&#xff01; 你是否还在用stars:>1000手动筛选GitHub项目&#xff1f; 你是否经常为了找一个合适的开源库翻遍搜索结果&#xff1f; 这个工具或许能改变你的代码资源发掘方式… &#x1f31f; 痛点洞察 在GitHub的3.28亿个…

Windows Qt开发到底选MSVC编译还是MinGW编译?

Qt Windows开发编译器选择深度解析&#xff1a;MSVC与MinGW全面对比 一、编译器背景与核心定位 1.1 MSVC&#xff1a;微软生态的深度整合者 MSVC&#xff08;Microsoft Visual C&#xff09;是微软官方推出的C编译器套件&#xff0c;通常与Visual Studio开发环境深度绑定。作…

【解决】OnTriggerEnter/OnTriggerExit 调用匿名委托误区的问题

开发平台&#xff1a;Unity 开发语言&#xff1a;CSharp 6.0 开发工具&#xff1a;Visual Studio 2022   问题背景 public void OnTriggerEnter(Collider collider) {output.OnInteractionNoticed () > OnInteractionTriggered?.Invoke(); }public void OnTriggerExit(C…

【uniapp原生】实时记录接口请求延迟,并生成写入文件到安卓设备

在开发实时数据监控应用时&#xff0c;记录接口请求的延迟对于性能分析和用户体验优化至关重要。本文将基于 UniApp 框架&#xff0c;介绍如何实现一个实时记录接口请求延迟的功能&#xff0c;并深入解析相关代码的实现细节。 前期准备&必要的理解 1. 功能概述 该功能的…

支付宝 IoT 设备入门宝典(下)设备经营篇

上篇介绍了支付宝 IoT 设备管理&#xff0c;但除了这些基础功能外&#xff0c;商户还可以利用设备进行一些运营动作&#xff0c;让设备更好的帮助自己&#xff0c;本篇就会以设备经营为中心&#xff0c;介绍常见的设备相关能力和问题解决方案。如果对上篇感兴趣&#xff0c;可以…

通过查询hive的元数据库中的表分区清单,拼写出来删除表分区的sql脚本

以下是通过直接查询Hive元数据库生成分区删除SQL的脚本方案&#xff0c;支持MySQL/PostgreSQL元数据库类型&#xff0c;已考虑安全性和性能优化&#xff1a; #!/bin/bash # 脚本名称&#xff1a;metastore_drop_partitions.sh # 描述&#xff1a;通过Hive元数据库生成分区删除…

船舶广播系统:航行中的信息枢纽和安全保障

船舶广播系统是船舶重要的通信设备之一&#xff0c;承担着船舶内部通信、对外联络、应急广播等重要功能&#xff0c;船舶广播系统是船舶上的一种重要设备&#xff0c;它可以用于传递重要信息和指示&#xff0c;是保障船舶安全航行和乘客安全的重要设施。 船舶广播系统通常由以…

Unity插件-Mirror使用方法(一)Mirror介绍

目录 一、使用介绍 二、插件介绍 1、简述 2、核心功能与特点 基于组件的高层抽象 服务器-客户端架构 序列化与同步 可扩展性与灵活性 跨平台支持 社区与生态 3、典型应用场景 4、基本使用示例 安装 设置 NetworkManager 同步变量与 RPC 5、优缺点对比 6、为什…

企业如何挖掘数据资产价值?

本期推荐&#xff1a;挖掘数据资产价值&#xff0c;赋能企业发展&#xff0c;共28页ppt。 关注WeChat Subscription Account【智慧城市指北】&#xff0c;回复关键字“20250228数据资产”&#xff0c;获取获得本文电子版材料的方式(非无偿&#xff09;~ 篇幅限制&#xff0c;…

使用tkinter有UI方式来拷贝Excel文件

有需求使用tkinter 有用户交互界面来拷贝Excel文件&#xff0c;最后进行打包完成 代码如下&#xff0c;实现思路是先使用tkinter库选择Excel路径&#xff0c;然后保存到txt文档&#xff0c; import time import tkinter from pathlib import Path from typing import Optiona…

Android实现漂亮的波纹动画

Android实现漂亮的波纹动画 本文章讲述如何使用二维画布canvas和camera、矩阵实现二、三维波纹动画效果&#xff08;波纹大小变化、画笔透明度变化、画笔粗细变化&#xff09; 一、UI界面 界面主要分为三部分 第一部分&#xff1a;输入框&#xff0c;根据输入x轴、Y轴、Z轴倾…

Datawhale 数学建模导论二 笔记5 多模数据与智能模型

主要涉及到的知识点有&#xff1a; 数字图像处理与计算机视觉 计算语言学与自然语言处理 数字信号处理与智能感知 10.1 数字图像处理与计算机视觉 视觉信息是我们第一种非常规的数据模式&#xff0c;在Python当中可以使用opencv处理数字图像&#xff0c;并提取出视觉特征用…