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

Spring項目接入DeepSeek的兩種超簡單的方式分享

 更新時間:2025年02月13日 09:19:01   作者:JavaGuide  
DeepSeek?作為一款卓越的國產(chǎn)?AI?模型,越來越多的公司考慮在自己的應(yīng)用中集成,本文為大家?分享了Spring項目接入DeepSeek的兩種超簡單的方式,希望對大家有所幫助

DeepSeek 作為一款卓越的國產(chǎn) AI 模型,越來越多的公司考慮在自己的應(yīng)用中集成。對于 Java 應(yīng)用來說,我們可以借助 Spring AI 集成 DeepSeek,非常簡單方便!

Spring AI 是什么?

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

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

Spring AI 的主要功能包括:

  • 統(tǒng)一 API: Spring AI 提供了一套統(tǒng)一的接口,用來調(diào)用不同的 AI 模型(例如 OpenAI、Hugging Face、DeepSeek、Gemini 等)。開發(fā)者只需要學(xué)習(xí) Spring AI 的 API,就能無縫對接各種 AI 服務(wù),而無需深入了解各家服務(wù)的底層實現(xiàn)和差異。
  • 簡化配置: Spring AI 提供了自動化的配置管理,例如 API 密鑰、模型參數(shù)等。你只需要簡單地在配置文件中定義所需的參數(shù),Spring AI 就會自動完成初始化和連接,避免繁瑣的手動配置。
  • 易于切換: Spring AI 的抽象設(shè)計使得更換 AI 提供商變得非常簡單。開發(fā)者只需要修改少量配置,而不用修改業(yè)務(wù)代碼,從而實現(xiàn)靈活的 AI 服務(wù)切換,適應(yīng)不同場景需求。

Spring AI 集成 DeepSeek

這里介紹兩種方式:

  • spring-ai-openai starter:偽裝成 OpenAI,DeepSeek 提供了 OpenAI 兼容模式
  • spring-ai-ollama-spring-boot-starter:通過 Ollama 本地部署一個 DeepSeek R1 蒸餾版。

偽裝成 OpenAI

DeepSeek 其實提供了 OpenAI 兼容模式,只要在請求頭里加個api_key,就能假裝自己在調(diào) OpenAI。Spring AI 的 openai starter 本質(zhì)上是通過 RestTemplate 發(fā)請求,我們只需要改改 URL 和認證方式。

1、添加依賴:

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

2、修改配置文件 application.yml

spring:
  ai:
    openai:
      base-url: https://api.deepseek.com/v1  # DeepSeek的OpenAI式端點
      api-key: sk-your-deepseek-key-here
      chat.options:
        model: deepseek-chat  # 指定DeepSeek的模型名稱

3、DeepSeek API KEY 可以在 DeepSeek 開放平臺中自行創(chuàng)建,地址:platform.deepseek.com/api_keys 。

4、在代碼中調(diào)用:

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

	private final ChatClient chatClient;

 // 構(gòu)造方法注入 ChatClient.Builder,用于構(gòu)建 ChatClient 實例
	public ChatController(ChatClient.Builder chatClientBuilder) {
		this.chatClient = chatClientBuilder.build();
	}

	@GetMapping("/chat")
	public String generate(@RequestParam(value = "message") String message) {
		log.info("Generating response");
  // 調(diào)用 ChatClient 的 prompt 方法生成響應(yīng)
  // 1. prompt(message): 創(chuàng)建一個包含用戶輸入消息的 Prompt 對象
  // 2. call(): 調(diào)用 ChatClient 與 AI 模型交互以獲取響應(yīng)
  // 3. content(): 提取響應(yīng)的內(nèi)容部分
		return chatClient.prompt(message).call().content();
	}

}

在運行時,你可以通過在 Prompt 調(diào)用中添加新的、針對請求的選項來覆蓋默認配置。例如,要為特定請求覆蓋默認模型和溫度,可以這樣實現(xiàn):

ChatResponse response = chatModel.call(
    new Prompt(
        "Generate the names of 5 famous pirates.",
        OpenAiChatOptions.builder()
            .withModel("deepseek-chat")
            .withTemperature(0.4)
        .build()
    ));

本地化部署

如果想要把 DeepSeek 部署在內(nèi)網(wǎng)服務(wù)器,或者你想在本地跑個小模型,可以采用這種方式來在本地部署一個 DeepSeek R1 蒸餾版。

1、從官方網(wǎng)站下載并安裝 Ollama:ollama.com

2、拉取 DeepSeek 模型:

ollama pull deepseek-r1:1.5b
ollama list deepseek

更多版本可以在這里查看:ollama.com/library/deepseek-r1

3、添加依賴:

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

4、修改配置:

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        model: deepseek-r1:1.5b  # 與本地模型名稱對應(yīng)

5、在代碼中調(diào)用:

@RestController
@RequestMapping("/ai")
public class ChatController {
    private final ChatClient chatClient;

    // 構(gòu)造方法注入 ChatClient.Builder,用于構(gòu)建 ChatClient 實例
    public ChatController(ChatClient.Builder chatClient) {
        this.chatClient = chatClient.build();
    }

    	@GetMapping("/chat")
    public ResponseEntity<Flux<String>> chat(@RequestParam(value = "message") String message) {
        try {
            // 調(diào)用 ChatClient 生成響應(yīng),并以 Flux<String>(響應(yīng)流)形式返回
            Flux<String> response = chatClient.prompt(message).stream().content();
            return ResponseEntity.ok(response);
        } catch (Exception e) {
            return ResponseEntity.badRequest().build();
        }
    }
}

Spring Cloud Alibaba AI 中也支持這種方式,并且官網(wǎng)上提供了詳細的方法:java2ai.com/blog/spring-ai-alibaba-ollama-deepseek/

總結(jié)

這篇文章主要介紹了 Spring AI 以及如何通過 Spring AI 集成 DeepSeek:

  • 偽裝成 OpenAI: DeepSeek 可以假裝自己是 OpenAI,直接用 Spring AI 的 OpenAI starter 就行,改改配置就好,就像換個鏈接一樣簡單。
  • 本地部署: 如果你想把 DeepSeek 放在自己服務(wù)器上,或者想在電腦上跑個小模型玩玩,可以用 Ollama。先下載 Ollama,再下載 DeepSeek 模型,然后用 Spring AI 的 Ollama starter,也超級簡單。Spring Cloud Alibaba AI 也支持這種玩法,官網(wǎng)有教程。

以上就是Spring項目接入DeepSeek的兩種超簡單的方式分享的詳細內(nèi)容,更多關(guān)于Spring項目接入DeepSeek的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot中的攔截器和過濾器的作用、區(qū)別解析

    springboot中的攔截器和過濾器的作用、區(qū)別解析

    這篇文章主要介紹了springboot中的攔截器和過濾器的作用、區(qū)別解析,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-09-09
  • macOS下Spring Boot開發(fā)環(huán)境搭建教程

    macOS下Spring Boot開發(fā)環(huán)境搭建教程

    這篇文章主要為大家詳細介紹了macOS下Spring Boot開發(fā)環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • win10下配置java環(huán)境變量的方法

    win10下配置java環(huán)境變量的方法

    這篇文章主要介紹了win10下配置java環(huán)境變量的方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 詳細聊聊RabbitMQ竟無法反序列化List問題

    詳細聊聊RabbitMQ竟無法反序列化List問題

    這篇文章主要給大家介紹了關(guān)于RabbitMQ竟無法反序列化List的相關(guān)資料,文中通過示例代碼將問題以及解決的過程介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-09-09
  • 【MyBatis源碼全面解析】MyBatis一二級緩存介紹

    【MyBatis源碼全面解析】MyBatis一二級緩存介紹

    下面小編就為大家?guī)硪黄綧yBatis源碼全面解析】MyBatis一二級緩存介紹。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 如何修改maven默認的JDK版本

    如何修改maven默認的JDK版本

    這篇文章主要介紹了如何修改maven默認的JDK版本,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Map集合中獲取key-value值的實現(xiàn)方法

    Map集合中獲取key-value值的實現(xiàn)方法

    這篇文章主要介紹了Map集合中獲取key-value值的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring AI集成DeepSeek三步搞定Java智能應(yīng)用的詳細過程

    Spring AI集成DeepSeek三步搞定Java智能應(yīng)用的詳細過程

    本文介紹了如何使用SpringAI集成DeepSeek,一個國內(nèi)頂尖的多模態(tài)大模型,SpringAI提供了一套統(tǒng)一的接口,簡化了與不同AI模型的集成,通過配置文件和簡單的接口調(diào)用,開發(fā)者可以方便地使用DeepSeek進行數(shù)學(xué)推理、代碼生成等任務(wù),感興趣的朋友一起看看吧
    2025-03-03
  • java中BigDecimal類型比較大小和絕對值計算方式

    java中BigDecimal類型比較大小和絕對值計算方式

    這篇文章主要介紹了java中BigDecimal類型比較大小和絕對值計算方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • maven 打包項目的幾種方式

    maven 打包項目的幾種方式

    maven目前在web上面的使用方式很普遍,而打包的方式也存在很多方式,本文就詳細的介紹了三種方式,具有一定的參考價值,感興趣的可以了解下
    2021-06-06

最新評論

临澧县| 永胜县| 和顺县| 普兰店市| 洞头县| 蒙城县| 塘沽区| 靖边县| 丰原市| 衡东县| 大渡口区| 永安市| 同江市| 治多县| 阜南县| 霍林郭勒市| 桂平市| 罗平县| 宝兴县| 汕尾市| 石河子市| 武清区| 长岭县| 龙州县| 遵义市| 彭阳县| 泸溪县| 鄂尔多斯市| 保康县| 沧州市| 绩溪县| 古田县| 万载县| 荔浦县| 临武县| 安丘市| 东方市| 永修县| 叙永县| 清徐县| 崇信县|