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

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

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

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

Spring AI

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

本篇博文主要就是采用的spring ai提供的兩個starter依賴進行配置整合,分別是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

進入DeepSeek開放平臺頁面,注冊賬號登錄后,可以創(chuàng)建API key,新賬號有贈送的10元額度,具體價格可以參考這里:https://api-docs.deepseek.com/zh-cn/quick_start/pricing/

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

<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

項目會自動裝配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版本搭建一個工程,引入的依賴就換為:

<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

項目會自動裝配OllamaAutoConfiguration,就可以在需要的地方注入ollamaChatModel
代碼跟使用spring-ai-openai-spring-boot-starter幾乎一樣,只是注入的ChatModel類換成了OllamaChatModel
而且實測本地化部署也可以使用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不需要了但是也不能不填,不填會報錯,模型就配置本地有的模型即可
如果想像網(wǎng)站那樣可以一個字一個字的輸出,也可以調(diào)用chatModel.stream流式輸出愛的回復(fù)

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

相關(guān)文章

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

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

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

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

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

    解決JDK8的ParallelStream遍歷無序的問題

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

    Jmeter固定定時器的使用詳解

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

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

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

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

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

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

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

    Mybatis-Plus中resultType的使用及說明

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

    用JAVA實現(xiàn)一套背壓機制

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

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

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

最新評論

辉县市| 汾西县| 珲春市| 佳木斯市| 毕节市| 葵青区| 阳城县| 通州区| 正宁县| 定边县| 务川| 贵德县| 天祝| 和政县| 西藏| 南丹县| 巫山县| 招远市| 江源县| 南华县| 舞钢市| 静乐县| 铜梁县| 锡林浩特市| 柳江县| 定远县| 福贡县| 明光市| 景泰县| 京山县| 临西县| 巫溪县| 奎屯市| 绩溪县| 普兰县| 延寿县| 绥江县| 新乐市| 上犹县| 威信县| 沙湾县|