亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring AI集成DeepSeek的詳細(xì)步驟

 更新時(shí)間:2025年02月21日 09:29:34   作者:小天努力學(xué)java  
DeepSeek 作為一款卓越的國(guó)產(chǎn) AI 模型,越來(lái)越多的公司考慮在自己的應(yīng)用中集成,對(duì)于 Java 應(yīng)用來(lái)說(shuō),我們可以借助 Spring AI 集成 DeepSeek,非常簡(jiǎn)單方便,本文給大家介紹了Spring AI集成DeepSeek的詳細(xì)步驟,需要的朋友可以參考下

DeepSeek 介紹

DeepSeek 是國(guó)內(nèi)頂尖 AI 團(tuán)隊(duì)「深度求索」開(kāi)發(fā)的多模態(tài)大模型,具備數(shù)學(xué)推理、代碼生成等深度能力,堪稱(chēng)"AI界的六邊形戰(zhàn)士"。DeepSeek 最新版本 R1 采用了“思維鏈”技術(shù),能夠展示完整的推理過(guò)程,使其在復(fù)雜推理任務(wù)上表現(xiàn)出色,甚至在某些方面可以與 OpenAI 的 O1 模型相媲美。

DeepSeek 身上的標(biāo)簽有很多,其中最具代表性的標(biāo)簽有以下兩個(gè):

  • 低成本(不挑硬件、開(kāi)源、使用簡(jiǎn)單無(wú)需復(fù)雜提示詞)。
  • 高性能(推理能力極強(qiáng)、回答準(zhǔn)確)。

Spring AI 是什么?

Spring AI 從著名的 Python 項(xiàng)目(如 LangChain 和 LlamaIndex)中汲取靈感,解決了 AI 集成中的核心挑戰(zhàn):將企業(yè)數(shù)據(jù)和 API 與 AI 模型連接起來(lái)。

你可以將 Spring AI 看作是一個(gè)適配器或者高層封裝,用來(lái)幫你更方便地集成和使用不同的 AI 模型。它的核心目標(biāo)是簡(jiǎn)化開(kāi)發(fā)流程,降低使用多種 AI 服務(wù)時(shí)的復(fù)雜性,同時(shí)提升代碼的可維護(hù)性和靈活性。

Spring AI 的主要功能包括

統(tǒng)一 API:Spring AI 提供了一套統(tǒng)一的接口,用來(lái)調(diào)用不同的 AI 模型(例如 OpenAI、Hugging Face、DeepSeek、Gemini 等)。開(kāi)發(fā)者只需要學(xué)習(xí) Spring AI 的 API,就能無(wú)縫對(duì)接各種 AI 服務(wù),而無(wú)需深入了解各家服務(wù)的底層實(shí)現(xiàn)和差異。

簡(jiǎn)化配置:Spring AI 提供了自動(dòng)化的配置管理,例如 API 密鑰、模型參數(shù)等。你只需要簡(jiǎn)單地在配置文件中定義所需的參數(shù),Spring AI 就會(huì)自動(dòng)完成初始化和連接,避免繁瑣的手動(dòng)配置。

易于切換:Spring AI 的抽象設(shè)計(jì)使得更換 AI 提供商變得非常簡(jiǎn)單。開(kāi)發(fā)者只需要修改少量配置,而不用修改業(yè)務(wù)代碼,從而實(shí)現(xiàn)靈活的 AI 服務(wù)切換,適應(yīng)不同場(chǎng)景需求。

1、環(huán)境準(zhǔn)備

在開(kāi)始集成之前,確保你的開(kāi)發(fā)環(huán)境滿足以下要求:

JDK17 或更高版本 高版本才能使用SpringAI,才能調(diào)用deepseek; DeepSeekAPIKey(可通過(guò)官網(wǎng)注冊(cè)獲?。?,申請(qǐng)地址:https://platform.deepseek.com/usage

使用Spring Initializr 或其他工具創(chuàng)建-一個(gè)新的SpringBoot項(xiàng)目,確保版本為3.2.x或更高。

2、構(gòu)建項(xiàng)目

2.1、pom依賴(lài)

在項(xiàng)目的pom.xml文件中添加SpringAI和DeepSeek的相關(guān)依賴(lài)。

以下是基于Maven的依賴(lài)配置示例:

<?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.2</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.tyron</groupId>
  <artifactId>Spring-AI</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Spring-AI</name>
  <description>Spring-AI</description>
  <url/>

  <properties>
    <java.version>21</java.version>
    <spring-ai.version>1.0.0-M5</spring-ai.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.ai</groupId>
      <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <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>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <annotationProcessorPaths>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
            </exclude>
          </excludes>
        </configuration>
      </plugin>
        </plugins>
    </build>

</project>

2.2、配置文件

#必填項(xiàng)
spring.ai.openai.api-key=your-api-key
spring.ai.openai.base-url=https://api.deepseek.com
#模型選擇(示例使用對(duì)話模型)
spring.ai.openai.chat.options.model=deepseek-chat

2.3、接口定義

@RestController()
@RequestMapping("/ai")
public class ChatController {

    private OpenAiChatModel openAiChatModel;

    @Autowired
    public ChatController(OpenAiChatModel openAiChatModel) {
        this.openAiChatModel = openAiChatModel;
    }

    /**
     * 生成
     *
     * @param message 輸入信息
     * @return 輸出信息
     */
    @GetMapping("/generate")
    public Map generate(@RequestParam(value = "message", defaultValue = "你是誰(shuí)?") String message) {
        return Map.of("generation", this.openAiChatModel.call(message));
    }
}

3、方法調(diào)用

接口報(bào)錯(cuò)

充值后,方可調(diào)用

總結(jié)

本文中使用 spring-ai-openai starter,只要在請(qǐng)求頭里加個(gè)api_key,就能假裝自己在調(diào) OpenAI。Spring AI 的 openai starter 本質(zhì)上是通過(guò) RestTemplate 發(fā)請(qǐng)求,訪問(wèn) DeepSeek API。

除此之外還可以通過(guò)本地化部署的方式進(jìn)行調(diào)用,Spring Cloud Alibaba AI 中也支持這種方式,并且官網(wǎng)上提供了詳細(xì)的方法:https://java2ai.com/blog/spring-ai-alibaba-ollama-deepseek/ 。

大模型的響應(yīng)速度是很慢的,為了提升用戶體驗(yàn),流式輸出便很有必要了,后續(xù)文章會(huì)進(jìn)行樣例說(shuō)明。

以上就是Spring AI集成DeepSeek的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于Spring AI集成DeepSeek的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot項(xiàng)目整合druid數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)

    springboot項(xiàng)目整合druid數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)

    這篇文章主要介紹了springboot項(xiàng)目整合druid數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java random.nextInt的坑及解決

    java random.nextInt的坑及解決

    這篇文章主要介紹了java random.nextInt的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Springboot中用 Netty 開(kāi)啟UDP服務(wù)方式

    Springboot中用 Netty 開(kāi)啟UDP服務(wù)方式

    這篇文章主要介紹了Springboot中用 Netty 開(kāi)啟UDP服務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • MyBatis Mapper代理使用方法詳解

    MyBatis Mapper代理使用方法詳解

    本文是小編日常收集整理的關(guān)于mybatis mapper代理使用方法知識(shí),通過(guò)本文還給大家提供有關(guān)開(kāi)發(fā)規(guī)范方面的知識(shí)點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧
    2016-08-08
  • Java如何實(shí)現(xiàn)支付寶電腦支付基于servlet版本

    Java如何實(shí)現(xiàn)支付寶電腦支付基于servlet版本

    這篇文章主要介紹了Java如何實(shí)現(xiàn)支付寶電腦支付基于servlet版本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • idea使用Vim的技巧大全分享

    idea使用Vim的技巧大全分享

    vim是一個(gè)高度可配置的文本編輯器,非常穩(wěn)定,可以高效的創(chuàng)建任何文本、持久的、多級(jí)撤銷(xiāo)樹(shù)、支持?jǐn)?shù)百種變成語(yǔ)言和格式、與許多工具集成,本文給大家分享了idea使用Vim的技巧大全,需要的朋友可以參考下
    2024-05-05
  • idea全局設(shè)置Maven配置的實(shí)現(xiàn)步驟

    idea全局設(shè)置Maven配置的實(shí)現(xiàn)步驟

    本文主要介紹了idea全局設(shè)置Maven配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • springmvc使用JSR-303進(jìn)行數(shù)據(jù)校驗(yàn)實(shí)例

    springmvc使用JSR-303進(jìn)行數(shù)據(jù)校驗(yàn)實(shí)例

    本篇文章主要介紹了詳解springmvc使用JSR-303進(jìn)行數(shù)據(jù)校驗(yàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • SpringBoot FailureAnalyzer實(shí)例使用教程

    SpringBoot FailureAnalyzer實(shí)例使用教程

    FailureAnalyzer是一種在啟動(dòng)時(shí)攔截exception并將其轉(zhuǎn)換為human-readable消息的好方法,包含在故障分析中。SpringBoot為application context相關(guān)的exceptions,JSR-303驗(yàn)證等提供了這樣的分析器,實(shí)際上很容易創(chuàng)建自己的
    2022-12-12
  • 使用sts工具、SpringBoot整合mybatis的詳細(xì)步驟

    使用sts工具、SpringBoot整合mybatis的詳細(xì)步驟

    這篇文章主要介紹了使用sts工具、SpringBoot整合mybatis的詳細(xì)步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論