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

快速集成DeepSeek到项目

DeepSeek API-KEY 获取

  1. 登录DeekSeek 官网,进入API 开放平台

在这里插入图片描述
2. 创建API-KEY
在这里插入图片描述

  1. 复制API-KEY进行保存,后期API调用使用

在这里插入图片描述

项目中集成DeepSeek

这里只展示部分核心代码,具体请查看源码orange-ai-deepseek-biz-starter

@Slf4j
@AllArgsConstructor
public class DeepSeekChatModelServiceImpl implements ChatModelService {private final DeepSeekStorageProperties deepSeekStorageProperties;@Overridepublic PlatformEnum getPlatform() {return PlatformEnum.DEEP_SEEK;}@Overridepublic Flux<Result<ConversationReplyVO>> conversationStream(ConversationParam param) {return conversationStream(param, List.of());}@Overridepublic Flux<Result<ConversationReplyVO>> conversationStream(ConversationParam param, List<ChatSessionRecordVO> contextMessageList) {OkHttpClient client = new OkHttpClient();MediaType mediaType = MediaType.get("application/json");ChatCompletionsParam reqBody = generateChatRequestBody(param, contextMessageList);Request request = new Request.Builder().url(deepSeekStorageProperties.getChatUrl()).addHeader(SecurityConstant.AUTHORIZATION, "Bearer " + deepSeekStorageProperties.getToken()).post(RequestBody.create(JSONUtil.toJsonStr(reqBody), mediaType)).build();return Flux.create(emitter -> {EventSourceListener listener = new EventSourceListener() {@Overridepublic void onOpen(@NotNull EventSource eventSource, @NotNull Response response) {System.out.println("SSE connection opened");}@Overridepublic void onClosed(@NotNull EventSource eventSource) {emitter.complete();System.out.println("SSE connection closed");}@Overridepublic void onEvent(@NotNull EventSource eventSource, String id, String type, @NotNull String data) {if (log.isDebugEnabled()) {log.debug("data:{}", data);}if (StrUtil.isBlank(data) || DeepSeekContent.DONE.equalsIgnoreCase(data)) {emitter.complete();return;}ChatCompletionsResponse response = JSONUtil.toBean(data, ChatCompletionsResponse.class);StringBuilder content = new StringBuilder();for (ChatCompletionsResponse.ChoiceItem choice : response.getChoices()) {content.append(choice.getDelta().getContent());}emitter.next(ResultWrapper.ok(ConversationReplyVO.builder().content(content.toString()).build()));}@Overridepublic void onFailure(@NotNull EventSource eventSource, Throwable t, Response response) {System.err.println("Error occurred: " + t);}};EventSource.Factory factory = EventSources.createFactory(client);factory.newEventSource(request, listener);});}private ChatCompletionsParam generateChatRequestBody(ConversationParam param, List<ChatSessionRecordVO> contextMessageList) {List<MessageItem> messages = new ArrayList<>();if (CollUtil.isNotEmpty(contextMessageList)) {for (ChatSessionRecordVO record : contextMessageList) {if (MessageTypeEnum.USER.equals(record.getMessageType())) {messages.add(MessageItem.builder().role(MessageType.USER.getValue()).content(record.getContent()).build());continue;}if (MessageTypeEnum.ASSISTANT.equals(record.getMessageType())) {messages.add(MessageItem.builder().role(MessageType.ASSISTANT.getValue()).content(record.getContent()).build());}}}messages.add(MessageItem.builder().role(MessageType.USER.getValue()).content(param.getPrompt()).build());return ChatCompletionsParam.builder().model(param.getModelCode()).messages(messages).stream(Boolean.TRUE).build();}}

体验DeepSeek

  • 在线体验: http://tiny.hengzq.cn
    在这里插入图片描述

Orange开源项目推荐

  • Orange 官网: http://hengzq.cn
  • 在线体验: http://tiny.hengzq.cn
  • 项目文档: http://hengzq.cn/orange-monomer/
  • 单体架构-后端源码下载【GitHub】: https://github.com/hengzq/orange-monomer
  • 单体架构-后端源码下载【Gitee】: https://gitee.com/hengzq/orange-monomer
  • 微服务版本-后端源码下载【GitHub】: https://github.com/hengzq/orange-cloud
  • 微服务版本-后端源码下载【Gitee】: https://gitee.com/hengzq/orange-cloud
  • 前端源码下载【GitHub】: https://github.com/hengzq/orange-cloud
  • 前端源码下载【Gitee】: https://gitee.com/hengzq/orange-cloud

参考

  • https://api-docs.deepseek.com/zh-cn/

相关文章:

快速集成DeepSeek到项目

DeepSeek API-KEY 获取 登录DeekSeek 官网&#xff0c;进入API 开放平台 2. 创建API-KEY 复制API-KEY进行保存&#xff0c;后期API调用使用 项目中集成DeepSeek 这里只展示部分核心代码&#xff0c;具体请查看源码orange-ai-deepseek-biz-starter Slf4j AllArgsConstructo…...

基础连接已经关闭: 服务器关闭了本应保持活动状态的连接

您在进行 HTTP 请求时遇到“基础连接已经关闭: 服务器关闭了本应保持活动状态的连接”的错误&#xff0c;这通常与连接的保持活动&#xff08;Keep-Alive&#xff09;设置有关。以下是可能的原因和解决方法&#xff1a; 可能的原因&#xff1a; Keep-Alive 设置&#xff1a; 默…...

[前端] axios网络请求二次封装

一、场景描述 为什么要对axios网络请求进行二次封装? 解决代码的复用&#xff0c;提高可维护性。 —这个有两个方案&#xff1a;一个是二次封装一个是实例化。&#xff08;设置一些公共的参数&#xff0c;然后进行请求&#xff09; 为什么可以解决代码的复用&#xff1a; 这是…...

本地部署DeepSeek Nodejs版

目录 1.下载 Ollama 2.下载DeepSeek模型 3.下载 ollama.js 1.下载 Ollama https://ollama.com/ 下载之后点击安装&#xff0c;等待安装成功后&#xff0c;打开cmd窗口&#xff0c;输入以下指令&#xff1a; ollama -v 如果显示了版本号&#xff0c;则代表已经下载成功了。…...

【PL/SQL】常用操作复习20250212

目录标题 1.基本语法结构二级目录三级目录 1.基本语法结构2。变量声明和使用3. SELECT 查询4.插入 insert5.更新UPDATE6.删除(DELETE) 7游标 cursor例子1&#xff1a;基本游标使用例子2&#xff1a;使用FOR循环的简化写法实际应用例子&#xff1a;给高工资员工增加奖金 8 IF 条…...

vue3-02基础认识vue3中main.js入口文件,app.vue(不存在唯一根节点),扩展程序vue-devtools安装

1.main.js入口文件 main.js入口文件 // 引入的再是vue构造函数 // 引入的是createApp的工厂函数-直接进行引用 import { createApp } from vue import App from ./App.vue// vue3中 // createApp(App).mount(#app) // 创建应用实列对象-类似vue2中的vm,app比vm更轻 const app…...

如何下载Qt和运行第一个程序。

Ubuntu24.04 下载比较容易&#xff0c;基本都是无脑操作。途中汇出现有个别package下载不成功的情况&#xff0c;重新下载即可。 文章目录 下载qt运行qt第一个项目 下载qt 1.先找到官网&#xff0c;点击Download。 2.然后选择&#xff0c;community User 3.然后会跳转到这个…...

【MySQL例题】我在广州学Mysql 系列——有关数据备份与还原的示例

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天周二&#xff0c;明天就是元宵节了呀&#xff01;&#xff01;&#x1f606; 俗话说“众里寻他千百度。蓦然回首&#xff0c;那人却在&#xff0c;灯火阑珊处。” 本文主要对数据库备份与还原的知识点例题学习~~ 前情回顾&…...

硬件学习笔记--40 电磁兼容试验-4 快速瞬变脉冲群试验介绍

目录 电磁兼容试验-快速瞬变脉冲群试验介绍 1.试验目的 2.试验方法 3.判定依据及意义 电磁兼容试验-快速瞬变脉冲群试验介绍 驻留时间是在规定频率下影响量施加的持续时间。被试设备&#xff08;EUT&#xff09;在经受扫频频带的电磁影响量或电磁干扰的情况下&#xff0c;在…...

国密算法SM1、SM2、SM3和SM4 具体的使用和区别

国密算法是中国自主研发的密码算法&#xff0c;包括SM1、SM2、SM3和SM4&#xff0c;分别用于不同场景。以下是它们的具体使用和区别&#xff1a; SM1 对称加密算法 类型: 对称加密 密钥长度: 128位 使用场景: 用于数据加密和解密&#xff0c;适用于金融、政务等领域。 特点: …...

在Ubuntu中安装Docker并配置国内镜像

官方下载安装链接 https://docs.docker.com/engine/install/ubuntu/ 1.查看系统版本&#xff0c;并与之与docker文档对应 OS requirements# 查看系统版本命令 lsb_release -a 2.卸载旧版本 Uninstall old versions 3.安装新版本 Installation methods Install using the…...

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

目录 一、前言 二、DeepSeek简介 2.1 DeepSeek 是什么 2.2 DeepSeek R1特点 2.2.1 DeepSeek-R1创新点 2.3 DeepSeek R1应用场景 2.4 与其他大模型对比 三、阿里云百炼大平台介绍 3.1 阿里云百炼大平台是什么 3.2 阿里云百炼平台主要功能 3.2.1 应用场景 3.3 为什么选…...

DeepSeek本地部署详细指南

DeepSeek本地部署详细指南 随着人工智能技术的飞速发展&#xff0c;本地部署大模型的需求也日益增加。DeepSeek作为一款开源且性能强大的大语言模型&#xff0c;提供了灵活的本地部署方案&#xff0c;让用户能够在本地环境中高效运行模型&#xff0c;同时保护数据隐私。以下是…...

厘米和磅的转换关系

在排版和设计领域&#xff0c;厘米&#xff08;cm&#xff09;和磅&#xff08;pt&#xff09;都是常用的长度度量单位&#xff0c;它们之间的转换关系基于特定的换算标准&#xff0c;下面为你详细介绍&#xff1a; 基本换算关系 磅是印刷行业常用的长度单位&#xff0c;1英寸…...

Unity-Mirror网络框架-从入门到精通之LagCompensation示例

文章目录 前言什么是滞后补偿Lag Compensation示例延迟补偿原理ServerCubeClientCubeCapture2DSnapshot3D补充LagCompensation.cs 独立算法滞后补偿器组件注意:算法最小示例前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mir…...

DeepSeek+3D视觉机器人应用场景、前景和简单设计思路

DeepSeek3D视觉机器人在多个领域具有广泛的应用场景和巨大的前景。以下是详细的分析&#xff1a; 应用场景 制造业 自动化装配&#xff1a;机器人可以精确地抓取和装配零件&#xff0c;提高生产效率和产品质量。 质量检测&#xff1a;通过3D视觉技术检测产品缺陷&#xff0c;确…...

STM32+Proteus+DS18B20数码管仿真实验

1. 实验准备 硬件方面&#xff1a; 了解 STM32 单片机的基本原理和使用方法&#xff0c;本实验可选用常见的 STM32F103 系列。熟悉 DS18B20 温度传感器的工作原理和通信协议&#xff08;单总线协议&#xff09;。数码管可选用共阴极或共阳极数码管&#xff0c;用于显示温度值。…...

Java自动生成api文档

在 Java 开发中&#xff0c;自动生成 API 文档是一项非常实用的功能&#xff0c;它能帮助开发者快速了解项目中的类、方法、参数等信息。以下为你介绍几种常见的 Java 自动生成 API 文档的方式&#xff1a; 1. 使用 Javadoc Javadoc 是 Java 自带的工具&#xff0c;它可以从 J…...

PHP的JIT编译器

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 PHP是一种广泛使用的脚本语言&#xff0c;被用于构建…...

Golang学习历程【第七篇 闭包type defer panic recover了解time包】

Golang学习历程【第七篇 闭包&type defer panic recover了解】 1. 闭包1.1 闭包的定义1.2 闭包的特点1.3 闭包的示例 2. 类型(type)2.1 自定义类型2.2 类型示例 3. 延迟执行&#xff08;Defer&#xff09;3.1 defer 的用法3.2 defer 示例 4. 恐慌&#xff08;Panic&#xf…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...