您现在的位置是:首页 >技术杂谈 >SpringBoot3+Ollama+DeepSeek-r1模型调用Demo网站首页技术杂谈
SpringBoot3+Ollama+DeepSeek-r1模型调用Demo
简介SpringBoot3+Ollama+DeepSeek-r1模型调用Demo
如何在SpringBoot项目中使用AI
在如今AI盛行时代,任何一个人都应该懂得模型的基本使用,使其成为我们日常工作、生活的一个利器。
这篇文章记录采用java技术生态进行DeepSeek-r1模型调用记录。
技术栈环境
- java开发环境(作者环境)
jdk21、idea2024、manjaro(idea)、windows11(ollama,内存高点) - ollama v0.5.7
- DeepSeek模型
看机器配置,作者为DeepSeek-r1:1.5b,所需内存为4G - 主要技术栈
SpringBoot3.4.2、vaadin、spring-ai-ollama-spring-boot-starter(AI相关的包)
pom.xml
<properties>
<java.version>21</java.version>
<!-- 最新的24.6可能是有点啥毛病,这次重点不在这里所以也就没在继续折腾 -->
<vaadin.version>24.3.13</vaadin.version>
<!-- 注意网上有很多教程是旧版本,可能已经无法使用了 -->
<spring-ai.version>1.0.0-M5</spring-ai.version>
</properties>
<!-- 连接ollama靠的就是这玩意,linux/windiows都可以,注意windows是c盘位置,注意内存 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
<!-- 省的写html了...,不是主要的,可以忽略 -->
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-spring-boot-starter</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-bom</artifactId>
<version>${vaadin.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<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>
<profiles>
<profile>
<id>production</id>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-core</artifactId>
<exclusions>
<exclusion>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-dev</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${vaadin.version}</version>
<executions>
<execution>
<id>frontend</id>
<phase>compile</phase>
<goals>
<goal>prepare-frontend</goal>
<goal>build-frontend</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
核心代码
import com.fasterxml.jackson.core.JsonProcessingException;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.stereotype.Service;
@Service
public class DeepSeekLocalServiceImpl implements IDeepSeekLocalService {
// 注意这个注入,可能一其它帖子不一样
private final OllamaChatModel ollamaChatModel;
public DeepSeekLocalServiceImpl(OllamaChatModel ollamaChatModel) {
this.ollamaChatModel = ollamaChatModel;
}
@Override
public String getCompletion(String message) throws JsonProcessingException {
//对话并返回回复
return ollamaChatModel.call(message);
}
}
配置文件信息
spring.ai.ollama.chat.enabled=true
spring.ai.ollama.base-url=http://192.168.1.11:11434
spring.ai.ollama.chat.options.model=deepseek-r1:1.5b
调用效果
# 项目地址
gitee链接: deepai
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。