文档对应的视频地址:
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 { @Autowired private 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
这个时间会很久,如图:
完成!