Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek簡單調用示例

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);}
}

編輯好后啟動項目并輸入問題,我這里在瀏覽器直接測試

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70507.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70507.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70507.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何在 macOS 上配置 MySQL 環境變量

如何在 macOS 上配置 MySQL 環境變量 步驟 1: 查找 MySQL 安裝路徑 打開終端&#xff0c;使用以下命令查找 mysql 的可執行文件路徑&#xff1a; which mysql如果該命令沒有返回結果&#xff0c;可以使用 find 命令&#xff1a; sudo find / -name "mysql" 2>/de…

Unity Excel導表工具轉Lua文件

思路介紹 借助EPPlus讀取Excel文件中的配置數據&#xff0c;根據指定的不同類型的數據配置規則來解析成對應的代碼文本&#xff0c;將解析出的字符串內容寫入到XXX.lua.txt文件中即可 EPPlus常用API //命名空間 using OfficeOpenXml;//Excel文件路徑 var fileExcel new File…

【vue項目中如何實現一段文字跑馬燈效果】

在Vue項目中實現一段文字跑馬燈效果&#xff0c;可以通過多種方式實現&#xff0c;以下是幾種常見的方法&#xff1a; 方法一&#xff1a;使用CSS動畫和Vue數據綁定 這種方法通過CSS動畫實現文字的滾動效果&#xff0c;并結合Vue的數據綁定動態更新文本內容。 步驟&#xff…

AcWing走迷宮-最短路問題-BFS求解

題目描述 給定一個 n * m 的二維整數數組&#xff0c;用來表示一個迷宮&#xff0c;數組中只包含 0 或 1&#xff0c;其中 0 表示可以走的路&#xff0c;1 表示不可通過的墻壁。 最初&#xff0c;有一個人位于左上角 (1, 1) 處&#xff0c;已知該人每次可以向上、下、左、右任…

go 錯誤處理 error

普通錯誤處理 // 包路徑 package mainimport ("errors""fmt" )func sqrt(f1, f2 float64) (float64, error) {if f2 < 0 {return 0, errors.New("error: f2 < 0")}return f1 / f2, nil }func sqrt1(f1, f2 float64) {if re, err : sqrt(f…

MCU Bootloader具備什么條件才能跳轉到APP程序

在MCU系統中&#xff0c;BootLoader&#xff08;Boot&#xff09;跳轉到應用程序&#xff08;APP&#xff09;的條件通常由硬件和軟件協同控制&#xff0c;核心邏輯是確保APP的完整性和合法性。以下是關鍵條件及流程&#xff1a; 1. 硬件啟動模式選擇 BOOT引腳電平&#xff1a…

LeeCode題庫第二十八題

28.找出字符串第一個匹配項的下標 項目場景&#xff1a; 給你兩個字符串 haystack 和 needle &#xff0c;請你在 haystack 字符串中找出 needle 字符串的第一個匹配項的下標&#xff08;下標從 0 開始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;則返回 …

深入解析BFS算法:C++實現無權圖最短路徑的高效解決方案

在無權圖中&#xff0c;廣度優先搜索&#xff08;BFS&#xff09;是解決最短路徑問題的高效算法。接下來博主從專業角度深入探討其實現細節&#xff0c;并給出C代碼示例&#xff1a; 目錄 一、核心原理 二、算法步驟 三、C實現關鍵點 1. 數據結構 2. 邊界檢查 3. 路徑回溯…

Plant Simulation培訓教程-雙深堆垛機立庫仿真模塊

原創 知行 天理智能科技 2025年01月03日 17:02 浙江 又到年終盤點的時候了&#xff0c;在這里我把之前錄制的Plant Simulation培訓教程-雙深堆垛機立庫仿真模塊分享出來&#xff0c;有需要的可以直接聯系我。 雙深堆垛機立庫仿真模塊基于單深模塊開發&#xff0c;適用于雙深堆…

文本和語音互轉

目錄 1. 下載依賴ddl 2. 引入Pom依賴 3. java代碼 二. 語音轉文本 1. 下載中文語音轉文本的模型 2. 引入pom依賴 3. java代碼 4. 運行效果 1. 下載依賴ddl 文字轉語音文件需要使用jacob的dll文件放在jdk安裝目錄下的bin文件夾下 點擊官網下載錄或者通過csdn下載 2. …

DeepSeek破局啟示錄:一場算法優化對算力霸權的降維打擊

導言 2024年,中國AI大模型賽道殺出一匹黑馬——深度求索(DeepSeek)。從數學推理能力超越GPT-4,到API價格僅為Claude 3.5的1/53,再到開源生態的快速擴張,DeepSeek的崛起不僅打破了“算力霸權”的固有認知,更揭示了AI行業底層邏輯的深刻變革。這場技術革命背后,隱藏著技術…

Python大數據可視化:基于python大數據的電腦硬件推薦系統_flask+Hadoop+spider

開發語言&#xff1a;Python框架&#xff1a;flaskPython版本&#xff1a;python3.7.7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;PyCharm 系統展示 管理員登錄 管理員功能界面 價格區間界面 用戶信息界面 品牌管理 筆記本管理 電腦主機…

阿里云虛機的遠程桌面登錄提示帳戶被鎖定了

提示由于安全原因&#xff0c;帳戶被鎖定。 阿里云虛機ECS的遠程桌面登錄提示帳戶被鎖定了&#xff0c;只能登錄阿里云處理 阿里云-計算&#xff0c;為了無法計算的價值 需選擇通過VNC連接 然后計算機管理&#xff0c;解除帳戶鎖定即可。

Grok 使用指南

文章來源&#xff1a;Grok 漫游指南 | xAI Docs 歡迎&#xff01;在本指南中&#xff0c;我們將引導您了解使用 xAI API 的基礎知識。 #第 1 步&#xff1a;創建 xAI 帳戶 您需要一個 xAI 帳戶才能訪問 xAI API。在此處注冊帳戶。 創建賬戶后&#xff0c;您需要為其加載積分…

Node.js高頻面試題精選及參考答案

目錄 什么是 Node.js?它的主要特點有哪些? Node.js 的事件驅動和非阻塞 I/O 模型是如何工作的? 為什么 Node.js 適合處理高并發場景? Node.js 與傳統后端語言(如 Java、Python)相比,有哪些優勢和劣勢? 簡述 Node.js 的運行原理,包括 V8 引擎的作用。 什么是 Nod…

Servlet概述(Ⅰ)

目錄 一、Servlet概述 演示 創建JavaWeb項目&#xff08;2017版本為例&#xff09; 1. 打開 IntelliJ IDEA 2. 選擇項目類型 3. 配置框架 二、Servlet初識(熟練) 1.servlet說明 2.Servlet 接口方法 3.創建Servlet 4.JavaWeb請求響應流程 ?編輯 ?編輯 5.servlet…

Windows 小記 18 —— 子窗口繼承父窗口的樣式

子窗口會繼承父窗口或者所有者窗口的一些樣式。 當我們使用 CreateWindowExW 創建窗口后&#xff0c;指定其 HwndParent 參數時&#xff0c;或者通過 SetWindowLongPtr(vd->Hwnd, GWLP_HWNDPARENT, (LONG_PTR)vd->HwndParent); 指定所有者窗口時&#xff0c;子窗口將從父…

19、《Springboot+MongoDB整合:玩轉文檔型數據庫》

SpringbootMongoDB整合&#xff1a;玩轉文檔型數據庫 摘要&#xff1a;本文全面講解Spring Boot與MongoDB的整合實踐&#xff0c;涵蓋環境搭建、CRUD操作、聚合查詢、事務管理、性能優化等核心內容。通過15個典型代碼示例&#xff0c;演示如何高效操作文檔數據庫&#xff0c;深…

跳躍游戲II(力扣45)

這道題在跳躍游戲(力扣55)-CSDN博客 的基礎上需要找到最小的跳躍次數。那么我們需要用一個變量來統計跳躍次數&#xff0c;而難點就在于何時讓該變量的值增加。這一點我寫在注釋中&#xff0c;大家結合我的代碼會更好理解。其他部分跟跳躍游戲(力扣55)-CSDN博客 幾乎相同&#…

Linux基礎開發工具的使用(apt、vim、gcc、g++、gdb、make、makefile)

Linux軟件包管理器–apt Linux安裝軟件的方式 在Linux下安裝軟件的方法有以下三種&#xff1a; 下載到程序的源代碼&#xff0c;自己編譯出可執行程序獲取deb安裝包、然后使用dpkg命令安裝。&#xff08;不解決依賴關系&#xff09;通過apt進行安裝軟件。 小知識點&#xf…