DeepSeekR1釋出:國產AI新高度,附SpringAI擴充套件整合指南

首先恭喜深度求索推出了全新的推理模型 R1,這是一個國內大模型廠商重要的里程碑。讓我們一起來看看這個模型的特點和如何在 Spring AI 中使用它。

DeepSeek R1 的突破性進展

DeepSeek R1 是一個專注於推理能力的大模型,其最大的特點是採用了"思維鏈"(Chain of Thought)技術。與傳統的 GPT-4 和 DeepSeek V3 相比,R1 在以下方面有顯著優勢:
  1. 推理過程視覺化:不同於通用模型的"黑盒"輸出,R1 會展示完整的思維推理過程,讓使用者能夠理解模型是如何得出結論的。
  2. 強化學習突破:透過大規模強化學習技術,R1 在僅有少量標註資料的情況下,就達到了與 OpenAI O1 相當的推理能力。這一點尤其難得,因為 O1 被認為是目前最強的推理模型。
  3. 效能對標:在數學、程式碼和自然語言推理等任務上,R1 已經能夠對標 OpenAI O1 正式版。這意味著在複雜推理任務上,R1 可以作為 O1 的有力開源替代。

R1 vs V3:寫作能力對比

如下圖所示,相比通用型的 DeepSeek V3,R1 在結構化寫作和邏輯推理方面表現出明顯優勢:

開源與生態優勢

與 OpenAI O1 和 GPT-4 的封閉特性不同,DeepSeek R1 選擇了開源路線:
  1. 完整開源:提供了 660B 引數的完整模型,包括 DeepSeek-R1-Zero 和 DeepSeek-R1
  2. 蒸餾小模型:透過模型蒸餾技術,開源了 6 個小模型,其中 32B 和 70B 版本在多項能力上已經對標 O1-mini
  3. MIT License:採用最寬鬆的開源協議,允許商用和二次開發,甚至支援透過蒸餾技術訓練新模型

Spring AI 整合實踐

下面我們透過一個簡單的示例來展示如何使用 Spring AI 整合 DeepSeek Reasoner 模型。

新增依賴

首先在 pom.xml 中新增 Spring AI 依賴:
<dependency>
<groupId>

org.springframework.ai

</groupId>
<artifactId>

spring-ai-openai-spring-boot-starter

</artifactId>
<version>1.0.0-M4</version>
</dependency>

配置檔案

在 application 中配置 DeepSeek API 相關資訊:
spring.ai.openai.chat.options.model=deepseek-reasoner
spring.ai.openai.base-url=https://api.deepseek.com
spring.ai.openai.api-key=sk-xxx

處理 Temperature 引數問題

需要注意的是,作為專注推理的模型,DeepSeek Reasoner 不支援 temperature 引數(這與 O1 類似,都是為了保證推理結果的穩定性)。但 Spring AI 預設會新增此引數,這會導致如下錯誤:

Caused by: dev.ai4j.openai4j.OpenAiHttpException: {

"error"

:{

"message"

:

"deepseek-reasoner does not support the parameter `temperature`"

,

"type"

:

"invalid_request_error"

,

"param"

:null,

"code"

:

"invalid_request_error"

}}

為了解決這個問題,我們需要新增一個請求攔截器來移除 temperature 引數,實現"越獄效果":
@Configuration
publicclassAIConfig

{

@Bean
public RestClientCustomizer restClientCustomizer()

{

return

 restClientBuilder -> restClientBuilder.requestInterceptor((request, body, execution) -> {

// 使用 jackson 解析請求體,去掉 temperature 引數

            JSONObject entries = JSONUtil.parseObj(

new

 String(body));

            entries.remove(

"temperature"

);

return

 execution.execute(request, entries.toString().getBytes(StandardCharsets.UTF_8));

        }).build();

    }

}

建立控制器

建立一個簡單 Test 處理 AI 對話請求:
@Autowired
private

 ChatClient chatClient;

@Test
voidcontextLoads()

{

      String content = chatClient.prompt(

"9.11 and 9.8, which is greater?"

).call().content();

      System.out.println(content);

  }

DeepSeek R1 API 特點

  1. 輸入引數
    • max_tokens:最終回答的最大長度(不含思維鏈輸出),預設為 4K,最大為 8K
    • 思維鏈輸出最多可達 32K tokens
    • 不支援 temperature 引數(預設固定為 0.7)
  2. 輸出欄位
    • reasoning_content:思維鏈內容
    • content:最終回答內容
  3. 上下文長度
    • API 最大支援 64K 上下文
    • 輸出的 reasoning_content 長度不計入 64K 上下文長度中
  4. 定價說明
    • 輸入 tokens:1 元/百萬 tokens(快取命中)或 4 元/百萬 tokens(快取未命中)
    • 輸出 tokens:16 元/百萬 tokens
  5. 複雜推理任務
    • R1/O1:透過思維鏈提供詳細推理過程,適合數學證明、邏輯推理
    • GPT-4:通用性強但推理過程不透明
    • V3:更適合創意寫作和開放性對話

定價優勢

相比 Open AI O1,DeepSeek R1 的定價更具競爭力:
  • 輸入 tokens:1 元/百萬 tokens(快取命中)或 4 元/百萬 tokens(快取未命中)
  • 輸出 tokens:16 元/百萬 tokens

總結

DeepSeek R1 的釋出標誌著中國大模型在推理能力上已經達到世界領先水平。透過 Spring AI 的整合,我們可以方便地使用這一強大的推理模型。雖然在引數相容性上需要一些技術處理,但這絲毫不影響它在複雜推理場景下的出色表現。
對於需要強大推理能力的應用場景,R1 是一個比 GPT-4 更專業、比 O1 更開放、比 V3 更專注的選擇。它的開源特性更是為整個 AI 生態的發展提供了寶貴的資源。

線上閱讀:https://talk.gitee.com/report/china-open-source-2024-annual-report.pdf

相關文章