Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek简单调用示例

1. 版本说明

springboot 版本 3.3.8

Java 版本 17

spring-ai 版本 1.0.0-M5

deepseek 模型 deepseek-r1:7b

需要注意一下Ollama的使用版本:

2. springboot项目搭建

可以集成在自己的项目里,也可以到 spring.io 生成一个项目

生成的话,如下图配置
这里放一个完整pom文件
pom.xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.3.8</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<url/>
	<licenses>
		<license/>
	</licenses>
	<developers>
		<developer/>
	</developers>
	<scm>
		<connection/>
		<developerConnection/>
		<tag/>
		<url/>
	</scm>
	<properties>
		<java.version>17</java.version>
		<spring-ai.version>1.0.0-M5</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-ollama-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</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>
</project>

3. Ollama搭建

Ollama官网 需要下载两个,一个是Ollama的安装包,一个是模型。

下载对应操作系统的Ollama并一路默认安装,安装好后打开Models安装deepseek。


这里选择默认7b,如果电脑配置不高,选择1.5b,当然也可以往上选择。复制右边红框内的命令

打开cmd,粘贴刚刚复制的命令 ollama run deepseek-r1:7b

4. 代码部分

a. application.properties

.properties 复制代码
spring.application.name=demo
spring.ai.ollama.chat.options.model=deepseek-r1:latest
spring.ai.ollama.base-url=http://127.0.0.1:11434
spring.ai.ollama.chat.enabled=true
server.port=9091

关于model,填写自己当时下载的,比如上文下载的7b,冒号后面应该是7b,但是我之前下载的变成了latest,所以这里改成了latest,如果不清楚自己的模型,可以输入命令 ollama list 来查看模型,一定要和本机的模型对应上。

b. DeepSeekService

java 复制代码
public interface DeepSeekTestService {
    String getResponse(String message);
}

c.DeepSeekServiceImpl

java 复制代码
@Service
public class DeepSeekServiceImpl implements DeepSeekTestService {

    private final OllamaChatModel ollamaChatModel;

    public DeepSeekServiceImpl(OllamaChatModel ollamaChatModel) {
        this.ollamaChatModel = ollamaChatModel;
    }

    @Override
    public String getResponse(String message) {
        return ollamaChatModel.call(message);
    }
}

这里可能会提是无法自动注入,先不需要管它,后面编译正常就行。

d. controller

java 复制代码
@RestController
public class testController {

    @Autowired
    private DeepSeekTestService deepSeekTestService;

    @RequestMapping("/ask1")
    public String speak(@RequestParam String msg){
        return deepSeekTestService.getResponse(msg);
    }
}

编辑好后启动项目并输入问题,我这里在浏览器直接测试

相关推荐
unique_perfect6 小时前
vue2与springboot实现deepseek打印机聊天
spring boot·websocket·ai·vue2·deepseek
嗷嗷哦润橘_12 小时前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
weixin_4166600713 小时前
豆包与DeepSeek底层大模型的深度解析:技术架构、设计理念与生态分野
人工智能·ai·架构·deepseek
AI大模型学徒1 天前
大模型应用开发(十六)_知识库2
chatgpt·大模型·知识库·deepseek
视觉&物联智能2 天前
【杂谈】-RL即服务:解锁新一轮自主浪潮
人工智能·ai·chatgpt·aigc·强化学习·agi·deepseek
AI大模型学徒3 天前
大模型应用开发(十五)_知识库1
人工智能·chatgpt·大模型·llm·知识库·deepseek
realhuizhu3 天前
拿着顶级服务器跑慢查询,就像开着法拉利送外卖
ai编程·sql优化·后端开发·数据库性能·deepseek
core5123 天前
深度解析DeepSeek-R1中GRPO强化学习算法
人工智能·算法·机器学习·deepseek·grpo
广州明周科技4 天前
Revit 200+新功能之“类型材质批量修改”,类型材质参数族属性批量更新
ai·材质·建筑·bim·revit二次开发·revit·deepseek
星期一研究室4 天前
收藏夹救星!把 1000+ 灰尘链接变成你的知识资产
人工智能·aigc·deepseek