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

【JAVA】阿里云百炼平台对接DeepSeek-V3大模型使用详解

1、DeepSeek简介

DeepSeek的火热让全世界见证了一场国产AI大模型走向巅峰的盛宴。DeepSeek的横空出世一方面让AI大模型的格局得到重塑,另一方面,对于普通人来说,也有机会零距离的体验到更懂国人的AI大模型。从很多使用过后的小伙伴们的反馈来看,DeepSeek的回答更有作为”人”的人性且有温度的回答,另一方面,很多团以开始尝试本地部署DeepSeek模型,不过考虑到部署依颊的硬件环境资源开销巨大,所以许多云厂商陆续入场,提供低成本、甚至接近零成本的接入方式,方便开发者或应用对接者快速使用,比如腾讯元宝、阿里云百炼平台等。

本文以阿里云百炼平台为例,分享如何基于阿里云百炼平台快速接入和使用DeepSeek模型。

2、阿里百炼

阿里百炼调用模型服务平台接口的流程包括以下几步:

  1. 注册并登录模型服务平台

    官网地址:https://www.aliyun.com/product/bailian
  2. 申请调用模型API的Key:

    当您调用大模型时,需要获取API Key作为调用时的鉴权凭证。

  3. 查看接口文档

  4. 调用API。(调用方式SDK或者HTTP的方式)

3、JAVA调用

3.1 JAR包引用

      <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.9.3</version></dependency>

3.2 代码

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import okhttp3.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;public class AliDs {private static final Logger LOGGER = LoggerFactory.getLogger(AliDs.class);// OpenAI API 密钥private static final String API_KEY = "sk-*****";// OpenAI API 基础 URLprivate static final String BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions";// 模型名称private static final String MODEL = "deepseek-v3";// 温度参数private static final double TEMPERATURE = 0.30;private static OkHttpClient client = new OkHttpClient.Builder().connectTimeout(240, TimeUnit.SECONDS)  // 连接超时时间.readTimeout(240, TimeUnit.SECONDS)     // 读取超时时间.writeTimeout(240, TimeUnit.SECONDS)    // 写入超时时间.build();public static void main(String[] args) {long startTime = System.currentTimeMillis();JsonObject result = doTask();LOGGER.info(result.toString());long endTime = System.currentTimeMillis();long time = (endTime - startTime) / 1000;LOGGER.info("运行时间:" + time + "秒");}public static JsonObject doTask() {try {// 构建消息列表List<JsonObject> messages = new ArrayList<>();JsonObject userMessage = new JsonObject();userMessage.addProperty("role","user");userMessage.addProperty("content", "你是谁?");messages.add(userMessage);// 调用 chat-completionString completionResponse = chatCompletion(client, messages);System.out.println(completionResponse);JsonObject jsonObject = new Gson().fromJson(completionResponse, JsonObject.class);return jsonObject;} catch (Exception e){e.printStackTrace();return null;}}// 调用 chat-completion 接口private static String chatCompletion(OkHttpClient client, List<JsonObject> messages) {JsonObject requestBody = new JsonObject();requestBody.addProperty("model", MODEL);requestBody.add("messages", new Gson().toJsonTree(messages));JsonObject responseFormat = new JsonObject();responseFormat.addProperty("type", "json_object");requestBody.add("response_format", responseFormat);requestBody.addProperty("temperature", TEMPERATURE);
//        requestBody.addProperty("stream", false);Request request = new Request.Builder().url(BASE_URL).addHeader("Authorization", "Bearer " + API_KEY).addHeader("Content-Type", "application/json").post(RequestBody.create(requestBody.toString(), MediaType.parse("application/json"))).build();try (Response response = client.newCall(request).execute()) {if (!response.isSuccessful()) {throw new IOException("Unexpected code " + response);}String responseBody = response.body().string();return responseBody;} catch (IOException e) {e.printStackTrace();return null;}}}

3.3 输出结果

{"output": {"choices": [{"finish_reason": "stop","message": {"role": "assistant","content": "你好!我是DeepSeek-R1,一个由深度求索公司开发的人工智能助手,我擅长通过思考来帮您解答复杂的数学,代码和逻辑推理等理工类问题。如需最新模型体验,请前往深度求索的官方网站查询。","reasoning_content": "好的,用户问“你是谁?”,我需要回答这个问题。首先,我要回想一下之前设置的自我介绍内容,确保一致性。用户可能是刚开始使用,或者想确认我的身份和功能。\n\n我需要明确说明我是DeepSeek-R1,由深度求索公司开发的人工智能助手。要强调我的目的是帮助用户解决问题,提供信息,同时保持友好和专业的语气。\n\n同时,用户可能有更深层的需求,比如确认我的能力范围,或者想知道我与其他AI的不同。所以可以适当提到我的功能,比如回答问题、提供建议等,但不需要太详细,保持简洁。\n\n还要注意避免使用技术术语,保持回答自然易懂。最后,保持开放式的结尾,鼓励用户继续提问,促进进一步的交流。"}}]},"usage": {"total_tokens": 226,"output_tokens": 206,"input_tokens": 20},"request_id": "9fb73af5-940e-9107-a4b6-74c9e541eb3f"
}

相关文章:

【JAVA】阿里云百炼平台对接DeepSeek-V3大模型使用详解

1、DeepSeek简介 DeepSeek的火热让全世界见证了一场国产AI大模型走向巅峰的盛宴。DeepSeek的横空出世一方面让AI大模型的格局得到重塑&#xff0c;另一方面&#xff0c;对于普通人来说&#xff0c;也有机会零距离的体验到更懂国人的AI大模型。从很多使用过后的小伙伴们的反馈来…...

springboot项目部署脚本

Springboot部署脚本 该脚本可用于jenkins自动执行&#xff0c;具有以下功能 适配所有以内嵌tomcat容器springboot项目jar包可根据参数选择环境&#xff0c;基于profiles可自动识别并关闭已存在进程第一个参数是指定jar包所在绝对路径(该路径下必须有且仅有一个.jar文件) 第二…...

黑马Java面试教程_P5_微服务

系列博客目录 文章目录 系列博客目录1.引言2.Spring Cloud2.1 Spring Cloud 5大组件有哪些?面试文稿 2.2 服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?面试文稿 2.3 我看你之前也用过nacos、你能说下nacos与eureka的区别?面试文稿 2.4 你们项目负载均衡如…...

使用Fuse-DFS挂载文件存储 HDFS-后端存储ceph

1. 编译环境准备 yum install cmake3 ln -s /usr/bin/cmake3 /usr/bin/cmake yum install gcc-c安装挂载依赖 yum -y install fuse fuse-devel fuse-libs执行以下命令&#xff0c;载入FUSE模块 modprobe fuse2. 下载源码包 hadoop-3.3.4-src.tar.gz解压后执行以下命令 打开…...

生成式AI项目的生命周期

总结自视频&#xff08;吴恩达大模型入门课&#xff09;&#xff1a;9_13_generative-ai-project-lifecycle_哔哩哔哩_bilibili 生成周期如下图&#xff0c;包含四部分&#xff1a;任务范围&#xff08;Scope&#xff09;&#xff0c;选择大模型&#xff08;Select&#xff09…...

SOC-ATF 安全启动BL1流程分析(1)

一、ATF 源码下载链接 1. ARM Trusted Firmware (ATF) 官方 GitHub 仓库 GitHub 地址: https://github.com/ARM-software/arm-trusted-firmware 这是 ATF 的官方源码仓库&#xff0c;包含最新的代码、文档和示例。 下载方式&#xff1a; 使用 Git 克隆仓库&#xff1a; git…...

游戏引擎学习第127天

仓库:https://gitee.com/mrxiao_com/2d_game_3 为本周设定阶段 我们目前的渲染器已经实现了令人惊讶的优化&#xff0c;经过过去两周的优化工作后&#xff0c;渲染器在1920x1080分辨率下稳定地运行在60帧每秒。这个结果是意料之外的&#xff0c;因为我们没有预计会达到这样的…...

Grafana使用日志7--开启Sigv4

背景 在Grafana中&#xff0c;有些data source是需要开启sigv4认证的&#xff0c;例如OpenSearch&#xff0c;这个配置项默认是关闭的&#xff0c;这里我们介绍一下怎么开启 步骤 传统方式 如果我们想在Grafana中开启sigv4认证&#xff0c;我们需要在grafana.ini中修改一个…...

UWB人员定位:精准、高效、安全的智能管理解决方案

在现代企业管理、工业生产、安全监测等领域&#xff0c;UWB&#xff08;超宽带&#xff09;人员定位系统正逐步成为高精度定位技术的首选。相较于传统的GPS、Wi-Fi、蓝牙等定位方式&#xff0c;UWB具备厘米级高精度、低延迟、高安全性、抗干扰强等突出优势&#xff0c;能够实现…...

二、QT和驱动模块实现智能家居----2、编译支持QT的系统

因为我们的Linux内核文件不支持QT系统&#xff08;当然如果你的支持&#xff0c;完全跳过这篇文章&#xff09;&#xff0c;所以我们要从网上下载很多软件包&#xff0c;这里直接用百问网的软件包&#xff0c;非常方便。 一&#xff1a;Ubuntu 配置 1 设置交叉编译工具链 以…...

Windows上使用go-ios实现iOS17自动化

前言 在Windows上运行iOS的自动化&#xff0c;tidevice对于iOS17以上并不支持&#xff0c;原因是iOS 17 引入新通信协议 ‌RemoteXPCQUIC‌&#xff0c;改变了 XCUITest 的启动方式。 一、go-ios的安装 1、安装命令&#xff1a;npm i go-ios 2、安装完成后输入命令which io…...

越南SD-WAN跨境组网专线助力制造业访问国内 OA、ERP系统难题

近年来&#xff0c;随着全球制造业格局的不断调整&#xff0c;越来越多的制造业企业选择将工厂建立在越南。越南凭借其相对低廉的劳动力成本、优惠的政策以及优越的地理位置&#xff0c;吸引了大量的外资制造业企业入驻。然而&#xff0c;这些在越南设厂的企业却面临着一个棘手…...

【广度优先搜索】图像渲染 岛屿数量

文章目录 733. 图像渲染解题思路&#xff1a;BFS200. 岛屿数量解题思路&#xff1a;广度优先遍历 733. 图像渲染 733. 图像渲染 ​ 有一幅以 m x n 的二维整数数组表示的图画 image &#xff0c;其中 image[i][j] 表示该图画的像素值大小。 ​ 你也被给予三个整数 sr , sc 和…...

Rust学习总结之-枚举

枚举是一个很多语言都有的功能&#xff0c;不过不同语言中其功能各不相同但是要表达的意思是一致的&#xff0c;枚举就是对于一个事物可以穷举出所有可能得值。比如说人的性别就可以用枚举&#xff0c;男人和女人两种。下面我们来学习Rust中的枚举。 一&#xff1a;枚举定义 …...

Linux下用route命令修改默认网关,不用重启网络

在Linux系统中&#xff0c;可以使用route命令来修改默认网关&#xff0c;而不需要重启网络。 下面是使用route命令修改默认网关的步骤&#xff1a; 打开终端窗口&#xff0c;以root用户或拥有sudo权限的用户身份登录。 使用以下命令查看当前的路由表信息&#xff1a; route…...

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

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

【练习】【贪心】力扣1005. K 次取反后最大化的数组和

题目 1005 K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可…...

python学习七

作用域&#xff1a; 在编程语言中定义变量的可见性和生命周期的规则集合。它决定了在程序中的哪些位置可以访问或引用某个变量 1.全局作用域&#xff1a; 全局作用域是指在整个程序中都可见的变量。在函数外 部定义的变量通常具有全局作用域&#xff0c;在任何地方都可以访问和…...

安全运营的“黄金4小时“:如何突破告警疲劳困局

在当今复杂多变的网络安全环境中&#xff0c;安全团队面临着前所未有的挑战。尤其是面对高级持续性威胁&#xff08;APT&#xff09;时&#xff0c;最初的“黄金4小时”成为决定成败的关键窗口。在这段时间内&#xff0c;快速而准确地响应可以极大地降低损失&#xff0c;然而&a…...

本地部署Embedding模型API服务的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。授权多项发明专利。对机器学…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...