手把手教你 Spring Boot 集成 Ollama 調用 DeepSeek
在當今數字化時代,AI 技術的飛速發展正不斷改變著我們的生活和工作方式。其中,智能搜索作為一項關鍵技術,正逐漸成為企業和開發者關注的焦點。而 Spring Boot 作為一種流行的 Java 開發框架,其簡潔、高效的特點深受廣大開發者的喜愛。本文將詳細介紹如何在 Spring Boot 中集成 Ollama 并調用 DeepSeek,開啟 AI 智能搜索的新紀元。
一、環境準備
1. 安裝 Ollama
訪問 Ollama 官網,下載與你操作系統匹配的版本(支持 Windows、macOS 和 Linux)。
https://ollama.com/download/mac
下載完成后,運行安裝程序并按照提示完成安裝。對于 Linux 系統用戶,可以通過以下命令進行安裝:
curl -fsSL https://ollama.com/install.sh | sh
驗證 Ollama 安裝是否成功,打開終端或命令提示符,輸入以下命令:
ollama --version
如果成功安裝,終端會返回 Ollama 的版本號。
2. 下載 DeepSeek-R1
確認 Ollama 安裝無誤后,開始下載 DeepSeek-R1。在終端中運行以下命令:
ollama run deepseek-r1
根據你的網絡速度,這個過程可能需要一些時間,請耐心等待,直到下載完成。
二、Spring Boot 項目構建
1. 創建 Spring Boot 項目
使用 Spring Initializr 創建一個 Spring Boot 項目,并添加 Spring AI 依賴。確保在 pom.xml 中包含以下依賴項:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
2. 配置 Ollama
在 Spring Boot 的 application.properties 文件中,配置 Ollama 的服務地址和要調用的模型:
spring.ai.ollama.base-url=http://localhost:11434
spring.ai.ollama.chat.model=deepseek-r1:1.5b
三、編寫代碼調用 DeepSeek-R1 模型
1. 創建服務類
在 Spring Boot 項目中,創建一個服務類,用于調用 DeepSeek-R1 模型。以下是一個簡單的示例:
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.stereotype.Service;
@Service
public class DeepSeekService {
private final OllamaChatModel ollamaChatModel;
public DeepSeekService(OllamaChatModel ollamaChatModel) {
this.ollamaChatModel = ollamaChatModel;
}
public String search(String prompt) {
return ollamaChatModel.call(prompt);
}
}
在上述代碼中,我們通過 @Service 注解將該類標記為一個服務類,并通過構造函數注入的方式獲取 OllamaChatModel 實例。search 方法接收一個 prompt 參數,將其傳遞給 ollamaChatModel.call 方法,從而調用 DeepSeek-R1 模型進行搜索。
2. 創建控制器類
創建一個控制器類,用于接收客戶端的請求并調用服務類中的方法。以下是一個示例:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DeepSeekController {
private final DeepSeekService deepSeekService;
public DeepSeekController(DeepSeekService deepSeekService) {
this.deepSeekService = deepSeekService;
}
@PostMapping("/search")
public String search(@RequestBody String prompt) {
return deepSeekService.search(prompt);
}
}
在上述代碼中,我們通過 @RestController 注解將該類標記為一個控制器類,并通過構造函數注入的方式獲取 DeepSeekService 實例。search 方法接收一個 @RequestBody 注解的 prompt 參數,將其傳遞給 deepSeekService.search 方法,從而實現對 DeepSeek-R1 模型的調用。
四、測試與運行
1. 啟動項目
啟動 Spring Boot 項目,確保項目能夠正常運行。
2. 測試接口
使用 Postman 或其他工具,向 /search 接口發送 POST 請求,并在請求體中傳遞搜索關鍵詞。例如,發送以下請求:
{
"prompt": "人工智能的發展歷程"
}
服務器將返回 DeepSeek-R1 模型的搜索結果,例如:
{
"response": "人工智能的發展歷程可以追溯到 20 世紀 50 年代......"
}
五、總結
通過上述步驟,我們成功地在 Spring Boot 中集成了 Ollama 并調用了 DeepSeek-R1 模型,實現了 AI 智能搜索功能。這一過程不僅展示了 Spring Boot 與 Ollama 的強大結合,也為我們開啟了一扇通往 AI 智能搜索新紀元的大門。在未來的發展中,我們可以進一步探索和優化這一技術,為用戶提供更加智能、高效的搜索體驗。