当前位置: 首页 > news >正文

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文件
<?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.lryc.cn/news/539601.html

相关文章:

  • 解析DrugBank数据库数据|Python
  • CUDA Toolkit 历史版本 cuda安装
  • Aseprite详细使用教程(12)——轮廓工具和多边形工具
  • macos sequoia 禁用 ctrl+enter 打开鼠标右键菜单功能
  • 分布式架构与XXL-JOB
  • leetcode day18 移除元素 26+283
  • 【HarmonyOS Next】鸿蒙监听手机按键
  • 用Deepseek查询快证API-物流查询-实名认证-企业实名认证
  • 一个简洁高效的Flask用户管理示例
  • 分布式之分布式ID
  • (萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念
  • 边缘计算网关与 PLC:注塑机车间数据互联新变革
  • LeetCode刷题---哈希表---347
  • LED灯闪烁实验:实验介绍
  • 论文笔记(七十二)Reward Centering(一)
  • C#之上位机开发---------C#通信库及WPF的简单实践
  • 使用 pjsua2 开发呼叫机器人,批量拨打号码并播放固定音频
  • 从函数到神经网络
  • 用自定义注解实现Excel数据导入中的枚举值校验
  • 网络安全技术pat实验 网络安全 实验
  • 4、IP查找工具-Angry IP Scanner
  • 1018. 锤子剪刀布 (20)-PAT乙级真题
  • MyBatis 中 SqlMapConfig 配置文件详解
  • 复杂项目中的多级WBS应该如何分解?
  • 红蓝对抗之常见网络安全事件研判、了解网络安全设备、Webshell入侵检测
  • 使用 CodeMirror 6 实现插入文本及替换选中文本功能
  • Huatuo热更新--如何使用
  • Flask实现高效日志记录模块
  • scroll、offset、client三大家族和getBoundingClientRect方法
  • JWT 令牌