【有源码】仿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.mzph.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里的…