【有源碼】仿DeepSeek問答網站+SpringBoot+VUE3+對接DeepSeek API

今天帶來一款優秀的項目:仿DeepSeek問答網站。 功能和官網差不多,也有歷史上下文,流失對話等。 本文介紹了系統功能與部署安裝步驟,如果您有任何問題,也請聯系學姐,偶現在是經驗豐富的程序員!

一. 系統演示

前端-截圖

視頻演示

仿DeepSeek問答網站

二. 系統概述

是一個基于 DeepSeek 大語言模型的智能對話系統,提供了流式對話、歷史消息管理等功能。該項目采用現代化的技術棧和架構設計,為用戶提供高性能、可靠的 AI 對話服務。

核心功能

1. 實時流式對話

- 支持流式響應,實現打字機效果
- 自動處理超時和錯誤情況
- 支持多輪對話上下文

2. 會話管理

- 完整的對話歷史記錄存儲
- 基于用戶ID和會話ID的消息管理
- 按時間順序組織歷史消息

3. 消息記錄

-完整的消息記錄功能

技術棧?

1. 后端技術

- Spring Boot:核心框架
- WebSocket:實現實時通信
- OkHttp:處理 HTTP 請求
- FastJSON:JSON 數據處理
- JPA:數據持久化

1. 前端技術

- Vue 3:使用 Composition API 開發
- Element Plus:UI 組件庫,提供了按鈕、輸入框等基礎組件

- marked:用于 Markdown 內容渲染
- highlight.js:實現代碼高亮
- WebSocket:實現實時通信

SQL文件與全部源碼我已整理清楚,移步獲取:

gitee( 典 ) C 〇 M/qiqi914/springboot04.git

三. 部署步驟

3.1 api key獲取

首先需要到deepseek官方區申請aip key。

官方地址: https://platform.deepseek.com/api_keys

然后去充值,沖10元就好了,夠用。

3.2 數據庫表導入

用工具navicat連接好數據庫。

雙擊打開數據庫連接(你的名字可能不叫本地,是你自己連接時候取名的), 然后 新建查詢,下面會彈出執行sql的窗口。

用記事本打開數據庫sql文件,全部復制,粘貼到 sql執行窗口內部:

按下Ctrl+A 全選sql內容, 然后右鍵,"運行已選擇的" , 此時,下面控制臺就會打印sql執行。

等執行完成后,數據庫和表就創建好了,右鍵左邊的表,然后刷新 , 表就會出來。

3.3. 項目代碼導入IDEA并啟動

首先我們需要導入后端項目到IDEA,導入成功后, 等待編譯完成,修改yml配置文件, 把數據庫連接信息修改成你的。

還需要修改deepseek的api key。

找到我們的main啟動類:?com.chat.ChatApplication,在右邊代碼部分,右鍵run .. ,?出現 8080 則代表啟動成功。

3.4 前端部署

安裝nodejs, 版本為:v22.14.0

進入到前端項目, 輸入cmd執行命令,首先執行“npm install” 。

在執行“npm install marked highlight.js”

運行 “npm run dev”

六. 系統訪問

瀏覽器打開訪問后臺:

http://localhost:3000/

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

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

相關文章

Ubuntu20.04雙系統安裝及軟件安裝(七):Anaconda3

Ubuntu20.04雙系統安裝及軟件安裝(七):Anaconda3 打開Anaconda官網,在右側處填寫郵箱(要真實有效!),然后Submit。會出現如圖示的Success界面。 進入填寫的郵箱,有一封Ana…

洛谷 P2142 高精度減法(詳解)c++

題目鏈接:P2142 高精度減法 - 洛谷 1.題目 2.算法原理 解法:模擬列豎式計算的過程 先用字符串讀入,然后拆分每一位,逆序放進數組中利用數組,模擬列豎式減法的過程 在這兩步之前要多加一步,在模擬解法的過程&#…

在 MyBatis 中,若數據庫字段名與 SQL 保留字沖突解決辦法

在 MyBatis 中,若數據庫字段名與 SQL 保留字沖突,可通過以下方法解決: 目錄 一、使用轉義符號包裹字段名二、通過別名映射三、借助 MyBatis-Plus 注解四、全局配置策略(輔助方案)最佳實踐與注意事項 一、使用轉義符號…

ThreadLocal解析

1. ThreadLocal的定義與核心作用 ThreadLocal是Java中用于實現線程局部變量的工具類。它為每個線程提供獨立的變量副本,使得每個線程訪問的是自己的數據,從而避免多線程環境下的資源共享問題,實現線程隔離。 例如,解決SimpleDate…

Kafka零拷貝

Kafka為什么適用零拷貝,其他存儲結構不適用? Kafka 采用的是日志存儲模型,數據通常是順序寫入、順序讀取,并且它的消費模式是 “讀完即走”(一次性讀取并發送給消費者),這與零拷貝的特性完美匹…

微服務組件詳解——sentinel

1.啟動sentinel: 下載jar sentinel-dashboard-1.8.0.jar 使用以下命令直接運行 jar 包(JDK 版本必須≥ 1.8): java -Dserver.port9999 -jar D:\sentinel-dashboard-1.8.0.jar 控制臺訪問地址:http://localhost:9999…

AI數據分析:deepseek生成SQL

在當今數據驅動的時代,數據分析已成為企業和個人決策的重要工具。隨著人工智能技術的快速發展,AI 驅動的數據分析工具正在改變我們處理和分析數據的方式。本文將著重介紹如何使用 DeepSeek 進行自動補全SQL 查詢語句。 我們都知道,SQL 查詢語…

動態規劃01背包問題系列一>目標和

目錄 題目分析及優化:狀態表示:狀態轉移方程:初始化:填表順序:返回值:代碼呈現:優化:代碼呈現: 題目分析及優化: 狀態表示: 狀態轉移方程&#xf…

Linux 基礎---sudo權限 修改文件所屬人、用戶所屬組

sudo 概念:讓普通用戶使用管理員權限執行一些操作(root) 在命令前加上sudo 即可 修改文件所屬人、所屬組

HMC7043和HMC7044芯片配置使用

一,HMC7043芯片 MC7043獨特的特性是對14個通道分別進行獨立靈活的相位管理。所有14個通道均支持頻率和相位調整。這些輸出還可針對50 Ω或100 Ω內部和外部端接選項進行編程。HMC7043器件具有RF SYNC功能,支持確定性同步多個HMC7043器件,即確保所有時鐘輸出從同一時鐘沿開始…

【動手實驗】TCP半連接隊列、全連接隊列實戰分析

本文是對 從一次線上問題說起,詳解 TCP 半連接隊列、全連接隊列 這篇文章的實驗復現和總結,借此加深對 TCP 半連接隊列、全連接隊列的理解。 實驗環境 兩臺騰訊云服務器 node2(172.19.0.12) 和 node3(172.19.0.15&am…

Springboot整合WebSocket+Redis以及微信小程序如何調用

一、 Springboot整合WebSocket 1. 引入socket依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>引入依賴后需要刷新maven,Websocket的版本默認跟隨S…

影刀RPA開發拓展--SQL常用語句全攻略

前言 SQL&#xff08;結構化查詢語言&#xff09;是數據庫管理和操作的核心工具&#xff0c;無論是初學者還是經驗豐富的數據庫管理員&#xff0c;掌握常用的 SQL 語句對于高效管理和查詢數據都至關重要。本文將系統性地介紹最常用的 SQL 語句&#xff0c;并為每個語句提供詳細…

大模型訓練微調技術介紹

大模型訓練微調技術是人工智能領域中的一項重要技術&#xff0c;旨在通過少量特定領域的數據對預訓練模型進行進一步訓練&#xff0c;使其更好地適應具體任務或應用場景。以下是關于大模型訓練微調技術的詳細介紹&#xff1a; 1. 微調技術的定義與意義 微調&#xff08;Fine-…

生態安全相關

概念&#xff1a;生態安全指一個國家具有支撐國家生存發展的較為完整、不受威脅的生態系統&#xff0c;以及應對內外重大生態問題的能力。 &#xff08;1&#xff09;國外生態安全的研究進展 國際上對生態安全的研究是從“環境”與“安全”之間的關系展開的。開始的階段&#x…

2024年第十五屆藍橋杯大賽軟件賽省賽Python大學A組真題解析《更新中》

文章目錄 試題A: 拼正方形(本題總分:5 分)解析答案試題B: 召喚數學精靈(本題總分:5 分)解析答案試題C: 數字詩意解析答案試題D:回文數組試題A: 拼正方形(本題總分:5 分) 【問題描述】 小藍正在玩拼圖游戲,他有7385137888721 個2 2 的方塊和10470245 個1 1 的方塊,他需…

《張一鳴,創業心路與算法思維》

張一鳴&#xff0c;多年如一日的閱讀習慣。 愛讀人物傳記&#xff0c;稱教科書式人類知識最濃縮的書&#xff0c;也愛看心理學&#xff0c;創業以及商業管理類的書。 馮侖&#xff0c;王石&#xff0c;聯想&#xff0c;杰克韋爾奇&#xff0c;思科。 《喬布斯傳》《埃隆馬斯…

策略模式處理

首先&#xff0c;定義接口或抽象父類。例如&#xff0c;定義一個Strategy接口&#xff0c;里面有execute方法。然后不同的策略類實現這個接口&#xff0c;比如ConcreteStrategyA、ConcreteStrategyB等&#xff0c;每個類用Component注解&#xff0c;可能指定Bean的名字&#xf…

go程序中使用pprof增加程序監控功能

1.什么是 pprof&#xff1f; pprof 是 Go 內置的性能分析工具&#xff0c;用于生成程序運行時的性能分析數據。它可以幫助開發者分析&#xff1a; CPU 使用情況 內存分配情況 Goroutine 狀況 系統調用分析等 2. 如何使用 pprof&#xff1f; 要使用 pprof&#xff0c;首先需要在…

javaweb自用筆記:Vue

Vue 什么是vue vue案例 1、引入vue.js文件 2、定義vue對象 3、定義vue接管的區域el 4、定義數據模型data 5、定義視圖div 6、通過標簽v-model來綁定數據模型 7、{{message}}直接將數據模型message展示出來 8、由于vue的雙向數據綁定&#xff0c;當視圖層標簽input里的…