当前位置: 首页 > news >正文

LangChain4j实战-Java AI应用开源框架之LangChain4j和Spring AI


今天这篇文章我来分享LangChain4j实战-Java AI应用开源框架之LangChain4j和Spring AI。

在贝恩聊架构AI专栏中通过学习如何使用Java相关AI应用开源框架,到后续开发企业级Java AI应用,将大型语言模型和AI工具集成到现有系统中。我们将重点介绍如何使用Spring AI和LangChain4J等开源框架,在Java企业级应用程序中构建高度定制化的AI应用。

随着人工智能(AI)技术的飞速发展,越来越多的开发者开始将目光投向AI应用的开发。然而,目前市场上大多数AI框架如LangChain、PyTorch等主要支持Python,而AI不仅仅是Python开发者所独有的,在Java企业级应用市场一定会涌现出很多基于企业级应用的AI产品,所以对Java AI应用开发框架的掌握是Java开发者将大模型(LLM)和业务系统集成关键的知识点。

AI专栏软件环境

  • IntelliJ IDEA 2024.3.5
  • LangChain4j 0.36.2
  • Spring Boot 3.4.4
  • Spring 6.2.5
  • OpenAI
  • JDK 17.0.13

我们先看本篇文章对应的项目结构,请看下图

接下来我来介绍Java AI技术栈主流的两款开源框架LangChain4j和Spring AI

LangChain4j:https://docs.langchain4j.dev/

Spring AI:https://spring.io/projects/spring-ai

完整代码在文章最后,如果觉得本篇文章对你有用,记得点赞、关注、收藏哦。你的支持是我持续更新的动力!

1 Java AI应用开发框架

1.1 LangChain4j

LangChain4j 是一个专为 Java 开发者设计的开源库,旨在简化将大型语言模型(LLM)集成到 Java 应用程序中的过程。下图为LangChain4j核心组件:

1.1.1 核心组件

  • 基础组件

    • Language Models:模型组件,包含各种类型的模型和模型集成。
    • Prompt Templates:提示模板,负责提示管理、优化和序列化。
    • Output Parsers:输出解析器,将 LLM 的输出解析为更结构化的格式。
    • Memory:记忆组件,用于保存和模型交互时的上下文状态。
  • 高级组件

    • Chains:链,是一系列对各种组件的调用。
    • AI Services:AI 服务,将与 LLMs 和其他组件交互的复杂性隐藏在简单的 API 后面。
    • RAG(检索增强生成) :包含文档加载器、文本切割器、向量模型、向量数据库等组件。
1.1.2 核心功能

  • 统一 API:能方便地接入 15 + 个主流的 LLM 提供商和 20 + 个向量嵌入存储。
  • 综合工具箱:从低级的提示模板、聊天记忆管理到高级的 AI 服务和 RAG 等一应俱全。
  • 多模态支持:支持文本和图像作为输入,能够处理更复杂的应用场景。
  • 模块化设计:不同功能可以独立使用,便于扩展和维护。
  • 高层次抽象:提供低级和高级 api,开发者可按需选择。
  • 良好的集成支持:与 springboot 等流行框架集成良好。
  • 支持流式响应:支持从 LLMs 流式获取响应,允许实时获取模型的输出。
1.1.3 应用场景
  • 企业级应用:在数字化和AI的发展进程中千行百业的应用需要与大模型进行集成。
  • 聊天机器人:可用于构建聊天机器人,实现接受、更改、取消订单等功能
  • 信息提取:能处理大量非结构化数据,如文件、网页等,并从中提取结构化信息,比如从客户评论和支持聊天记录中提取见解。
  • 内容生成与转换:可用于生成应用或网站的内容,还能对信息进行转换。
  • 文本分类与标注:使用内置的模型或者自有模型进行文本分类和标签分配。
  • 机器翻译:整合现有神经网络模型,实现文本间的自动转换。

1.2 Spring AI

Spring AI 是 Spring 生态系统中用于人工智能和机器学习集成的应用程序框架。以下是关于Spring AI详细介绍:

1.2.1 核心功能

  • 简化集成:提供统一且简化的 API,让开发者能轻松将 AI 和机器学习模型集成到 Spring 应用中,无需处理复杂的底层细节。
  • 丰富的生态支持:依托 Spring 强大的生态,可与 Spring Boot、Spring Cloud 等无缝集成,便于构建现代化的 AI 驱动的微服务和分布式系统。
  • 模型管理便捷:支持 OpenAI、Azure OpenAI、Hugging Face、DeepSeek 等多种主流 AI 模型,方便开发者管理和部署。
  • 数据处理优势:借助 Spring Data 等模块,能高效进行数据访问、预处理和后处理,为 AI 模型训练和推理提供优质数据支持1。
  • 集成多种大模型功能:涵盖自然语言处理、机器学习集成、图像处理与计算机视觉、检索增强生成、函数调用、向量数据库集成等。
  • 支持多种接入方式:支持同步 API 和流 API,开发者可以根据自己的需求选择适合的接入方式,以实现更高效的 AI 交互。
1.2.2 核心组件

  • Spring AI Core:核心模块,提供基本的抽象和工具,如模型加载、预测执行等功能,是与各种 AI 框架交互的基础。
  • Spring AI Integrations:集成模块,包含与具体 AI 框架的集成实现,使 Spring 应用能与不同框架的模型进行交互。
  • Spring AI CLI:命令行界面工具,方便开发者通过命令行快速进行模型管理、训练和推理等操作,提高开发效率。
1.2.3 应用场景
  • 企业级应用:在数字化和AI的发展进程中千行百业的应用需要与大模型进行集成。
  • 自然语言处理领域:可构建智能客服系统,集成自然语言处理模型,理解和处理用户输入的文本,实现自动回复。还能进行文本生成、情感分析等任务。
  • 图像识别领域:在图像管理系统中,使用 Spring AI 集成图像识别模型,对上传的图片进行自动分类和标注,也可用于目标检测、图像分割等。
  • 预测分析领域:在金融风险预测等应用里,借助 Spring AI 集成机器学习模型,对金融数据进行分析和预测,帮助企业做出决策。在电商领域,可根据用户行为数据进行购买预测,优化推荐系统。
  • 语音处理领域:支持语音识别和合成技术,使得智能音箱、语音助手等设备能够更好地理解和回应用户的指令。
  • 智能办公领域:可以实现文档内容的自动提取、分类和总结,提高办公效率。

2 LangChain4j和Spring AI

2.1 技术架构

  • LangChain4j:提供从底层的提示模板、聊天记忆管理、输出解析到高级模式(如 AI 服务和检索增强生成 RAG)的工具。有底层和高级两个抽象层次,底层可直接访问核心组件,高级提供更高层次 API 隐藏复杂性。
  • Spring AI:基于 Spring 框架的核心设计理念,提供强大且灵活平台。采用模块化架构,比如支持 RAG 通过提供模块库来构建 RAG 流。

2.2 集成能力

  • LangChain4j:可以与 Spring Boot 等主流 Java 框架无缝集成,还与 Quarkus 集成,支持 20 多个向量嵌入存储。
  • Spring AI:与 Spring Boot、Spring Data、Spring Security 等 Spring 项目无缝集成,利用 Spring 生态优势。

2.3 兼容性

  • LangChain4j:从 0.36 版本开始需要 Java 17 及以上版本,之前兼容 Java 8+。
  • Spring AI:要求 Java 17 + 和 Spring Boot 3。

2.4 社区支持

  • LangChain4j:社区活跃,反馈迅速,能快速整合最新 AI 技术。
  • Spring AI:项目处于成长期,API 变动相对较大

3 LangChain4j实战

3.1 LangChain4j支持的LLMs

供应商流式调用函数JSON多模态观测
Amazon Bedrocktext
Anthropictext, image
Azure OpenAItext, image
ChatGLMtext
DashScopetext, image, audio
GitHub Modelstext
Google AI Geminitext, image, audio, video, PDF
Google Vertex AI Geminitext, image, audio, video, PDF
Google Vertex AI PaLM 2text
Hugging Facetext
Jlamatext
LocalAItext
Mistral AItext
Ollamatext, image
OpenAItext, image
Qianfantext
Cloudflare Workers AItext
Zhipu AItext, image

3.2 模型(LLM)选择

模型供应商主要特点优势备注
OpenAIGPT系列(如GPT-4),具备强大的文本生成与理解能力灵活性高,适用于多种应用场景。大模型界的事实标准暂停对国服的API服务,需要通过 Azure 接入
DeepSeek开源大模型,支持多语言推理与编码任务表现优异,社区活跃,支持多样化应用性价比高,输入价格(缓存命中): 缓存未命中):1元/百万
阿里百炼提供多种大模型服务(如通义千问和各种开源、商用模型)性能接近GPT-4,API价格较低,支持企业迁移方案主要面向企业用户 所有新用户可获得超过5000万Tokens的免费额度及4500张图片生成额度,以鼓励更多企业使用
智谱清言基于GLM架构,支持多轮对话与复杂指令处理指令理解能力强,支持多场景下的定制化解决方案模型全面;不定期有大型优惠活动
讯飞星火强大的生态支持,较全面的商业化场景高效的推理速度和广泛的应用场景讯飞星火大模型具有强大的自然语言处理能力、丰富的预训练数据、高效的推理速度
Ollama支持本地部署,集成多种开源模型,隐私保护优先强调用户隐私和自主性需要较高的硬件配置以支持本地部署
硅基流动专注于AI基础设施,提供SiliconCloud平台高效推理,多模态支持,降低使用门槛,提升开发效率主要面向技术开发者。提供了一系列开源大模型的API服务,其中多个开源大模型如Qwen2、GLM4和Yi1.5均为永久免费,这使得开发者可以自由使用这些模型进行应用开发,而无需承担费用
零一万物开源模型Yi Model 系列 API 具备较快的推理速度,这不仅缩短了回复延迟,同时也保持了出色的模型效果零一万物 API 与 OpenAI API 完全兼容,你只需修改少量代码,即可平滑迁移

3.3 项目搭建

3.3.1 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>cn.itbeien.ai</groupId><artifactId>langchain4j-labs</artifactId><version>1.0-SNAPSHOT</version></parent>
​<artifactId>lab01</artifactId>
​<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-spring-boot-starter</artifactId></dependency>
​<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId></dependency></dependencies>
​
</project>
3.3.2 代码实现
3.3.2.1 实现简单对话
 package cn.itbeien.langchain4j.ai.controller;import dev.langchain4j.model.chat.ChatLanguageModel;import jakarta.annotation.Resource;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/*** @author itbeien* 项目网站:https://www.itbeien.cn* 公众号:贝恩聊架构* 全网同名,欢迎小伙伴们关注* Java/AI学习社群* Copyright© 2025 itbeien*/@RestController@RequestMapping("/openai")public class OpenAIController {@Resourceprivate ChatLanguageModel chatLanguageModel;/*@Value("${langchain4j.open-ai.chat-model.api-key}")private String apiKey;​@Value("${langchain4j.open-ai.chat-model.model-name}")private String modelName;*//* @Beanpublic ChatLanguageModel chatLanguageModel() {return OpenAiChatModel.builder().apiKey(this.apiKey).modelName(this.modelName).build();}*/@GetMapping("/hello")public String helloAI() {return chatLanguageModel.generate("你是哪家公司开发的");}}
3.3.3 代码测试

运行 cn.itbeien.langchain4j.ai.test.LangChain4jLab01Test进行单元测试

4 源码地址

贝恩聊架构-AI专栏,SpringBoot3专栏系列文章、资料和源代码会同步到以下地址,代码和资料每周都会同步更新

该仓库地址主要用于存放贝恩聊架构-贝恩聊架构-AI专栏、SpringBoot3专栏、基于企业级支付系统学习微服务整体技术栈所有资料和源码

Gitee https://gitee.com/itbeien/programmer-guide

Github https://github.com/itbeien/programmer-guide

相关文章:

LangChain4j实战-Java AI应用开源框架之LangChain4j和Spring AI

今天这篇文章我来分享LangChain4j实战-Java AI应用开源框架之LangChain4j和Spring AI。 在贝恩聊架构AI专栏中通过学习如何使用Java相关AI应用开源框架&#xff0c;到后续开发企业级Java AI应用&#xff0c;将大型语言模型和AI工具集成到现有系统中。我们将重点介绍如何使用Sp…...

机器学习十大算法全解析机器学习,作为人工智能的基石,涵盖了众多高效的算法。今天,我们就来深入探讨其中的十大核心算法!

1️⃣ 线性回归&#xff1a;通过最小化误差的平方和来寻找最佳函数匹配。 2️⃣ 逻辑回归&#xff1a;用于分类问题&#xff0c;通过逻辑函数来预测事件发生的概率。 3️⃣ 决策树&#xff1a;基于特征选择和阈值来构建树形结构&#xff0c;用于分类和回归。 4️⃣ 朴素贝叶…...

day26图像处理OpenCV

文章目录 一、OpenCV1.介绍2.下载3.图像的表示4.图像的基本操作4.1图片读取或创建4.1.1读取4.1.2创建 4.2创建窗口4.3显示图片4.3.1设置读取的图片4.3.2设置显示多久4.3.3释放 4.4.保存图片4.5图片切片&#xff08;剪裁&#xff09;4.6图片大小调节 5.在图像中绘值5.1绘制直线5…...

怎么查询SQL Server AlwaysOn

1. SQL Server AlwaysOn 是什么&#xff1f; SQL Server AlwaysOn 是 Microsoft 提供的高可用性&#xff08;High Availability, HA&#xff09;和灾难恢复&#xff08;Disaster Recovery, DR&#xff09;解决方案&#xff0c;包含以下两个核心技术&#xff1a; 组件描述故障…...

10分钟做了一个投资回报计算器,欢迎大家使用

一、背景 今天突然想算一下1万本金&#xff0c;2%利率存2年情况下的投资回报收益情况&#xff0c;但是发现手上没有计算器&#xff0c;想着自己做一个网页简单实现一下&#xff0c;于是有了这个小工具&#xff08;FutureValueCalculator——未来价值计算器&#xff09;。 二、…...

报错:mount: unknown filesystem type ‘vfat’

服务器重启之后 进入 Ctrl D 界面 界面报错是 FAILED to mount /boot/efi 输入密码进去之后 (py38) [rootlocalhost data]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1.5T 0 disk ├─sda1 8:1 0 50M 0 part /bo…...

Java学习手册:面向对象编程核心概念

面向对象编程&#xff08;OOP&#xff09;是Java语言的核心编程范式&#xff0c;它强调通过对象之间的交互来实现程序功能。OOP的核心思想是将现实世界中的事物抽象为对象&#xff0c;通过对象的属性和行为来描述和操作这些事物。本文将深入探讨Java中面向对象编程的三大核心概…...

工厂模式(简单工厂,工厂方法,抽象工厂)

工厂模式 工厂模式是java中最常用的设计模式&#xff0c;主要是用来完成对象的创建&#xff0c;使得对象创建过程和对象使用过程分离。 简单来说是取消对象创建者和使用者的耦合&#xff0c;简化new 对象的创建。 优势 &#xff1a;对象的属性创建完整。 缺点&#xff1a; 创建…...

【实际项目分享】多相机取图存图问题

1、项目介绍 针对 ​​5路相机同步取图​​ 场景&#xff0c;设计了一套高并发、低延迟的图像数据管理方案&#xff0c;重点解决多线程环境下的数据竞争与存储效率问题。 2、设计目标​​ ​​高并发写入​​&#xff1a;支持5个相机线程同时写入数据&#xff0c;无锁冲突​​…...

LLMs基础学习(七)DeepSeek专题(1)

LLMs基础学习&#xff08;七&#xff09;DeepSeek专题&#xff08;1&#xff09; 文章目录 LLMs基础学习&#xff08;七&#xff09;DeepSeek专题&#xff08;1&#xff09;DeepSeek 相关资料官方资料与基础文档实践指南和技术解析 热启动与冷启动**热启动&#xff08;主流&…...

安装vllm

ubuntu 22.04, RTX3080, cuda 12.1, cudnn 8.9.7&#xff0c;cuda和cudnn的安装参考&#xff1a;https://blog.csdn.net/m0_52111823/article/details/147154526?spm1001.2014.3001.5501。 查看版本对应关系&#xff0c;下载12.1对应的whl包&#xff0c;https://github.com/vl…...

SVMSPro分布式综合安防管理平台--地图赋能智慧指挥调度新高度

SVMSPro分布式综合安防管理平台–地图赋能智慧指挥调度新高度 在智慧城市建设和公共安全需求日益增长的背景下&#xff0c;SVMSPro分布式综合安防管理平台凭借其强大的地图功能与多协议兼容能力&#xff0c;正在成为公安、司法、消防、城管、交通等领域的指挥调度“智慧大脑”…...

科技快讯 | OpenAI:向Plus和Pro用户推出ChatGPT记忆提升功能;我国成功发射通信技术试验卫星十七号;芯片国产化率超九成

继 OpenAI 后&#xff0c;谷歌 Gemini 模型将支持 Anthropic 的 MCP 协议 4月10日&#xff0c;谷歌DeepMind宣布将支持Anthropic的模型上下文协议&#xff08;MCP&#xff09;&#xff0c;以实现大语言模型与外部数据源的集成。MCP由Anthropic推出&#xff0c;旨在建立安全双向…...

【教学类-102-08】剪纸图案全套代码08——Python点状虚线优化版本02(有空隙)+制作1图2图6图24图

背景需求 代码实现了点状虚线的全套流程,但是图片中主体图案和虚线与左右两边粘连。 【教学类-102-07】剪纸图案全套代码07——Python点状虚线优化版本01(无空隙)+制作1图2图6图24图-CSDN博客文章浏览阅读665次,点赞11次,收藏11次。【教学类-102-07】剪纸图案全套代码07…...

深入解析 Microcom:嵌入式串口调试利器

在嵌入式系统开发中&#xff0c;串口通信是调试和与外部设备交互的核心手段之一。Linux 系统中&#xff0c;Minicom 是一个广为人知的串口调试工具&#xff0c;但其依赖较多库&#xff08;如 libncurses&#xff09;&#xff0c;在资源受限的嵌入式环境中可能显得臃肿。 而 Mi…...

算法驱动的场景识别:规则引擎与机器学习的强大结合

引言 在智能驾驶系统、交通分析和安全监控等领域&#xff0c;场景识别是一项核心技术。传统的场景识别方法主要依赖人工标注&#xff0c;不仅耗时耗力&#xff0c;还容易受主观因素影响。随着技术的发展&#xff0c;算法驱动的场景识别方法逐渐兴起&#xff0c;通过结合规则引…...

typescript开发心得

语法知识点 回调地狱问题 用await&#xff0c;或者有些库提供了sync方法 yield 用法跟python的一样。 yield只能用于生成器里&#xff0c;生成器是function*&#xff0c;例如&#xff1a; export function* filter(rootNode: ts.Node, acceptedKind: ts.SyntaxKind) {for…...

淘宝开放平台 API 调用全解析:商品详情数据采集接口接入教程

一、引言 在电商领域蓬勃发展的当下&#xff0c;淘宝作为行业领军者&#xff0c;其平台上琳琅满目的商品蕴含着海量有价值的信息。无论是电商从业者想要精准把握竞品动态、优化自身商品策略&#xff0c;还是数据分析师试图挖掘消费趋势、洞察市场需求&#xff0c;亦或是科研人…...

SQL注入(SQL Injection)深度解析

SQL注入是一种利用Web应用程序与数据库交互机制缺陷的网络攻击技术&#xff0c;其核心在于通过恶意构造的输入参数篡改原始SQL查询逻辑&#xff0c;进而实现对数据库的非授权操作。以下从定义、攻击原理、技术分类、危害及防御体系多维度展开分析&#xff1a; 一、定义与本质 技…...

MCP基础学习四:MCP在AI应用中的集成(MCP在AI应用中的完整架构图)

MCP在AI应用中的集成 文章目录 MCP在AI应用中的集成一,学习目标二&#xff0c;学习内容1. 在AI应用中配置和使用MCP服务1.1 不同AI工具连接方式与部署模式1.1.1 了解不同的MCP传输模式1.1.2 掌握如何在AI客户端中配置MCP服务Cursor 客户端中配置MCP服务Cherry Studio AI客户端中…...

K8S-证书过期更新

K8S证书过期问题 K8S证书过期处理方法 Unable to connect to the server: x509: certificate has expired or is not yet valid 1、查看证书有效期&#xff1a; # kubeadm certs check-expiration2、备份证书 # cp -rp /etc/kubernetes /etc/kubernetes.bak3、直接重建证书 …...

蓝桥杯考前复盘

明天就是考试了&#xff0c;适当的停下刷题的步伐。 静静回望、思考、总结一下&#xff0c;我走过的步伐。 考试不是结束&#xff0c;他只是检测这一段时间学习成果的工具。 该继续走的路&#xff0c;还是要继续走的。 只是最近&#xff0c;我偶尔会感到迷惘&#xff0c;看…...

BERT - MLM 和 NSP

本节代码将实现BERT模型的两个主要预训练任务&#xff1a;掩码语言模型&#xff08;Masked Language Model, MLM&#xff09; 和 下一句预测&#xff08;Next Sentence Prediction, NSP&#xff09;。 1. create_nsp_dataset 函数 这个函数用于生成NSP任务的数据集。 def cr…...

mysql 与 sqlite 数学运算 精度 问题

mysql 与 sqlite 数学运算 精度 问题 在 Excel 中&#xff0c;浮点运算得到的结果可能不准确 https://learn.microsoft.com/zh-cn/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result 本文讨论 Microsoft Excel 如何存储和计算浮点数。 由于存在舍入或…...

MySQL的数据库性能分析利器Percona toolkit

目录 简介使用场景 使用示例Mysql 慢查询分析诊断临时开启慢SQL持久化开启慢SQL日志 使用包管理器安装包管理器安装 percona-release使用相应的包管理器安装 Percona Toolkit pt-query-digest 安装安装 pt-query-digest案例实战之慢查询分析诊断查看慢SQL日志使用pt-query-dige…...

力扣HOT100之链表: 148. 排序链表

这道题直接用蠢办法来做的&#xff0c;直接先遍历一遍链表&#xff0c;用一个哈希表统计每个值出现的次数&#xff0c;由于std::map<int, int>会根据键进行升序排序&#xff0c;因此我们将节点的值作为键&#xff0c;其在整个链表中的出现次数作为值&#xff0c;当所有元…...

Azure AI Foundry 正在构建一个技术无障碍的未来世界

我们习以为常的街道和数字世界&#xff0c;往往隐藏着被忽视的障碍——凹凸不平的路面、不兼容的网站、延迟的字幕或无法识别多样化声音的AI模型。这些细节对某些群体而言&#xff0c;却是日常的挑战。正如盲道不仅帮助视障者&#xff0c;也优化了整体城市体验&#xff0c;信息…...

AlmaLinux9.5 修改为静态IP地址

查看当前需要修改的网卡名称 ip a进入网卡目录 cd /etc/NetworkManager/system-connections找到对应网卡配置文件进行修改 修改配置 主要修改ipv4部分&#xff0c;改成自己的IP配置 [ipv4] methodmanual address1192.168.252.129/24,192.168.252.254 dns8.8.8.8重启网卡 …...

P8754 [蓝桥杯 2021 省 AB2] 完全平方数

题目描述 思路 一看就知道考数学&#xff0c;直接看题解试图理解(bushi) 完全平方数的质因子的指数一定为偶数。 所以 对 n 进行质因数分解&#xff0c;若质因子指数为偶数&#xff0c;对结果无影响。若质因子指数为奇数&#xff0c;则在 x 中乘以这个质因子&#xff0c;保证指…...

QT Sqlite数据库-教程001 创建数据库和表-上

【1】创建数据库 #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <QtSql/QSqlRecord> QString path QDir::currentPath(); QApplication::addLibraryPath(pathQString("/release/plugins")); QPluginLoader loader(pathQSt…...

安卓手机怎样开启双WiFi加速

1. 小米/Redmi手机 路径&#xff1a; 设置 → WLAN → 高级设置 → 双WLAN加速 操作&#xff1a; 开启功能后&#xff0c;可同时连接一个2.4GHz WiFi和一个5GHz WiFi&#xff08;或两个不同路由器&#xff09;。 可选择“智能选择”或手动指定辅助网络。 2. 华为/荣耀手机…...

基于角色个人的数据权限控制

一、适用场景 如何有效控制用户对特定数据的访问和操作权限&#xff0c;以确保系统的安全性和数据的隐私性。 二、市场现状 权限管理是现代系统中非常重要的功能&#xff0c;尤其是对于复杂的B端系统或需要灵活权限控制的场景&#xff0c;可以运用一些成熟的工具和框架&…...

JAVA虚拟机(JVM)学习

入门 什么是JVM JVM&#xff1a;Java Virtual Machine&#xff0c;Java虚拟机。 JVM是JRE(Java Runtime Environment)的一部分&#xff0c;安装了JRE就相当于安装了JVM&#xff0c;就可以运行Java程序了。JVM的作用&#xff1a;加载并执行Java字节码&#xff08;.class&#…...

【VSCode配置】运行springboot项目和vue项目

目录 安装VSCode安装软件安装插件VSCode配置user的全局设置setting.jsonworkshop的项目自定义设置setting.jsonworkshop的项目启动配置launch.json 安装VSCode 官网下载 安装软件 git安装1.1.12版本&#xff0c;1.2.X高版本无法安装node14以下版本 nvm安装&#xff08;github…...

UE5,LogPackageName黄字警报处理方法

比如这个场景&#xff0c;淘宝搜索&#xff0c;ue5 T台&#xff0c;转为ue5.2后&#xff0c;选择物体&#xff0c;使劲冒错。 LogPackageName: Warning: DoesPackageExist called on PackageName that will always return false. Reason: 输入“”为空。 2. 风险很大的删除法&…...

ONVIF/RTSP/RTMP协议EasyCVR视频汇聚平台RTMP协议配置全攻略 | 直播推流实战教程

在现代化的视频管理和应急指挥系统中&#xff0c;RTMP协议作为一种高效的视频流传输方式&#xff0c;正变得越来越重要。无论是安防监控、应急指挥&#xff0c;还是物联网视频融合&#xff0c;掌握RTMP协议的接入和配置方法&#xff0c;都是提升系统性能和效率的关键一步。 今天…...

AI 驱动的全链路监控,从资源管理到故障自愈的实战指南--云监控篇

一、3 步完成多云接入&#xff0c;告别繁琐配置 1. 账号绑定 AWS&#xff1a;输入访问密钥&#xff0c;自动拉取 EC2、RDS、S3 等资源清单。 Azure&#xff1a;通过服务主体认证&#xff0c;一键发现 VM、SQL 数据库、存储账户。 GCP&#xff1a;上传服务账号密钥&#xff0…...

大模型在初治CLL成人患者诊疗全流程风险预测与方案制定中的应用研究

目录 一、绪论 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与内容 二、大模型技术与慢性淋巴细胞白血病相关知识 2.1 大模型技术原理与特点 2.2 慢性淋巴细胞白血病的病理生理与诊疗现状 三、术前风险预测与手术方案制定 3.1 术前数据收集与预处理 3.2 大模…...

Express中间件(Middleware)详解:从零开始掌握(2)

1. 请求耗时中间件的增强版 问题&#xff1a;原版只能记录到控制台&#xff0c;如何记录到文件&#xff1f; 改进点&#xff1a; 使用process.hrtime()是什么&#xff1f;获取更高精度的时间支持将日志写入文件记录更多信息(IP地址、状态码)工厂函数模式使中间件可配置 con…...

Crossmint 与 Walrus 合作,将协议集成至其跨链铸造 API 中

Crossmint 是一个一站式平台&#xff0c;可为 app、AI Agent 或企业集成区块链。如今&#xff0c;Crossmint 已集成 Walrus 协议&#xff0c;以实现更具可扩展性的通证化场景&#xff0c;特别面向 AI Agent 和企业级用户。这项合作为开发者和企业提供了一种全新的方式&#xff…...

24.OpenCV中的霍夫直线检测

OpenCV中的霍夫直线检测 霍夫直线检测是一种基于参数变换的全局特征提取方法&#xff0c;它能在边缘图像中有效检测出直线&#xff0c;具有鲁棒性强和对噪声干扰容忍度高的特点。本文将从原理、算法实现和 OpenCV 应用三个角度对霍夫直线检测进行详细的阐述&#xff0c;并给出…...

springboot 处理编码的格式为opus的音频数据解决方案【java8】

opus编码的格式概念&#xff1a; Opus是一个有损声音编码的格式&#xff0c;由Xiph.Org基金会开发&#xff0c;之后由IETF&#xff08;互联网工程任务组&#xff09;进行标准化&#xff0c;目标是希望用单一格式包含声音和语音&#xff0c;取代Speex和Vorbis&#xff0c;且适用…...

【AI提示词】创业导师提供个性化创业指导

提示说明 以丰富的行业经验和专业的知识为学员提供创业指导&#xff0c;帮助其解决实际问题并实现商业成功 提示词 # Role: 创业导师## Profile - language: 中英文 - description: 以丰富的行业经验和专业的知识为学员提供创业指导&#xff0c;帮助其解决实际问题并实现商业…...

STM32 模块化开发实战指南:系列介绍

本文是《STM32 模块化开发实战指南》系列的导读篇,旨在介绍整个系列的写作目的、适用读者、技术路径和每一篇的主题规划。适合从事 STM32、裸机或 RTOS 嵌入式开发的个人开发者、初创工程师或企业项目团队。 为什么要写这个系列? 在嵌入式开发中,很多人刚开始都是从点亮一个…...

在 Dev-C++中编译运行GUI 程序介绍(三)有趣示例一组

在 Dev-C中编译运行GUI程序介绍&#xff08;三&#xff09;有趣示例一组 前期见 在 Dev-C中编译运行GUI 程序介绍&#xff08;一&#xff09;基础 https://blog.csdn.net/cnds123/article/details/147019078 在 Dev-C中编译运行GUI 程序介绍&#xff08;二&#xff09;示例&a…...

功能安全时间参数FTTI

FTTI&#xff1a;fault tolerant time interval故障容错时间间隔&#xff1b; FHTI&#xff1a;Fault Handling Time Interval故障处理时间间隔&#xff1b; FRTI&#xff1a;Fault Reaction Time Interval故障反应时间间隔&#xff1b; FDTI&#xff1a;Fault Detectlon Ti…...

docker镜像制作

🧱 如何将任意 Linux 系统打包为 Docker 镜像 适用场景: 本地物理机 / 虚拟机上的 Linux(如 Ubuntu、Debian、CentOS、openEuler 等);想将当前系统环境完整打包成 Docker 镜像;系统内已安装了运行环境,如 Java、Python、Nginx 等,想保留它们。✅ 步骤概览: 准备文件…...

【Pandas】pandas DataFrame iat

Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前几行DataFrame.at快速访问和修改 DataFrame 中单个值的方法DataFrame.iat快速访问和修改 DataFrame 中单个值的方法 pandas.DataFrame.iat pandas.DataFrame.iat 是一个快速访…...

【图像分类】【深度学习】系列学习文章目录

图像分类简介 图像分类是计算机视觉领域中的一个核心问题&#xff0c;它涉及到将图像数据分配到一个或多个预定义类别中的过程。这项技术的目标是让机器模拟人类能够自动识别并分类图像内容。近年来&#xff0c;随着深度学习的发展&#xff0c;尤其是卷积神经网络(CNNs)的应用…...

MyBatisPlus 学习笔记

文章目录 MyBatisPlus 快速入门第一步&#xff1a;引入 MyBaitsPlus 起步依赖第二步&#xff1a;自定义的 Mapper 继承 BaseMapper 接口新增相关修改相关删除相关查询相关 Mp 使用示例 MyBaitsPlus 常见注解MP 实体类与数据库信息约定Mp 实体类与数据库信息约定不符合解决方法…...