文档对应的视频地址:
https://www.bilibili.com/video/BV1V8NBevEjk/?spm_id_from=333.1387.homepage.video_card.click&vd_source=14d27ec13a4737c281b7c79463687112
SpringAI调用本地deepseek模型
一、 使用deepseek步骤
-
官网注册账号
地址: https://www.deepseek.com/
注册:略
如上图,点击右边 API开放平台
2月8号之前新用户会有免费十元的额度,一个月有效期,之后由于服务器资源紧缺,暂时官方不能充值,如果有余额的小伙伴可以直接获取key,如下图
点击右边的API keys,如图:
注意:获取到的key一定要保存起来,后面是不能再复制了。
-
首次调用api
地址:https://api-docs.deepseek.com/
有兴趣的小伙伴可以自己尝试,在这里就不去演示了,因为我们后面会通过SpringAI调用keepseek大模型。
二、通过SpringAI调用deepseek大模型
-
SpringAI官网地址:https://spring.io/projects/spring-ai
-
代码实现
导入依赖:
<?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.4.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.cjc</groupId><artifactId>deepseek-demo3</artifactId><version>0.0.1-SNAPSHOT</version><name>deepseek-demo3</name><description>deepseek-demo3</description><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>
编写配置文件:
#deepseek官方大模型 #spring.ai.openai.api-key=<DEEPSEEK_API_KEY> #spring.ai.openai.base-url=https://api.deepseek.com #spring.ai.openai.chat.options.model=deepseek-chat #spring.ai.openai.chat.options.temperature=0.7 #spring.ai.openai.embedding.enabled=false#本地版本 server.port=8081 spring.application.name=deepseek-demo3 spring.ai.ollama.base-url=http://localhost:11434 spring.ai.ollama.chat.options.model=deepseek-r1:1.5b
controller案例代码实现
package com.cjc.controller;import org.springframework.ai.chat.messages.UserMessage; import org.springframework.ai.chat.model.ChatResponse; import org.springframework.ai.chat.prompt.Prompt; import org.springframework.ai.ollama.OllamaChatModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import reactor.core.publisher.Flux;@RestController @RequestMapping("/deepseek") public class DeepSeekController {@Autowiredprivate OllamaChatModel ollamaChatModel;/*** 基本对话* @param msg* @return*/@GetMapping("/chat1/{msg}")public String chat1(@PathVariable("msg") String msg){return ollamaChatModel.call(msg);}/*** 流式输出* @param message* @return*/@GetMapping(value = "/chat2",produces = "text/html;charset=utf-8")public Flux<String> generateStream(@RequestParam(value = "message", defaultValue = "讲一个笑话") String message) {Prompt prompt = new Prompt(new UserMessage(message));return this.ollamaChatModel.stream(prompt.getContents());} }
三、 通过ollama本地运行deepseek大模型
-
ollama下载安装
ollama地址:https://ollama.com/
-
下载 —略,已经下载完了。
-
安装,傻瓜式安装,下一步即可
cmd窗口查看版本:ollama -v,如果有版本信息,代表安装成功。
-
下载启动deepseek
如上图,根据模型参数的大小,运行下载运行不同的模型,例如:ollama run deepseek-r1:1.5b
这个时间会很久,如图:
完成!