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);}
}
編輯好后啟動項目并輸入問題,我這里在瀏覽器直接測試