最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot整合DeepSeek實(shí)現(xiàn)AI對(duì)話功能

 更新時(shí)間:2025年02月10日 09:15:06   作者:chengpei147  
本文介紹了如何在SpringBoot項(xiàng)目中整合DeepSeek API和本地私有化部署DeepSeekR1模型,通過(guò)SpringAI框架簡(jiǎn)化了人工智能模型的集成,感興趣的小伙伴跟著小編一起來(lái)看看吧

本篇博文會(huì)分為DeepSeek開(kāi)放平臺(tái)上的API,以及本地私有化部署DeepSeek R1模型兩種方式來(lái)整合使用,本地化私有部署可以參考這篇博文:本地私有化部署DeepSeek模型的詳細(xì)教程_其它綜合_腳本之家

Spring AI

Spring AI 是由 Spring(一個(gè)廣泛使用的開(kāi)源框架)推出的一個(gè)新項(xiàng)目,旨在將 人工智能(AI) 集成到 Spring 應(yīng)用程序中。Spring 是一個(gè)支持 Java 開(kāi)發(fā)的框架,而 Spring AI 使得 Java 開(kāi)發(fā)人員能夠更容易地構(gòu)建、管理和集成人工智能模型和機(jī)器學(xué)習(xí)功能。
我們這里直接使用Spring官方提供的相關(guān)依賴來(lái)整合,官網(wǎng)地址:https://docs.spring.io/spring-ai/reference/api/chat/deepseek-chat.html

本篇博文主要就是采用的spring ai提供的兩個(gè)starter依賴進(jìn)行配置整合,分別是spring-ai-openai-spring-boot-starterspring-ai-ollama-spring-boot-starter

版本依賴

根據(jù)官網(wǎng)的描述,spring ai框架支持的SpringBoot版本應(yīng)該是3.2.x 和 3.3.x

而SpringBoot 3.2.x 和 3.3.x依賴的JDK版本最低應(yīng)該也是JDK17,所以這里演示整合的代碼都是基于spring boot 3.3.8 以及 JDK17

整合DeepSeek API key

進(jìn)入DeepSeek開(kāi)放平臺(tái)頁(yè)面,注冊(cè)賬號(hào)登錄后,可以創(chuàng)建API key,新賬號(hào)有贈(zèng)送的10元額度,具體價(jià)格可以參考這里:https://api-docs.deepseek.com/zh-cn/quick_start/pricing/

有了API key后我們可以開(kāi)始構(gòu)建工程了,基于springboot 3.3.8版本搭建一個(gè)工程,引入以下依賴:

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>

增加以下配置:

spring:
  ai:
    openai:
      base-url: https://api.deepseek.com
      api-key: sk-xxxxxxxxxxxxxxxxx
      chat:
        options:
          model: deepseek-chat

項(xiàng)目會(huì)自動(dòng)裝配OpenAiAutoConfiguration,就可以在需要的地方注入OpenAiChatModel代碼如下:

@Resource
private OllamaChatModel chatModel;

private final List<Message> chatHistoryList = new ArrayList<>();

@PostConstruct
public void init() {
	chatHistoryList.add(new SystemMessage("You are a helpful assistant."));
}
    
@GetMapping("/chat")
public ChatResponse test(String message) {
    chatHistoryList.add(new UserMessage(message));
    Prompt prompt = new Prompt(chatHistoryList);
    ChatResponse chatResponse = chatModel.call(prompt);
    if (chatResponse.getResult() != null && chatResponse.getResult().getOutput() != null) {
        chatHistoryList.add(chatResponse.getResult().getOutput());
    }
    return chatResponse;
}

整合本地化部署的DeepSeek R1模型

本地化私有部署可以參考這篇博文:本地私有化部署DeepSeek模型的詳細(xì)教程_其它綜合_腳本之家部署完成后同樣是基于springboot 3.3.8版本搭建一個(gè)工程,引入的依賴就換為:

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>

增加以下配置:

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        model: deepseek-r1:1.5b

項(xiàng)目會(huì)自動(dòng)裝配OllamaAutoConfiguration,就可以在需要的地方注入ollamaChatModel
代碼跟使用spring-ai-openai-spring-boot-starter幾乎一樣,只是注入的ChatModel類換成了OllamaChatModel
而且實(shí)測(cè)本地化部署也可以使用spring-ai-openai-spring-boot-starter,修改配置文件如下:

spring:
  ai:
    openai:
      base-url: http://localhost:11434
      api-key: xxxxxxx
      chat:
        options:
          model: deepseek-r1:1.5b

其他也就一樣了,只是把地址換成了本地ollama的服務(wù)地址,api-key不需要了但是也不能不填,不填會(huì)報(bào)錯(cuò),模型就配置本地有的模型即可
如果想像網(wǎng)站那樣可以一個(gè)字一個(gè)字的輸出,也可以調(diào)用chatModel.stream流式輸出愛(ài)的回復(fù)

到此這篇關(guān)于SpringBoot整合DeepSeek實(shí)現(xiàn)AI對(duì)話功能的文章就介紹到這了,更多相關(guān)SpringBoot DeepSeek實(shí)現(xiàn)AI對(duì)話內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot集成阿里云短信的實(shí)戰(zhàn)指南

    SpringBoot集成阿里云短信的實(shí)戰(zhàn)指南

    在SpringBoot項(xiàng)目中集成阿里云短信服務(wù),核心是完成一系列前置申請(qǐng),并調(diào)用其官方SDK發(fā)送短信,下面小編就和大家詳細(xì)介紹一下具體的實(shí)現(xiàn)方法吧
    2026-01-01
  • mybatis-plus實(shí)現(xiàn)邏輯刪除的示例代碼

    mybatis-plus實(shí)現(xiàn)邏輯刪除的示例代碼

    本文主要介紹了mybatis-plus實(shí)現(xiàn)邏輯刪除的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 解決JDK8的ParallelStream遍歷無(wú)序的問(wèn)題

    解決JDK8的ParallelStream遍歷無(wú)序的問(wèn)題

    這篇文章主要介紹了解決JDK8的ParallelStream遍歷無(wú)序的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Jmeter固定定時(shí)器的使用詳解

    Jmeter固定定時(shí)器的使用詳解

    jmeter提供了多種定時(shí)器以便于我們進(jìn)行接口的測(cè)試,你知道jmeter提供的定時(shí)器有哪些嗎,本文就詳細(xì)的介紹了Jmeter固定定時(shí)器的使用,感興趣的可以了解一下
    2021-11-11
  • Mybatis-Plus如何實(shí)現(xiàn)時(shí)間日期的比較

    Mybatis-Plus如何實(shí)現(xiàn)時(shí)間日期的比較

    文章主要討論了在使用Mybatis-Plus進(jìn)行數(shù)據(jù)庫(kù)查詢時(shí),如何正確處理日期和時(shí)間的比較,作者強(qiáng)調(diào)了使用數(shù)據(jù)庫(kù)函數(shù)進(jìn)行比較的重要性,避免了直接將時(shí)間轉(zhuǎn)換為字符串進(jìn)行比較的錯(cuò)誤,同時(shí),作者建議在需要比較天數(shù)時(shí)使用LocalDate
    2024-11-11
  • java 實(shí)現(xiàn)圖片圓角處理、背景透明化

    java 實(shí)現(xiàn)圖片圓角處理、背景透明化

    這篇文章主要介紹了java 實(shí)現(xiàn)圖片圓角處理、背景透明化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • JavaWeb簡(jiǎn)單文件上傳流程的實(shí)戰(zhàn)記錄

    JavaWeb簡(jiǎn)單文件上傳流程的實(shí)戰(zhàn)記錄

    在Web應(yīng)用系統(tǒng)開(kāi)發(fā)中,文件上傳和下載功能是非常常用的功能,下面這篇文章主要給大家介紹了關(guān)于JavaWeb實(shí)現(xiàn)簡(jiǎn)單文件上傳流程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Mybatis-Plus中resultType的使用及說(shuō)明

    Mybatis-Plus中resultType的使用及說(shuō)明

    MyBatis中resultType用于指定查詢結(jié)果的返回類型,可以是JavaBean、實(shí)體類或基本類型如String,此外,MyBatis還支持將查詢結(jié)果封裝成Map,單條數(shù)據(jù)時(shí)可以將{表字段名,結(jié)果值}封裝到Map中,多條數(shù)據(jù)時(shí)可以將{表中某一字段名,JavaBean}方式封裝到Map中
    2025-12-12
  • 用JAVA實(shí)現(xiàn)一套背壓機(jī)制

    用JAVA實(shí)現(xiàn)一套背壓機(jī)制

    背壓依我的理解來(lái)說(shuō),是指訂閱者能和發(fā)布者交互,可以調(diào)節(jié)發(fā)布者發(fā)布數(shù)據(jù)的速率,解決把訂閱者壓垮的問(wèn)題,這篇文章主要介紹了用JAVA自己實(shí)現(xiàn)一套背壓機(jī)制,需要的朋友可以參考下
    2023-06-06
  • Spring Boot 與微服務(wù)入門實(shí)戰(zhàn)詳細(xì)總結(jié)

    Spring Boot 與微服務(wù)入門實(shí)戰(zhàn)詳細(xì)總結(jié)

    本文講解SpringBoot框架的核心特性如快速構(gòu)建、自動(dòng)配置、零XML與微服務(wù)架構(gòu)的定義、演進(jìn)及優(yōu)缺點(diǎn),涵蓋開(kāi)發(fā)環(huán)境準(zhǔn)備和HelloWorld實(shí)戰(zhàn),強(qiáng)調(diào)其在簡(jiǎn)化開(kāi)發(fā)流程、支持分布式系統(tǒng)及云原生部署方面的優(yōu)勢(shì),本文給大家介紹Spring Boot 與微服務(wù)詳細(xì)總結(jié),感興趣的朋友一起看看吧
    2025-07-07

最新評(píng)論

高陵县| 南陵县| 吉木萨尔县| 宜昌市| 竹北市| 叙永县| 全州县| 富平县| 康定县| 大竹县| 隆回县| 临江市| 米泉市| 丰台区| 师宗县| 淄博市| 夏邑县| 虞城县| 青岛市| 元朗区| 肥东县| 彝良县| 深州市| 上饶市| 萨迦县| 搜索| 博湖县| 盐源县| 开鲁县| 石首市| 大荔县| 荆门市| 安国市| 吉安县| 八宿县| 黄浦区| 桂阳县| 同心县| 乾安县| 佛冈县| 靖宇县|