JBoltAI_SpringBoot如何區分DeepSeek R1深度思考和具體回答的內容(基于Ollama)?

當我們用Ollama運行DeepSeek R1模型,向它提問時,會發現它的回答里是有think標簽的

如果我們直接將Ollama的回復用于生產環境,肯定是不行的,對于不同的場景,前面輸出的一堆內容,可能并不需要在客戶端展示,對于用戶體驗來說,一個莫名其妙的標簽包裹著一大堆文字,看起來也是不那么友好的。

來看一下我們的JBoltAI-SpringBoot版AI開發框架是怎么解決這個問題的。

  1. 首先我們加載一下Ollama DeepSeek R1大模型資源(資源加載后可以在項目中被重復調用,我們的框架也支持近20種主流的大模型廠商、平臺)

    ResourceCenter.registerOllamaAI("http://192.168.31.14:11434/api/chat", "deepseek-r1:7b");
    1. 調用大模型

      JBoltAI.chat(AIModel.OLLAMA).prompt("你覺得AI未來發展方向會是什么").onThinking((e, think, status) -> {if (status == ThinkStatus.START) {System.out.println("===== 思考開始 =============");} else if (status == ThinkStatus.RUNNING) {System.out.print(think);} else if (status == ThinkStatus.COMPLETE) {System.out.print(think);System.out.println("===== 思考結束 =============");System.out.println("===== 開始回答 =============");}}).onSuccess((e, r) -> {System.out.print(r.getContent());}).onFail((e, error) -> {System.out.println("發生異常了,異常信息:" + error.getFullMsg());}).publish().await();

      使用JBoltAI 調用大模型能力是非常方便的,JBoltAI.chat() 就可以發起一個聊天事件,通過傳入大模型類型,就可以自動從資源池中找到可用的資源供事件使用,通過prompt() 方法就可以方便的傳入提示詞,通過onThinking 回調,就可以自由處理深度思考的內容,通過onSuccess 回調可以自由處理大模型返回 的正式回答內容。

      框架對于所有支持的大模型,都提供了統一的調用方式,不需要開發者關心底層邏輯,不需要關系不同大模型的接口差異和參數差異,極大的降低了開發者的開發難度。

      1. 看一下執行效果:

        歡迎大家嘗試使用SpringBoot版JBoltAI框架,它會是你開發AI應用的最強大的助手。

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

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

        相關文章

        MySQL 使用 `WHERE` 子句時 `COUNT(*)`、`COUNT(1)` 和 `COUNT(column)` 的區別解析

        文章目錄 1. COUNT() 函數的基本作用2. COUNT(*)、COUNT(1) 和 COUNT(column) 的詳細對比2.1 COUNT(*) —— 統計所有符合條件的行2.2 COUNT(1) —— 統計所有符合條件的行2.3 COUNT(column) —— 統計某一列非 NULL 的記錄數 3. 性能對比3.1 EXPLAIN 分析 4. 哪種方式更好&…

        將DeepSeek接入vscode的N種方法

        接入deepseek方法一:cline 步驟1:安裝 Visual Studio Code 后,左側導航欄上點擊擴展。 步驟2:搜索 cline,找到插件后點擊安裝。 步驟3:在大模型下拉菜單中找到deep seek,然后下面的輸入框輸入你在deepseek申請的api key,就可以用了 讓deepseek給我寫了一首關于天氣的…

        AndroidManifest.xml文件的作用

        AndroidManifest.xml文件在Android應用程序中扮演著至關重要的角色。它是應用程序的全局配置文件,提供了關于應用程序的所有必要信息,這些信息對于Android系統來說是至關重要的,因為它決定了應用程序的運行方式和權限要求,確保了應…

        Mac本地部署Deep Seek R1

        Mac本地部署Deep Seek R1 1.安裝本地部署大型語言模型的工具 ollama 官網:https://ollama.com/ 2.下載Deepseek R1模型 網址:https://ollama.com/library/deepseek-r1 根據電腦配置,選擇模型。 我的電腦:Mac M3 24G內存。 這…

        React進階之前端業務Hooks庫(五)

        前端業務Hooks庫 Hooks原理useStateuseEffect上述問題useState,useEffect 復用的能力練習:怎樣實現一套React過程中的hooks狀態 & 副作用Hooks原理 不能在循環中、條件判斷、子函數中調用,只能在函數最外層去調用useEffect 中,deps 為空,執行一次useState 使用: imp…

        從像素到光線:現代Shader開發的范式演進與性能優化實踐

        引言 在實時圖形渲染領域,Shader作為GPU程序的核心載體,其開發范式已從早期的固定功能管線演進為高度可編程的計算單元。本文通過解析關鍵技術案例,結合現代圖形API(如Vulkan、Metal)的特性,深入探討Shade…

        (七)消息隊列-Kafka 序列化avro(傳遞)

        (七)消息隊列-Kafka 序列化avro(傳遞) 客從遠方來,遺我雙鯉魚。呼兒烹鯉魚,中有尺素書。 ——佚名《飲馬長城窟行》 本文已同步CSDN、掘金平臺、知乎等多個平臺,圖片依然保持最初發布的水印&…

        PXE批量網絡裝機與Kickstart自動化安裝工具

        目錄 一、系統裝機的原理 1.1、系統裝機方式 1.2、系統安裝過程 二、PXE批量網絡裝機 2.1、PXE實現原理 2.2、搭建PXE實際案例 2.2.1、安裝必要軟件 2.2.2、搭建DHCP服務器 2.2.3、搭建TFTP服務器 2.2.4、掛載鏡像并拷貝引導文件到tftp服務啟動引導文件夾下 2.2.5、編…

        【全棧開發】從0開始搭建一個圖書管理系統【一】框架搭建

        【全棧開發】從0開始搭建一個圖書管理系統【一】框架搭建 前言 現在流行降本增笑,也就是不但每個人都要有事干不能閑著,更重要的是每個人都要通過報功的方式做到平日的各項工作異常飽和,實現1.5人的支出干2人的活計。單純的數據庫開發【膚淺…

        部署Flink1.20.1

        1、設置環境變量 export JAVA_HOME/cluster/jdk export CLASSPATH.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarp #export HIVE_HOME/cluster/hive export MYSQL_HOME/cluster/mysql export HADOOP_HOME/cluster/hadoop3 export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop …

        【超詳細】神經網絡的可視化解釋

        《------往期經典推薦------》 一、AI應用軟件開發實戰專欄【鏈接】 項目名稱項目名稱1.【人臉識別與管理系統開發】2.【車牌識別與自動收費管理系統開發】3.【手勢識別系統開發】4.【人臉面部活體檢測系統開發】5.【圖片風格快速遷移軟件開發】6.【人臉表表情識別系統】7.【…

        深入了解 Python 中的 MRO(方法解析順序)

        文章目錄 深入了解 Python 中的 MRO(方法解析順序)什么是 MRO?如何計算 MRO?C3 算法的合并規則C3 算法的合并步驟示例:合并過程解析 MRO 解析失敗的場景使用 mro() 方法查看 MRO示例 1:基本用法 菱形繼承與…

        數字化賦能:制造業如何突破低效生產的瓶頸?

        隨著全球經濟的快速發展與市場需求的變化,制造業面臨著前所未有的壓力與挑戰。生產效率、資源管理、品質控制、成本控制等方面的問題日益突出,尤其是低效生產成為了許多制造企業亟待解決的瓶頸。在這種背景下,數字化轉型成為提升制造業效率的…

        Element-Plus,使用 El-form中 的 scroll-to-error 沒有效果問題記錄

        因業務需要表單組件中嵌套著表格列表,內容比較多; 所以需要表單校驗不通過時,自動定位到不通過的節點; 但發現這個像是沒有起到效果一樣,后面就是排查的思路了: 容器高度問題:如果表單容器的高度…

        基于Javase的停車場收費管理系統

        基于Javase的停車場收費管理系統 停車場管理系統開發文檔 項目概述 1.1 項目背景 隨著現代化城市的不斷發展,車輛數量不斷增加,停車難問題也日益突出。為了更好地管理停車場資 源,提升停車效率,需要一個基于Java SE的停車場管理…

        網絡協議 HTTP、HTTPS、HTTP/1.1、HTTP/2 對比分析

        1. 基本定義 HTTP(HyperText Transfer Protocol) 應用層協議,用于客戶端與服務器之間的數據傳輸(默認端口 80)。 HTTP/1.0:早期版本,每個請求需單獨建立 TCP 連接,效率低。HTTP/1.1&…

        DeepSeek掘金——調用DeepSeek API接口 實現智能數據挖掘與分析

        調用DeepSeek API接口:實現智能數據挖掘與分析 在當今數據驅動的時代,企業和開發者越來越依賴高效的數據挖掘與分析工具來獲取有價值的洞察。DeepSeek作為一款先進的智能數據挖掘平臺,提供了強大的API接口,幫助用戶輕松集成其功能到自己的應用中。本文將詳細介紹如何調用D…

        LabVIEW同步數據采集功能

        VI通過使用數據采集(DAQ)硬件系統,進行多通道同步采集,實時獲取模擬信號數據。它利用外部時鐘信號觸發數據采集,支持連續采樣模式,并將采集到的數據實時顯示在波形圖上,方便用戶進行數據監控和分…

        SpringDataJPA使用deleteAllInBatch方法邏輯刪除失效

        概述 在使用Spring Boot JPA時,執行批量刪除操作時,遇到邏輯刪除失效的問題。具體而言,當使用deleteAllInBatch方法時,數據會被物理刪除,而不是進行邏輯刪除;但是當使用deleteAll時,邏輯刪除操…

        【Docker】使用Docker搭建-MySQL數據庫服務

        零、更換Docker鏡像源 因為國內現在封鎖了Docker默認拉取鏡像的站點(DockerHub),而且國內大部分Docker鏡像站已全部下線,導致現在很多朋友在拉取鏡像的時候會出現無法拉取的現象,這時候就需要進行更換Docker鏡像源。 可…