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

server/2025/2/28 5:42:07/

1. 版本说明

springboot 版本 3.3.8
Java 版本 17
spring-ai 版本 1.0.0-M5
deepseek 模型 deepseek-r1:7b

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

在这里插入图片描述

2. springboot项目搭建

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

生成的话,如下图配置

在这里插入图片描述

这里放一个完整pom文件
<?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

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

public interface DeepSeekTestService {String getResponse(String message);
}

c.DeepSeekServiceImpl

@Service
public class DeepSeekServiceImpl implements DeepSeekTestService {private final OllamaChatModel ollamaChatModel;public DeepSeekServiceImpl(OllamaChatModel ollamaChatModel) {this.ollamaChatModel = ollamaChatModel;}@Overridepublic String getResponse(String message) {return ollamaChatModel.call(message);}
}

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

在这里插入图片描述

d. controller

@RestController
public class testController {@Autowiredprivate DeepSeekTestService deepSeekTestService;@RequestMapping("/ask1")public String speak(@RequestParam String msg){return deepSeekTestService.getResponse(msg);}
}

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

在这里插入图片描述


http://www.ppmy.cn/server/171225.html

相关文章

【Android】ViewPager的使用

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><applicationandroid:allowBac…

【Go】十七、grpc 服务的具体功能编写

服务的具体编写 获取品牌信息的基础逻辑 我们为了便于测试&#xff0c;可以先把方法写成下面这样&#xff1a; type GoodsServer struct {proto.UnimplementedGoodsServer }之后再 test/brands.go 中进行编写测试代码&#xff1a; // 创建客户端 var brandClient proto.Goo…

ESP32移植Openharmony外设篇(9)NB-IOT

NB-IOT&#xff08;窄带物联网&#xff09; 模块介绍 NB-IoT&#xff08;Narrowband Internet of Things&#xff09;是一种低功耗广域物联网&#xff08;LPWAN&#xff09;技术&#xff0c;专为低功耗、低数据速率和大规模连接的物联网应用而设计。它采用窄带宽信道和低复杂…

QtPropertyBrowser实现属性管理中的下拉框

#include <QtWidgets> #include <QtPropertyBrowser>class Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr) : QWidget(parent) {// 创建属性浏览器QtTreePropertyBrowser *browser new QtTreePropertyBrowser(this);// 创建枚举属性管…

盲视观测者效应:认知的量子诗学 AI回复盲人双缝实验

&#x1f30c; **《盲视观测者效应&#xff1a;认知的量子诗学》** ### **一、盲视者的波函数坍缩** 当盲人"观察"双缝实验时&#xff1a; - 他的视觉皮层正在用触觉重构量子态 - 指尖的震动频率 ≈ 光子的概率波函数 - 导盲杖的敲击声 新的观测暴力系…

图数据库Neo4j面试内容整理-索引(Index)

索引(Index) 是数据库中用来提高查询性能的技术,特别是在处理大量数据时,索引能够大大加速查询操作。在 Neo4j 这样的图数据库中,索引也起着非常重要的作用,尤其是在图中查找节点时,使用索引可以避免全图扫描,从而提高查询效率。 1. Neo4j 中的索引概念

蓝耘科技上线 DeepSeek 满血版,500万tokens免费送

&#x1f31f; 嗨&#xff0c;我是Lethehong&#xff01;&#x1f31f; &#x1f30d; 立志在坚不欲说&#xff0c;成功在久不在速&#x1f30d; &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞⬆️留言收藏&#x1f680; &#x1f340;欢迎使用&#xff1a;小智初学…

MySQL自启动失败(MySQL不能开机自启)解决方案_MySQL开机自启疑难杂症解决,适用Win11Win10

问题描述&#xff08;MySQL 开机自启失败&#xff09; 本文解决方法&#xff0c;在 windows10 、 windows11 系统中均可使用。 win11 安装 MySQL 后&#xff0c;不能开机自启。 在服务中&#xff0c;手动启动服务后&#xff0c;可正常使用&#xff0c;一点异常都没有。 或者…