Java的SpringAI+Deepseek大模型实战

发布于:2025-06-20 ⋅ 阅读:(24) ⋅ 点赞:(0)

背景

大模型火热,Java如何与大模型交互,下班在家,在本地尝试下搭建模型,记录下来,方便备查。

项目环境

springBoot版本:3.x
JDK版本 : 17
搭建Deepseek本地模型,可参考博客【Deepseek得两种访问方式与本地部署

第一步、新建项目

使用IDEA编辑器新建项目,
在这里插入图片描述

选择 springBoot项目
在这里插入图片描述

第二步、引入依赖

在pom 中引入 web、MySQL、lombok等依赖,如下所示。

 <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0</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-starter-model-ollama</artifactId>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</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.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

第三步、添加配置文件

修改配置文件的类型,修改为【yaml】
在这里插入图片描述
使用的模型为deepseek,配置文件内容如下所示。

spring:
  application:
    name: learn-springai
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        model: deepseek-r1

第四步、设置客户端

新建configure文件,命名为 CommomConfiguration
在这里插入图片描述
代码如下所示

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @auth wang
 * @Date 2025/6/18 21:43
 **/
@Configuration
public class CommomConfiguration {

    @Bean
    public ChatClient chatClient(OllamaChatModel model){
        return ChatClient.builder(model).build();
    }
}

第五步、设置访问端

新建controller文件,命名为ChatController
在这里插入图片描述
代码如下所示

import lombok.RequiredArgsConstructor;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @auth wang
 * @Date 2025/6/19 22:02
 **/
@RequiredArgsConstructor
@RestController
@RequestMapping("/ai")
public class ChatController {


    private final ChatClient chatClient;

    @RequestMapping("/chat")
    public String chat(String str){
        return chatClient.prompt().user(str).call().content();
    }
}

第六步、启动与访问

项目启动,直接运行 Application 类文件,控制台打印如下所示,即说明项目访问成功。
在这里插入图片描述
在浏览器页面,输入【http://localhost:8080/ai/chat?str=你是谁?】,页面如下则说明访问成功!
在这里插入图片描述

异常处理

1、编译报错

错误信息:java: 警告: 源发行版 17 需要目标发行版 17
处理方案

1)检查pom中 JDK版本是否为17

JDK版本是否为17

    <properties>
        <java.version>17</java.version>
        <spring-ai.version>1.0.0</spring-ai.version>
    </properties>

2)检查项目结构中JDK版本

在【files文件】-【项目结构】-【项目设置】-【项目】,SDK版本是否为17,如下图所示。
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到