SpringBoot集成deepseek

springboot接入deepseek深度求索 java 以下是在springboot中接入aideepseek的过程。官网并没有java的示例。 阅读详情

pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.xbs</groupId>
    <artifactId>springAI-openAi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springAI-openAi</name>
    <description>springAI-openAi</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0-M6</spring-ai.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
        </dependency>

<!--        <dependency>-->
<!--            <groupId>com.mysql</groupId>-->
<!--            <artifactId>mysql-connector-j</artifactId>-->
<!--            <scope>runtime</scope>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.baomidou</groupId>-->
<!--            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>-->
<!--            <version>3.5.10.1</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-pdf-document-reader</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-openai</artifactId>

        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

yaml配置文件:

spring:
    ai:
        openai:
            base-url: https://api.deepseek.com  # DeepSeek的OpenAI式端点
            api-key: sk-a26bd8370bf349f3a47313685917fe4d
            chat.options:
                model: deepseek-chat  # 指定DeepSeek的模型名称

添加配置类:

package com.xp.ai.config;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class CommonConfiguration {

    // 注意参数中的model就是使用的模型,这里用了Ollama,也可以选择OpenAIChatModel
    @Bean
    public ChatClient chatClient(OpenAiChatModel model) {
        return ChatClient.builder(model) // 创建ChatClient工厂
                .build(); // 构建ChatClient实例
    }
}

添加service层:

package com.xp.ai.service;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;

@Service
public class AiChatService {
    
    private final ChatClient chatClient;
    
    public AiChatService(ChatClient chatClient) {
        this.chatClient = chatClient;
    }
    
    // 流式响应方法
    public Flux<String> streamChat(String message) {
        return chatClient
                .prompt()
                .user(message)
                .stream()
                .content();
    }

}

controller:

package com.xp.ai.controller;

import com.xp.ai.service.AiChatService;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

@RestController
@RequestMapping("/api/chat")
public class ChatController {
    
    private final AiChatService aiChatService;
    
    public ChatController(AiChatService aiChatService) {
        this.aiChatService = aiChatService;
    }
    
    @GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    public Flux<String> streamChat(@RequestParam String message) {
        return aiChatService.streamChat(message);
    }
}

postman验证:

CTF-Web学习笔记:服务端请求伪造(SSRF)篇 本文系统介绍了CTF比赛中SSRF漏洞的攻防技术。首先解析了SSRF的核心原理,即利用服务器对用户输入URL的未校验缺陷,诱导其访问内网资源。然后详细分析了5类常见CTF题型:文件读取、内网探测、云服务元数据窃取、协议绕过及组合漏洞利用。重点讲解了绕过URL过滤、利用特殊协议(如dict://、gopher://)等实战技巧,并通过一道SSRF+Redis的高阶题目演示完整攻击链。最后给出防御建议:严格校验输入URL、禁用危险协议、实施内网隔离等。 阅读详情

相关推荐

IEEE投稿完整流程——以IEEE Transactions on Cybernetics为例【附:论文格式模板】

前言 以下是官方的流程,包括了论文的格式和提交的流程,重要!重要!重要! 在IEEE的官网中,也有论文提交的文件 可以直接参考: 中文版: 作者指南 英文版: Manuscripts-Author-Guide 作者指南的版本指导流程可能和最新版的官网不一致!!! 或者在下面的链接中,按照你的论文类型,选择不同的论文模板: IEEE article template 以下以IEEE Transactions on Cybernetics 为例子 IEEE Transactions on Cyberne

XC___XC的博客 10万+

SpringBoot或SpringAI对接DeekSeek大模型

java调用deepseek,springBoot调用deepseek,springAI调用deepseek

weixin_60523038的博客 4523

解密高并发系统的瓶颈:五大解决方案

在互联网应用中,高并发是指在短时间内同时有大量的用户访问一个网站或服务,造成系统压力过大,导致服务器宕机或服务停止响应的情况。高并发是互联网应用面临的一个重要问题,需要采取一系列措施来解决。负载均衡、缓存、数据库优化、异步处理和分布式架构是解决高并发问题的主要方法。在实际应用中,需要根据具体情况选择不同的方法来解决高并发问题。在高并发情况下,使用负载均衡是解决问题的一种常见方法。负载均衡可以通过将请求分配到多个服务器上,从而减少单个服务器的负载。这可以通过硬件设备或软件实现。

BUG制造者:图图 <p>这是一个P标签</p> 3903

SpringBoot整合DeepSeek技术指南(2025版)

SpringBoot整合DeepSeek技术指南(2025版)

hjy1821的博客 3458

【读代码】TradingAgents:基于多智能体LLM的金融交易框架深度解析

TradingAgents是由Tauric Research团队开源的创新型金融交易框架,其核心思想是通过多智能体协作系统模拟专业交易机构的决策流程。项目采用模块化设计,整合了LLM、实时数据分析、风险控制等组件,实现了从市场分析到交易执行的完整闭环。

kakaZhui的博客 2003

Unity游戏开发实战:用Flow Field实现RTS百人军团流畅寻路(附完整代码)

本文深入探讨了在Unity中利用流场寻路技术解决RTS游戏大规模单位移动性能瓶颈的实战方案。通过解析从Dijkstra算法生成成本场、积分场到最终向量场的核心原理,并结合分块、缓存及与DOTS/ECS架构集成的优化策略,实现了百人军团的流畅群体寻路。文章提供了完整的代码示例,助力开发者构建高性能的RTS寻路系统。

weixin_28363123的博客 587

Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API,以及本地私有化部署DeepSeek R1模型两种方式来整合使用。本地化私有部署可以参考这篇博文。

xiangjunyes的博客 1万+

PaddleOCR转ONNX模型实战:5分钟搞定中文OCR推理部署(附完整代码)

本文详细介绍了将PaddleOCR模型转换为ONNX格式并进行高效推理部署的完整实战方案。通过Paddle2ONNX工具实现模型转换,利用ONNX Runtime构建跨平台推理引擎,涵盖环境配置、模型优化、批量处理及多平台部署等关键步骤,显著提升中文OCR在边缘设备上的推理性能。

weixin_29051811的博客 616

SpringBoot集成DeepSeek

Spring AI是Spring官方推出的开源框架,旨在为Java开发者提供方便的AI集成能力。其核心是通过抽象化和模块化设计,简化AI功能的接入步骤,同时保持与Spring生态的无缝兼容。以下是其主要特点与功能:统一的抽象API:支持主流AI服务,如 OpenAI、DeepSeek、Google、和Ollama等,提供了提供标准化的接口。核心功能模块:模型交互、向量处理、检索增强生成(RAG)、函数调用。

李东阳的博客 1701

【Chisel】2.4 时序逻辑

2.4 时序逻辑@[TOC](2.4 时序逻辑)前言寄存器(`Reg`)实例Chisel的状态函数实例2 RegNext实例3 RegInit移位器附录 显式的时钟信号和复位信号 前言 没有状态机的逻辑电路是不完整的,没有状态机的逻辑电路是不完整的,没有状态机的逻辑电路是不完整的,重要的事情说三遍。 这一节我们将要学习Chisel中的时序逻辑。在最后我们会实现一个移位器。 这里你需要知道的是,前面的这几节实际上都是对Chisel的基础语法的学习,它并不会给你带来很大的“惊喜”。Chisel真正的作用是把电路

快乐学习小猪猪的博客 843

cartographer运行错误集合

播放bag的时候错误 Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise tracking frame不是imu的link 修改lua文件中的.

Studying…… 2020

springboot集成ollama并调用deepseek

1、在ollama搜索deepseek模型 如果电脑空间够大可以选择671b的。图片安装命令是1.5b的只有1G大小,上面命令是671b的有400多G大小。2、打开cmd命令,输入以下命令进行安装,安装完成即可输入问题进行对话。1、准备好一个springboot项目 我这里jdk版本使用的。加入springboot-ai。

hlvy 1765

AI应用架构师收藏:大规模AI系统AIOps智能运维的4个落地案例

本文精选互联网、金融、制造、电信四大行业的大规模AI系统AIOps落地案例,覆盖云原生AI平台、风控AI系统、工业AI质检、5G网络AI优化等典型场景。行业背景与系统规模:业务目标、AI系统架构、运维挑战;AIOps解决方案设计:数据采集层→分析层→决策层的全栈架构,技术栈选型与理由;核心技术实现细节:异常检测算法、根因分析模型、自动化恢复流程(含Python代码示例);实施效果与经验总结:关键指标对比、踩坑教训、架构师视角的最佳实践。

AI天才研究院 853

Java 使用 Spring Boot 本地集成 DeepSeek

了解如何在本地运行 DeepSeek 的开源模型并将其与 Spring Boot 集成,以构建强大的 AI 应用程序,而无需依赖付费 API人工智能正在以闪电般的速度发展,但运行大型语言模型 (LLM) 往往伴随着对云的依赖、高成本和 API 限制。如果您可以运行强大的人工智能模型,而且是免费的,那会怎样?在本文中,将指导您如何将集成,从而实现,而无需依赖昂贵的基于云的 API。这种设置不仅经济高效,而且速度极快,使其亲身学习 AI 的完美场所。

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 9734

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Springboot 集成deepseek

jdk17(jdk8也类似)

huangchong0107的博客 925

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SpringBoot集成DeepSeek实现AI对话详细教程

SpringBoot集成DeepSeek

啊松同学的博客 3646

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linux本地部署deepseek及SpringBoot集成deepseek

本文以linux安装为例(服务器主机ip:192.168.109.210)

fengchengwu2012的博客 1524

springboot集成Deepseek4j

在你的pom.xml中添加以下依赖:</</</</

学亮编程手记 963

springboot集成deepseek

本文介绍了如何集成Deepseek大模型API到Spring Boot项目中。主要步骤包括:1)注册Deepseek账号获取API密钥;2)添加deepseek-spring-boot-starter依赖;3)配置连接参数和API密钥;4)创建请求/响应DTO;5)实现服务接口,包含重试机制和日志记录;6)配置RestTemplate;7)提供RESTful调用示例。实现支持单次对话、批量处理等功能,包含超时设置、错误重试等容错机制,适用于企业级AI应用开发。

qq_53807084的博客 364

springboot集成deepseek,实现functioncalling调用

springboot应用非常广泛,在当前deepseek如此火爆时,就会有些系统想要集成deepseek。那么我们今天来说说spring boot的系统该如果集成deepseek。正好结合我前一篇vue 的文章来整体实现deepseek的使用

weixin_39423226的博客 886

2025年最火deepseek大模型springBoot集成方法

如果 DeepSeek 提供了 Java SDK 或 REST API,你需要添加相应的依赖。如果你需要更具体的实现细节,建议查阅 DeepSeek 的官方 API 文档,因为集成方法可能会根据 DeepSeek 提供的具体 API 而有所不同。String prompt = "Spring Boot 集成 DeepSeek 的方法";-- 或者使用 HTTP 客户端调用 REST API -->-- 如果 DeepSeek 提供官方 SDK -->// 调用 DeepSeek API。

p4558533的博客 1651

Spring Ai SpringBoot集成DeepSeek

摘要:本文介绍了如何在SpringBoot项目中快速集成DeepSeek大模型。首先在pom.xml添加spring-ai-starter-model-deepseek依赖,然后在配置文件中设置API密钥和模型参数。通过三个示例演示了不同调用方式:1)简单问答;2)带预设角色的对话(模拟鲁迅风格);3)支持上下文的连续对话。测试代码展示了如何构建Prompt对象、处理消息历史,以及获取模型响应。这种集成方式简化了AI功能开发,适合需要智能对话功能的Java应用。

Muscleheng的博客 212

Spring Boot 4 与 DeepSeek 的深度集成:构建智能应用的新篇章

Spring Boot 4 与 DeepSeek 的深度集成

weixin_65832899的博客 1325
上一篇: Java中常见的判空方式
下一篇: word转Pdf,在window正常,放在linux服务器上就转出来中文是空白
学会用脚编程
博客等级 码龄6年 3万+粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学会用脚编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值