Spring AI-DeepSeek接入小示例-小白易上手

79 阅读2分钟

Spring AI接入DeepSeek技术文档

前一篇文章介绍了spring ai是什么以及优势是什么,今天这篇文章就是使用一个简单的小示例实现快速的接入deepseek,小白也能上手。 本技术文档旨在指导开发者如何在Java 17环境下使用Spring Boot 3.5.7接入DeepSeek AI模型。通过Spring AI的集成,开发者可以轻松实现AI功能,并通过HTTP接口与AI模型进行交互。

1. 环境准备

  • Java版本:Java 17
  • Spring Boot版本:3.5.7

2. Maven依赖配置

在项目的pom.xml文件中添加以下依赖,以便引入Spring AI和DeepSeek模型:

xml复制代码
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-deepseek</artifactId>
    <version>1.0.1</version>
</dependency>

3. API Key配置

使用DeepSeek服务需要配置API Key。请注意以下几点:

  • API Key生成:API Key在第一次生成时可以查看,请妥善保管,因为后续无法再次查看。
  • 安全管理:确保API Key的安全性,不要在公共代码库中泄露。
  • 配置方式:通常通过环境变量或配置文件(如application.propertiesapplication.yml)进行配置。

示例配置:

properties复制代码
deepseek.api.key=YOUR_API_KEY_HERE

4. 控制器实现

创建一个名为AIController的控制器类,用于处理AI生成请求。以下是代码示例:

java复制代码
package com.example.demo.deepseek.springai;

import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.deepseek.DeepSeekChatModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Flux;

import java.util.Map;

@RestController
@RequestMapping("/deepseek/")
public class AIController {

    private final DeepSeekChatModel chatModel;

    @Autowired
    public AIController(DeepSeekChatModel chatModel) {
        this.chatModel = chatModel;
    }

    @GetMapping("/ai/generate")
    public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
        return Map.of("generation", chatModel.call(message));
    }

    @GetMapping("/ai/generateStream")
    public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
        var prompt = new Prompt(new UserMessage(message));
        return chatModel.stream(prompt);
    }
}

5. 主要功能说明

  • 生成AI响应:通过/ai/generate接口,用户可以发送消息并接收AI生成的响应。
  • 流式响应:通过/ai/generateStream接口,用户可以接收流式的AI响应,适用于需要持续交互的场景。

6. 付费使用说明

DeepSeek是一个需要付费使用的AI服务。开发者在使用DeepSeek API时需要确保具有有效的API密钥和相关的使用权限。

7. 官方文档和注册链接

通过以上步骤,开发者可以在Spring Boot项目中成功集成DeepSeek AI模型,实现智能化的应用功能。请确保遵循官方文档中的指导,以获得最佳的使用体验和支持