一、前言
??隨著人工智能技術的飛速發展,大語言模型(LLM)在各個領域的應用越來越廣泛。DeepSeek 作為一款備受矚目的國產大語言模型,憑借其強大的自然語言處理能力和豐富的知識儲備,迅速成為業界關注的焦點。無論是文本生成、代碼編寫,還是智能問答、數據分析,DeepSeek 都展現出了巨大的潛力。
??為了更好地將 DeepSeek 的強大能力賦能到實際項目中,本文將介紹如何利用 Spring AI 和 Ollama 實現 DeepSeek 模型的調用。Spring AI 作為 Spring 生態系統中用于構建 AI 應用的框架,提供了便捷的 API 和豐富的功能,能夠幫助我們快速集成各種 AI 模型。而 Ollama 則是一個輕量級的工具,可以方便地在本地運行和管理大型語言模型,為開發者提供了更加靈活和高效的模型部署方案。
??通過本文的學習,您將掌握如何使用 Spring AI 和 Ollama 搭建一個簡單的應用,并實現對 DeepSeek 模型的調用,從而為您的項目注入更強大的 AI 能力。
二、Spring AI介紹
??Spring AI 是 Spring 生態系統中的一個新興項目,旨在為開發者提供一套簡單、統一的 API 和工具,以便更輕松地將人工智能(AI)能力集成到 Spring 應用中。隨著 AI 技術的快速發展,越來越多的企業希望將大語言模型(LLMs)、機器學習模型和其他 AI 功能融入自己的業務系統。Spring AI 應運而生,為開發者提供了一個標準化的方式來訪問和調用各種 AI 模型和服務。
主要功能:
1.大語言模型(LLMs)集成
支持調用 OpenAI、DeepSeek、Hugging Face 等主流大語言模型。
提供統一的 API 進行文本生成、對話、翻譯等任務。
2.向量數據庫支持
集成向量數據庫(如 Pinecone、Weaviate),用于存儲和檢索高維向量數據,支持語義搜索和推薦系統。
3.提示詞工程(Prompt Engineering)
提供工具和模板,幫助開發者優化與大語言模型的交互,提升模型輸出的準確性和相關性。
4.數據預處理和后處理
提供數據清洗、格式化等功能,確保輸入數據符合模型要求,并對模型輸出進行后處理。
5.可擴展性
支持自定義模型和算法,開發者可以根據需求擴展 Spring AI 的功能。
三、Ollama介紹
??Ollama 是一個輕量級、開源的工具,旨在幫助開發者更輕松地在本地運行和管理大型語言模型(LLMs)。它專注于簡化模型的部署和使用流程,使得開發者無需復雜的配置即可快速上手。Ollama 支持多種流行的開源大語言模型(如 LLaMA、Mistral、DeepSeek 等),并提供了簡單易用的命令行工具和 API,方便開發者將模型集成到自己的應用中。
??關于Ollama本地部署 DeepSeek 模型,參考我之前的文章 DeepSeek-R1本地部署詳細指南: 《DeepSeek-R1本地部署詳細指南!(Ollama+Chatbox AI+Open WebUI)》。
一定要先在本地部署 DeepSeek 模型,不然后面項目中無法使用。
四、SpringBoot項目中使用本地DeepSeek模型(代碼實戰)
整體版本SpringBoot 版本3.4.2 + JDK 17 + Ollama版本1.0.0-M6
1. 依賴引入
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>1.0.0-M6</version></dependency>
2. 添加配置
spring.ai.ollama.base-url=http://localhost:11434spring.ai.ollama.chat.model=deepseek-r1:14b
3. 調用模型測試
@SpringBootTest(classes = AIdemoApplication.class)
public class OllamaTestDemo {@Autowiredprivate OllamaChatModel ollamaChatModel;@Testpublic void startOllama() {String prompt = "hello";System.out.println("開始。。。");String callResult = ollamaChatModel.call(prompt);System.out.println(callResult);}
}
4. 測試結果
Hello! How can I assist you today?
5. 在測試一個問題
@SpringBootTest(classes = AIdemoApplication.class)
public class OllamaTestDemo {@Autowiredprivate OllamaChatModel ollamaChatModel;@Testpublic void startOllama() {String prompt = "請將下面的文字翻譯成英文:";String message = "今天天氣真好。";System.out.println("開始。。。");String callResult = ollamaChatModel.call(prompt + " " + message);System.out.println(callResult);}
}
五、總結
??Spring AI作為Spring生態系統中的一個重要組成部分,專注于提供人工智能相關的服務和支持,為開發者提供了便捷的開發環境和豐富的功能接口。而Ollama工具則以其強大的大型語言模型(LLMs)支持能力而著稱,使得用戶能夠在本地環境中輕松運行各種LLMs,并享受其帶來的高效和安全性。