SSM项目的部署

Mysql8.0、Tomcat9.0、jdk1.8

单体项目

第一阶段:环境搭建 (JDK, MySQL, Tomcat)

在部署项目之前,服务器必须具备运行环境。

1. 安装 JDK 1.8

SSM 项目通常依赖 JDK 1.8。

  • 检查是否已安装:java -version
  • 安装 (以 CentOS 为例):
# 搜索 JDK 1.8yum list java-1.8*# 安装 JDK 1.8yuminstalljava-1.8.0-openjdk-devel.x86_64# 验证java -version

或者下载.tar.gz包手动解压配置环境变量(JAVA_HOME),这里推荐 yum 安装更便捷。

2. 安装与配置 MySQL 8.0

MySQL 8.0 与 5.7 相比,密码认证插件和驱动配置有所不同,需特别注意。

  • 下载与安装:
# 下载 MySQL 源wgethttps://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm# 安装源rpm-ivh mysql80-community-release-el7-3.noarch.rpm# 安装 MySQL 服务yuminstallmysql-community-server# 启动服务systemctl start mysqld
  • 初始化配置:
# 1. 获取临时密码 (安装后会生成一个临时密码)grep'temporary password'/var/log/mysqld.log# 2. 登录 MySQLmysql -u root -p# (输入刚才查到的临时密码)# 3. 修改 Root 密码 (MySQL 8 要求密码复杂度:大小写+数字+特殊字符)ALTERUSER'root'@'localhost'IDENTIFIED BY'YourStrongPass@123';# 4. (重要) 允许远程连接 & 修改加密规则# 许多旧版 SSM 项目用的 JDBC 驱动较老,可能不支持 caching_sha2_password,建议改为 mysql_native_passworduse mysql;update usersethost='%'where user='root';ALTERUSER'root'@'%'IDENTIFIED WITH mysql_native_password BY'YourStrongPass@123';FLUSH PRIVILEGES;exit;
3. 安装 Tomcat 9.0

Tomcat 是运行 WAR 包的容器。

  • 下载与解压:
    前往 Apache Tomcat 9 官网 复制Core->tar.gz的链接。
cd/usr/local/# 下载 (链接可能会变,请以官网为准)wgethttps://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz# 解压tar-zxvf apache-tomcat-9.0.98.tar.gz# 重命名方便管理mvapache-tomcat-9.0.98 tomcat9

第二阶段:本地项目配置与打包

在将代码上传到服务器前,必须在本地修改配置以适配服务器环境。

1. 修改数据库配置文件 (jdbc.propertiesapplication.yml)

确保你的 SSM 项目中的数据库连接信息指向服务器的数据库,或者配置为localhost(因为项目将来运行在服务器上,对项目来说数据库就在本机)。

特别注意 MySQL 8.0 的 JDBC 配置差异:

  • Driver:com.mysql.cj.jdbc.Driver(以前是com.mysql.jdbc.Driver)
  • URL:必须加时区serverTimezone=Asia/Shanghai,否则报错。
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/your_db_name?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai jdbc.username=root jdbc.password=YourStrongPass@123
2. 确保 pom.xml 打包方式为 WAR

打开pom.xml,确保有以下标签:

<packaging>war</packaging>
3. 执行 Maven 打包

在项目根目录(也就是有pom.xml的目录)执行命令行:

# 清理旧文件并打包,跳过测试用例以加快速度mvn clean package -Dmaven.test.skip=true

执行成功后,在项目的target目录下会生成一个.war文件(例如my-ssm-project.war)。


第三阶段:部署到服务器

1. 导入数据库脚本

使用 Navicat 或 SQLyog 远程连接服务器的 MySQL,先运行你的sql建表脚本,确保数据库和表结构存在。

2. 上传 WAR 包

使用 FTP 工具(如 Xftp, FileZilla)或scp命令将本地target目录下的xxx.war上传到服务器 Tomcat 的webapps目录。

# 假设你在本地终端scptarget/my-ssm-project.war root@服务器IP:/usr/local/tomcat9/webapps/
3. 部署策略 (两种方式)
  • 方式 A:保留项目名
    如果不改名,上传后访问路径为:http://服务器IP:8080/my-ssm-project/
  • 方式 B:作为根项目 (ROOT)
    如果你想直接通过http://服务器IP:8080/访问,请将上传的 war 包重命名为ROOT.war(注意大写),并删除 webapps 下原有的ROOT文件夹。

第四阶段:启动与配置 (CLI 操作)

1. 启动 Tomcat
cd/usr/local/tomcat9/bin# 赋予脚本执行权限 (首次需要)chmod+x *.sh# 启动./startup.sh
2. 查看日志 (至关重要)

启动命令执行后,必须看日志确认是否有报错(如数据库连不上、Bean 创建失败)。

# 实时查看控制台日志tail-f /usr/local/tomcat9/logs/catalina.out

Ctrl + C退出日志查看。

3. 防火墙配置

如果 Tomcat 启动成功(日志显示Server startup in [xxx] ms),但外部浏览器无法访问,通常是防火墙拦截了 8080 端口。

# 开放 8080 端口 (CentOS 7+)firewall-cmd --zone=public --add-port=8080/tcp --permanent# 重载防火墙firewall-cmd --reload

总结:常用命令速查表

操作命令/路径
项目打包mvn clean package -DskipTests
Tomcat 目录/usr/local/tomcat9/
Web 应用目录/usr/local/tomcat9/webapps/
启动 Tomcat/usr/local/tomcat9/bin/startup.sh
停止 Tomcat/usr/local/tomcat9/bin/shutdown.sh
查看日志tail -f /usr/local/tomcat9/logs/catalina.out
查端口占用`netstat -nlp

常见问题排查

  1. 数据库连接报错:检查jdbc.properties中的密码是否与服务器 MySQL 一致,以及 URL 是否包含时区设置。
  2. 404 Not Found:确认 WAR 包是否已自动解压(ls webapps查看是否有对应的文件夹)。如果没解压,说明 Tomcat 没启动成功,请查catalina.out
  3. 版本不兼容:如果报错Unsupported major.minor version 52.0,说明你编译用的 JDK 版本比 Tomcat 运行用的 JDK 版本高(确保服务器也是 JDK 1.8)。

聚合项目(所有模块都在同一Tomcat服务下)

针对多 WAR 包共存的详细部署步骤:


第一阶段:本地项目配置与打包 (Maven)

假设你的 Maven 聚合项目结构如下:

Parent-Project (pom) ├── common-module (jar: 公共工具/实体类) ├── service-module (jar: 业务逻辑) ├── admin-web (war: 后台管理系统) <-- 需要部署 └── app-api (war: 手机端接口) <-- 需要部署
1. 确认 POM 配置

你需要确保每一个需要独立部署的子模块(如admin-webapp-api),其pom.xml中都配置了 war 打包方式:

<packaging>war</packaging>
2. 避免路径冲突 (代码层面)

虽然它们运行在不同的上下文路径下,但建议检查以下几点:

  • Cookie 覆盖问题:如果两个项目部署在同域名同端口下,Session Cookie 可能会冲突。通常 Tomcat 会自动处理(Path 不同),但最好确保application.propertiesweb.xml里的 Session 配置是默认的。
  • 数据库连接池:因为是两个独立应用,它们会分别创建各自的连接池。如果应用很多,要注意 MySQL 的最大连接数限制(不要让单个应用占用太多)。
3. 批量打包

父工程 (Parent)根目录下执行命令,Maven 会自动按顺序打包所有模块。

# 在父工程根目录执行mvn clean package -Dmaven.test.skip=true
4. 收集 WAR 包

打包完成后,分别去各子模块的 target 目录找 war 包:

  • admin-web/target/admin-web-1.0.war
  • app-api/target/app-api-1.0.war

建议在本地把它们重命名为你想要访问的短名字,例如:

  • admin.war
  • api.war

第二阶段:服务器部署操作

1. 上传所有 WAR 包

将重命名好的 war 包全部上传到服务器 Tomcat 的webapps目录。

# 假设你在本地,使用 scp 上传 (或者用 FileZilla)scpadmin.war root@服务器IP:/usr/local/tomcat9/webapps/scpapi.war root@服务器IP:/usr/local/tomcat9/webapps/
2. 目录结构确认

上传后,服务器的目录结构应该像这样:

/usr/local/tomcat9/webapps/ ├── ROOT/ (默认首页,可选删除) ├── admin.war (后台系统) └── api.war (接口系统)

第三阶段:Tomcat 内存优化 (多应用部署的关键)

这是最重要的一步。
默认的 Tomcat 内存配置很小(通常几十 MB)。当你启动好几个 SSM 项目时,Spring 容器会初始化多次,极易导致OutOfMemoryError: Java heap space或者PermGen/Metaspace溢出。

你需要修改 Tomcat 的启动参数来增加内存。

1. 创建/编辑setenv.sh

在 Tomcat 的bin目录下创建setenv.sh文件(Linux 下 Tomcat 启动时会自动读取这个文件,优于直接改catalina.sh)。

cd/usr/local/tomcat9/binvisetenv.sh
2. 写入内存配置

i进入编辑,写入以下内容(根据你的服务器内存调整,以下假设服务器有 4G 内存):

# JVM 内存设置# -Xms: 初始堆内存 (建议 512m 或 1024m)# -Xmx: 最大堆内存 (建议 1024m 或 2048m)# -XX:MetaspaceSize: 元空间 (存放 Class 信息,SSM 类很多,这个要大)exportJAVA_OPTS="$JAVA_OPTS-Xms512m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"

Esc,输入:wq保存退出。

3. 赋予执行权限
chmod+x setenv.sh

第四阶段:启动与验证

1. 启动 Tomcat
cd/usr/local/tomcat9/bin ./startup.sh
2. 观察日志 (核心步骤)

因为是多个项目同时启动,日志会混在一起,必须仔细看有没有报错。

tail-f /usr/local/tomcat9/logs/catalina.out

你会看到类似这样的日志流:

  1. Deploying web application archive [.../admin.war]-> Spring 容器初始化 -> 完成。
  2. Deploying web application archive [.../api.war]-> Spring 容器初始化 -> 完成。
  3. Server startup in [xxxx] ms
3. 访问测试

这种部署方式,访问路径是IP:8080/文件名

  • 后台系统:http://服务器IP:8080/admin/
  • 接口系统:http://服务器IP:8080/api/

进阶:如何修改访问路径(可选)

如果你不想改 war 包的名字(比如 war 包叫admin-1.0-SNAPSHOT.war),但想通过/admin访问,或者你想把其中一个作为根目录(/)。

你需要修改/usr/local/tomcat9/conf/server.xml,在<Host>标签内添加<Context>配置:

<Hostname="localhost"appBase="webapps"unpackWARs="true"autoDeploy="true"><Contextpath=""docBase="admin"reloadable="false"/><Contextpath="/api"docBase="api-v1"reloadable="false"/></Host>

注意:如果不配置server.xml,Tomcat 默认就是用文件名作为路径。


总结流程图

  1. Maven 父工程->mvn clean package
  2. 获取产物-> 拿到admin.war,api.war,mobile.war
  3. 上传-> 全部扔进服务器/tomcat9/webapps/
  4. 配置内存->bin/setenv.sh(增加 Heap 和 Metaspace)
  5. 启动->startup.sh
  6. 访问->IP:8080/admin,IP:8080/api

聚合项目(所有模块分别独自霸占一个Tomcat服务)

这种部署方案被称为“多实例部署” (Multi-Instance)

它的核心思想是:在物理上复制多份 Tomcat 文件夹,每个 Tomcat 独立运行,监听不同的端口,互不干扰。如果其中一个挂了(比如内存溢出),不会影响另一个。

以下是完整的操作步骤和配置细节:


第一阶段:准备工作 (目录规划)

假设你要部署两个项目:

  1. Admin 系统(admin.war) -> 计划端口 8081
  2. API 系统(api.war) -> 计划端口 8082
1. 复制 Tomcat 目录

假设你已经解压了一个标准的 Tomcat 到/usr/local/tomcat9。我们将它作为“母板”,复制出两份新的。

cd/usr/local/# 复制出 Admin 用的 Tomcatcp-r tomcat9 tomcat-admin# 复制出 API 用的 Tomcatcp-r tomcat9 tomcat-api

现在你的/usr/local/下有三个目录(原版保留备用,实际运行那两个新的)。


第二阶段:修改端口配置 (最关键步骤)

Tomcat 默认占用 3 个端口,必须全部修改,否则第 2 个 Tomcat 启动时会报错端口被占用

1. 端口规划表

建议按照规律修改,防止弄混:

服务名称目录名HTTP端口(访问用)Shutdown端口(停止服务用)AJP端口(通常用不到)
Admintomcat-admin808180068010
APItomcat-api808280078011

(原默认端口分别是:8080, 8005, 8009)

2. 修改 Admin Tomcat 配置
# 编辑配置文件vi/usr/local/tomcat-admin/conf/server.xml

找到以下三处并修改:

  1. Shutdown 端口(通常在第 22 行左右):
<Serverport="8006"shutdown="SHUTDOWN">
  1. HTTP 端口(通常在第 69 行左右):
<Connectorport="8081"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"/>
  1. AJP 端口(通常在第 116 行左右,如果注释掉了就不用管,没注释则要改):
<Connectorport="8010"protocol="AJP/1.3"redirectPort="8443"/>

保存退出 (:wq)。

3. 修改 API Tomcat 配置

同样的操作,对应 API 的端口规划:

vi/usr/local/tomcat-api/conf/server.xml
  • Server port 改为8007
  • Connector HTTP port 改为8082
  • Connector AJP port 改为8011

保存退出。


第三阶段:部署 WAR 包

将 WAR 包分别放入对应的 Tomcat 容器中。为了访问方便(不带项目名),建议都重命名为ROOT.war

1. 部署 Admin 项目
# 先清空默认应用rm-rf /usr/local/tomcat-admin/webapps/*# 上传并重命名 (假设 war 包在本地当前目录)scpadmin.war root@服务器IP:/usr/local/tomcat-admin/webapps/ROOT.war

*访问地址将是:http://服务器IP:8081/*

2. 部署 API 项目
# 先清空默认应用rm-rf /usr/local/tomcat-api/webapps/*# 上传scpapi.war root@服务器IP:/usr/local/tomcat-api/webapps/ROOT.war

*访问地址将是:http://服务器IP:8082/*


第四阶段:独立内存配置 (可选但推荐)

既然是两个独立的 Java 进程,建议给它们分别设置内存,防止相互抢资源。

为 Admin 设置内存:

vi/usr/local/tomcat-admin/bin/setenv.sh

写入:

# Admin 没那么耗资源,给小一点exportJAVA_OPTS="$JAVA_OPTS-Xms256m -Xmx512m"

赋予权限:chmod +x /usr/local/tomcat-admin/bin/setenv.sh

为 API 设置内存:

vi/usr/local/tomcat-api/bin/setenv.sh

写入:

# API 可能是高并发,给大一点exportJAVA_OPTS="$JAVA_OPTS-Xms512m -Xmx1024m"

赋予权限:chmod +x /usr/local/tomcat-api/bin/setenv.sh


第五阶段:启动与运维

现在你可以独立控制它们了。

1. 启动
# 启动 Admin/usr/local/tomcat-admin/bin/startup.sh# 启动 API/usr/local/tomcat-api/bin/startup.sh
2. 检查

使用ps命令查看进程,应该能看到两个 java 进程。

ps-ef|greptomcat

或者检查端口监听:

netstat-ntlp|grepjava# 应该能看到 8081, 8006, 8082, 8007 都在 LISTENING
3. 开放防火墙

别忘了把新端口放行。

firewall-cmd --zone=public --add-port=8081/tcp --permanent firewall-cmd --zone=public --add-port=8082/tcp --permanent firewall-cmd --reload

总结:架构图解

部署完成后的服务器状态如下:

服务器 (Linux) ├── 数据库 (MySQL 3306) │ ├── 进程 1: Tomcat-Admin │ ├── 路径: /usr/local/tomcat-admin │ ├── 端口: 8081 (HTTP) / 8006 (Shutdown) │ └── 代码: webapps/ROOT.war (Admin项目) │ └── 进程 2: Tomcat-API ├── 路径: /usr/local/tomcat-api ├── 端口: 8082 (HTTP) / 8007 (Shutdown) └── 代码: webapps/ROOT.war (API项目)

优点:

  1. 互不影响:Admin 后台如果因为处理 excel 导入导致内存溢出崩了,API 接口服务依然正常运行。
  2. 热更新方便:你可以只重启 Admin,不影响 API 的用户。
  3. 日志分离:tomcat-admin/logstomcat-api/logs分开,查错更清晰。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1180253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MinerU多文档处理技巧:云端GPU并行转换省时70%

MinerU多文档处理技巧&#xff1a;云端GPU并行转换省时70% 你是不是也遇到过这样的情况&#xff1f;手头有几百份PDF电子书要处理&#xff0c;比如出版社的编辑需要把老教材批量转成Markdown格式用于数字出版&#xff0c;或者研究人员想把大量学术论文结构化入库。本地电脑打开…

AI读脸术用户体验优化:加载动画与错误提示改进

AI读脸术用户体验优化&#xff1a;加载动画与错误提示改进 1. 引言 1.1 业务场景描述 在基于计算机视觉的Web应用中&#xff0c;用户上传图像后等待系统处理的过程是影响整体体验的关键环节。尤其在AI推理类服务中&#xff0c;尽管底层模型具备高效推理能力&#xff0c;但若…

Qwen快速入门:云端GPU懒人方案,打开浏览器就能用

Qwen快速入门&#xff1a;云端GPU懒人方案&#xff0c;打开浏览器就能用 你是不是也遇到过这样的情况&#xff1f;作为产品经理&#xff0c;想亲自体验一下大模型到底能做什么、反应有多快、输出质量如何&#xff0c;好为自己的产品设计找点灵感。可一想到要装环境、配CUDA、拉…

没万元显卡怎么玩AI编程?Seed-Coder-8B-Base云端镜像解救你

没万元显卡怎么玩AI编程&#xff1f;Seed-Coder-8B-Base云端镜像解救你 你是不是也刷到过那种视频&#xff1a;AI自动写游戏脚本、几秒生成一个贪吃蛇小游戏&#xff0c;甚至还能自己调试逻辑&#xff1f;看着特别酷&#xff0c;心里直痒痒。可一查实现方式&#xff0c;发现人…

通义千问2.5-7B-Instruct性能优化:让推理速度提升30%

通义千问2.5-7B-Instruct性能优化&#xff1a;让推理速度提升30% 随着大语言模型在实际应用中的广泛落地&#xff0c;推理效率成为决定用户体验和部署成本的关键因素。Qwen2.5-7B-Instruct作为通义千问系列中兼具高性能与实用性的指令调优模型&#xff0c;在自然语言理解、代码…

乐理笔记秒变语音:基于Supertonic的设备端高效转换

乐理笔记秒变语音&#xff1a;基于Supertonic的设备端高效转换 1. 引言&#xff1a;从乐理笔记到语音输出的技术跃迁 在音乐学习和创作过程中&#xff0c;大量的理论知识往往以文本形式记录&#xff0c;例如调式规则、音程关系、和弦构成等。对于像《理工男的乐理入门》这类结…

从零搭建高精度中文ASR系统|FunASR + speech_ngram_lm_zh-cn实战

从零搭建高精度中文ASR系统&#xff5c;FunASR speech_ngram_lm_zh-cn实战 1. 引言&#xff1a;构建高可用中文语音识别系统的现实需求 随着智能语音交互场景的不断扩展&#xff0c;对高精度、低延迟、易部署的中文自动语音识别&#xff08;ASR&#xff09;系统的需求日益增…

Cute_Animal_For_Kids_Qwen_Image从零开始:儿童AI绘画完整教程

Cute_Animal_For_Kids_Qwen_Image从零开始&#xff1a;儿童AI绘画完整教程 1. 学习目标与前置知识 本教程旨在帮助开发者、教育工作者及家长快速掌握如何使用基于阿里通义千问大模型的图像生成工具 Cute_Animal_For_Kids_Qwen_Image&#xff0c;实现为儿童定制化生成可爱风格…

数字人短视频矩阵:Live Avatar批量生成方案

数字人短视频矩阵&#xff1a;Live Avatar批量生成方案 你是不是也遇到过这样的困境&#xff1f;团队每天要产出20条以上的短视频内容&#xff0c;文案、拍摄、剪辑、发布一整套流程下来&#xff0c;人力成本高、效率低&#xff0c;还容易出错。更头疼的是&#xff0c;一旦主I…

从部署到训练:Qwen3-Embedding-0.6B完整实践路径

从部署到训练&#xff1a;Qwen3-Embedding-0.6B完整实践路径 1. 引言&#xff1a;文本嵌入模型的工程价值与Qwen3-Embedding-0.6B定位 在当前大规模语言模型驱动的自然语言处理应用中&#xff0c;文本嵌入&#xff08;Text Embedding&#xff09; 技术已成为构建语义理解系统…

系统学习ST7735寄存器功能与作用机制

从零掌控ST7735&#xff1a;寄存器级驱动开发实战指南你有没有遇到过这样的场景&#xff1f;明明代码烧录成功&#xff0c;背光也亮了&#xff0c;但屏幕要么全白、要么花屏乱码&#xff0c;甚至完全没反应。查遍资料&#xff0c;别人说“初始化序列贴对就行”&#xff0c;可你…

没VIP也能用Qwen3-14B:按量付费打破平台会员制

没VIP也能用Qwen3-14B&#xff1a;按量付费打破平台会员制 你是不是也遇到过这种情况&#xff1f;作为一名自由职业者&#xff0c;偶尔需要写方案、改简历、润色文案&#xff0c;或者临时处理一段复杂代码。每次都想找个靠谱的AI助手帮忙&#xff0c;但一打开那些主流SaaS平台…

Python3.9数据科学套件:预装NumPy/Pandas,开箱即用

Python3.9数据科学套件&#xff1a;预装NumPy/Pandas&#xff0c;开箱即用 你是不是也遇到过这样的情况&#xff1f;作为一名金融从业者&#xff0c;想用Python做点量化分析、回测策略或者处理交易数据&#xff0c;结果刚起步就被环境问题卡住了。pip install pandas 超时、SS…

Yolo-v5训练避坑指南:云端GPU按秒计费,不花冤枉钱

Yolo-v5训练避坑指南&#xff1a;云端GPU按秒计费&#xff0c;不花冤枉钱 你是不是也经历过这样的场景&#xff1f;作为研究生第一次尝试训练自己的目标检测模型&#xff0c;兴冲冲地把代码跑起来&#xff0c;结果一觉醒来发现电脑风扇还在狂转&#xff0c;显卡温度90度&#…

FunASR语音识别优化:内存占用降低技巧

FunASR语音识别优化&#xff1a;内存占用降低技巧 1. 背景与挑战 随着语音识别技术在智能客服、会议转录、教育辅助等场景的广泛应用&#xff0c;对模型推理效率和资源消耗的要求日益提高。FunASR 是一个功能强大的开源语音识别工具包&#xff0c;支持多种预训练模型&#xf…

AWPortrait-Z时尚设计:服装效果图的AI生成

AWPortrait-Z时尚设计&#xff1a;服装效果图的AI生成 1. 快速开始 启动 WebUI 在本地或远程服务器上部署 AWPortrait-Z 后&#xff0c;可通过以下两种方式启动 WebUI 服务。 方法一&#xff1a;使用启动脚本&#xff08;推荐&#xff09; cd /root/AWPortrait-Z ./start_…

VibeVoice避坑指南:部署与使用常见问题全解答

VibeVoice避坑指南&#xff1a;部署与使用常见问题全解答 1. 引言 随着AI语音技术的快速发展&#xff0c;高质量、多角色、长时长的文本转语音&#xff08;TTS&#xff09;系统正成为内容创作、教育、无障碍服务等领域的关键工具。微软推出的 VibeVoice-TTS-Web-UI 镜像&…

用Glyph做合同审查,视觉推理提升准确率

用Glyph做合同审查&#xff0c;视觉推理提升准确率 在法律科技领域&#xff0c;合同审查一直是一个高价值但低效率的环节。传统自然语言处理&#xff08;NLP&#xff09;方法依赖文本解析&#xff0c;难以捕捉排版、表格结构、手写批注等关键信息。而随着多模态大模型的发展&a…

实测DeepSeek-R1-Distill-Qwen:数学推理效果超预期

实测DeepSeek-R1-Distill-Qwen&#xff1a;数学推理效果超预期 在当前大模型轻量化与高效推理的背景下&#xff0c;DeepSeek-R1-Distill-Qwen-1.5B 作为一款基于知识蒸馏技术打造的小参数模型&#xff0c;凭借其出色的数学推理能力引起了广泛关注。本文将从部署实践、性能测试…

SenseVoice Small镜像详解|语音转文字+情感事件标签一站式解决方案

SenseVoice Small镜像详解&#xff5c;语音转文字情感事件标签一站式解决方案 1. 技术背景与核心价值 随着智能语音技术的快速发展&#xff0c;传统语音识别&#xff08;ASR&#xff09;已从单一的文字转换逐步演进为多模态语义理解。在客服质检、会议纪要、内容审核、心理健…