04_RAGFlow之知识图谱与Text2SQL

news2026/4/3 0:58:38
RAGFlow之知识图谱与Text2SQL构建智能检索的双引擎知识体系结构RAGFlow技术栈 │ ├── 知识图谱层 │ ├── 实体识别与关系提取NER Relation Extraction │ ├── 图谱查询与推理Graph Query Reasoning │ └── PageRank算法支持重要性排序 │ ├── 应用场景层 │ ├── 多跳推理Multi-hop Reasoning │ ├── 复杂关联查询Complex Relational Query │ └── 领域知识关联医疗/法律/金融 │ ├── Text2SQL功能 │ ├── 自然语言转SQLNL2SQL │ ├── 结构化数据检索增强 │ └── 混合检索能力 │ └── 扩展功能层 ├── 关键词提取Keyword Extraction ├── 标签化文档管理Tag-based Management └── 可视化知识探索Visual Graph Exploration引言在企业级RAG系统从关键词匹配向语义理解演进的过程中知识图谱与Text2SQL能力的引入标志着检索增强生成技术进入了一个新的发展阶段。RAGFlow作为开源RAG引擎的代表在0.15版本中正式引入了知识图谱构建与Text2SQL两大核心能力为复杂业务场景下的知识管理提供了更加智能化的解决方案。本文将从架构师的视角出发深入剖析RAGFlow中知识图谱与Text2SQL的实现原理、应用场景与最佳实践。这两大能力虽然服务于不同的业务需求却共同指向一个核心目标让机器更好地理解人类知识之间的关联使检索结果从字面匹配升级为语义关联。一、知识图谱让数据关系成为可计算的知识1.1 从文档到知识网络的认知跃迁传统RAG系统的检索模式本质上是一种孤岛式的信息获取方式每个文档独立被索引查询时系统根据相似度匹配返回相关文档片段。这种模式在简单问答场景下表现尚可但面对需要综合分析的复杂问题时就会暴露出明显的局限性。考虑这样一个业务场景用户提问张三在2024年参与的所有项目中有哪些获得了国家级奖项这个问题看似简单却涉及三层知识关联实体识别层识别出张三这一人物实体关系追踪层关联张三与项目之间的关系属性筛选层在关联结果中筛选2024年与国家级奖项属性传统向量检索很难精准处理这类嵌套关系查询而知识图谱则通过将文档中的实体与关系显式建模形成了可遍历、可推理的知识网络。RAGFlow的知识图谱模块正是为此而生它将非结构化文本中的隐性关系转化为可计算的结构化图数据。1.2 实体识别与关系提取图谱构建的双引擎RAGFlow的知识图谱构建流程包含两个核心环节实体识别Named Entity Recognition, NER与关系提取Relation Extraction, RE。实体识别是将文本中的关键信息单元标注出来的过程。在RAGFlow的实现中实体识别模型会识别出以下几类核心实体实体类型 示例 ───────────────────────────────────────────── 人物实体 张三、李明、王教授 组织实体 清华大学、华为技术有限公司 地点实体 北京市、中关村 时间实体 2024年3月、Q2季度 概念实体 人工智能、机器学习 事件实体 产品发布会、学术会议关系提取则是在识别实体的基础上提取实体之间的语义关联。RAGFlow支持的关系类型包括但不限于关系类型 模式示例 描述 ───────────────────────────────────────────────────────────────── 所属关系 人物-组织 张三-所属-华为技术 参与关系 人物-项目 李四-参与-鸿蒙项目 时间关系 实体-时间 发布-时间-2024年 因果关系 事件-事件 A事件-导致-B事件 比较关系 实体-实体 A优于/B劣于-B/A从技术实现角度看RAGFlow采用了基于大语言模型的关系提取方案。相比传统的监督学习方法LLM驱动的关系提取具有以下优势零样本能力无需针对特定关系类型进行训练上下文感知能够理解歧义性表达可解释性强提取结果可直接由LLM校验具体的实现流程如下文档输入 ↓ 分块处理Chunking ↓ 实体识别NER by LLM ↓ 共指消解Coreference Resolution ↓ 关系抽取Relation Extraction by LLM ↓ 三元组构建Triple Formation ↓ 图谱存储Graph Database1.3 图数据库选择与存储架构RAGFlow在知识图谱存储层支持多种主流图数据库其中最常用的是Neo4j。作为最成熟的图数据库之一Neo4j提供了完善的Cypher查询语言和丰富的图算法支持。RAGFlow的图谱存储架构采用以下设计原则// 节点建模示例 CREATE (p:Person { id: person_001, name: 张三, title: 首席架构师, department: 技术研发部, extracted_at: datetime() }) CREATE (p)-[:WORKS_FOR { since: date(2020-01-01), role: 技术负责人 }]-(o:Organization { id: org_001, name: 华为技术有限公司, industry: 通信设备 })这种建模方式的优势在于节点属性丰富支持任意扩展的元数据关系语义明确每条边都承载着具体的业务含义时间维度支持历史关系的追溯与分析1.4 PageRank与图算法支持在知识图谱中并非所有实体都具有同等的重要性。PageRank算法的引入为图谱中的节点提供了权威度量化指标使得检索结果能够按照知识的权威性与影响力进行排序。PageRank在RAGFlow中的典型应用场景包括应用场景实现方式业务价值权威实体优先高PR值的实体节点优先展示提升答案可信度关键路径发现高PR节点间的最短路径理解核心关联异常节点检测低PR值的孤立节点标记发现知识盲区知识热点分析段时间内PR值上升最快的节点追踪热点话题PageRank计算示意 初始状态 迭代计算 收敛结果 A──→B 多次矩阵乘法 A(0.15)─┐ ↓ ↘ 幂迭代计算 ↓ │ B(0.38)←─┐ C←───D C(0.22)←┼─D(0.25)─┘ 说明PR值反映节点在图中的重要性1.5 图谱查询与推理机制RAGFlow的图谱查询引擎支持两种模式直接查询与推理查询。直接查询适用于明确的实体-关系-实体模式// 查询张三参与的所有项目 MATCH (p:Person {name: 张三})-[r:PARTICIPATED_IN]-(project:Project) RETURN project.name, r.role, r.since ORDER BY r.since DESC推理查询则需要结合图算法进行多跳遍历// 查询与张三同部门且参与过相同项目的同事 MATCH (p1:Person {name: 张三})-[:WORKS_FOR]-(dept)-[:WORKS_FOR]-(p2:Person) WHERE p1 p2 MATCH (p1)-[:PARTICIPATED_IN]-(project)-[:PARTICIPATED_IN]-(p2) RETURN DISTINCT p2.name, collect(project.name) as common_projectsRAGFlow还支持基于路径的推理查询这对于回答如何类问题尤其有效// 查询从问题A到解决方案B的技术路径 MATCH path (problem:Issue {id: A})-[:LEADS_TO*1..3]-(solution:Solution) WHERE length(path) 3 RETURN path, reduce(weight0.0, r IN relationships(path) | weight r.confidence) AS path_weight ORDER BY path_weight DESC LIMIT 5二、知识图谱应用场景深度解析2.1 多跳推理跨越单一文档的智慧多跳推理Multi-hop Reasoning是知识图谱应用中最具挑战性的场景之一。它要求系统能够串联多个知识点在多条信息之间建立逻辑连接最终给出综合性的答案。考虑一个典型的多跳推理场景查询张三负责的项目中有哪些是与他导师李教授的研究方向相关的 分解步骤 ┌─────────────────────────────────────────────────────────────┐ │ 第一跳从查询中识别核心实体 │ │ 张三人物、李教授人物、研究方向概念 │ ├─────────────────────────────────────────────────────────────┤ │ 第二跳构建实体间的直接关联 │ │ 张三 - 参与 - 项目P1,P2,P3 │ │ 李教授 - 研究 - 方向F1,F2 │ ├─────────────────────────────────────────────────────────────┤ │ 第三跳匹配交叉关联 │ │ 项目P1 - 属于 - 方向F1匹配 │ │ 项目P2 - 属于 - 方向F2匹配 │ │ 项目P3 - 属于 - 方向F3不匹配 │ ├─────────────────────────────────────────────────────────────┤ │ 第四跳整合推理结果 │ │ 最终答案P1、P2 │ └─────────────────────────────────────────────────────────────┘RAGFlow的多跳推理实现采用了检索-推理交替进行的策略用户查询 ↓ 意图分析 实体识别 ↓ ├─→ 图谱子图提取Hop 1 │ ↓ │ 关系路径匹配 │ ↓ ├─→ 图谱子图提取Hop 2 │ ↓ │ 跨跳关系验证 │ ↓ ├─→ 图谱子图提取Hop N │ ↓ 答案构建 溯源标注 ↓ 结果展示2.2 复杂关联查询金融风控的实战案例在金融领域知识图谱被广泛应用于风险关联分析。假设我们需要构建一个企业风险监控系统其中涉及股权关系、担保关系、交易关系等多种复杂关联。场景企业担保链风险传导分析 担保关系图谱 核心企业A │ ├──担保1──→ B企业 │ │ │ 担保2──→ C企业 │ │ └──担保3──→ D企业←──担保4── E企业 │ 担保5──→ F企业已违约 风险传导分析 当F企业违约时系统需要能够回答 1. 受影响企业有哪些向上追溯 2. 风险敞口有多大量化计算 3. 断链措施如何实施干预建议RAGFlow的图谱查询可以高效支撑这类场景// 风险传导路径查询 MATCH (defaulter:Company {status: DEFAULT}) -[:GUARANTEED*1..5]-(affected:Company) WHERE NOT (defaulter)-[:GUARANTEED*1..4]-(affected) RETURN defaulter.name AS source, collect(DISTINCT affected.name) AS affected_companies, length((defaulter)-[:GUARANTEED*]-(affected)) AS chain_length2.3 医疗领域知识图谱赋能临床决策医疗领域是知识图谱应用的另一重要场景。医学知识本身具有高度的关联性与层次性从基因-蛋白-疾病-药物的多层级关联到症状-诊断-治疗-预后的临床路径都非常适合用图谱来表达。医学知识图谱示例 ┌──────────────┐ │ 疾病层 │ │ 糖尿病 │ └──────┬───────┘ │ associates_with ┌───────────────┼───────────────┐ ↓ ↓ ↓ ┌──────────────┐ ┌──────────┐ ┌──────────────┐ │ 基因层 │ │ 症状层 │ │ 药物层 │ │ TCF7L2基因 │ │ 多饮多尿 │ │ 二甲双胍 │ └──────┬───────┘ └──────────┘ └──────┬───────┘ │ causes │ treats ↓ ↓ ┌──────────────┐ ┌──────────────┐ │ 蛋白层 │ │ 禁忌症层 │ │ 胰岛素抵抗 │ │ 肾功能不全 │ └──────────────┘ └──────────────┘在临床决策支持场景中RAGFlow的知识图谱可以帮助医生快速获取患者的完整病史与用药史相似病例的治疗方案参考药物相互作用与禁忌提醒最新临床指南与研究进展2.4 法律领域判例关联与法律推理法律领域同样高度依赖知识关联。一个典型的法律案例分析需要关联法律法规条文历史判例先例涉案主体关系证据链条关联法律知识图谱结构 ┌─────────────────────────────────────────────────────┐ │ 法律问题 │ └─────────────────────────┬───────────────────────────┘ │ invokes ┌────────────────┴────────────────┐ ↓ ↓ ┌────────────────┐ ┌────────────────┐ │ 法律条文层 │ │ 判例层 │ │ 民法典第1178条 │ │ (2023)沪0105民 │ └───────┬────────┘ └───────┬────────┘ │ applied_by │ cited_by ↓ ↓ ┌─────────────────────────────────────────────────────┐ │ 案件事实层 │ │ 原告: A公司 | 被告: B公司 | 争议: 合同违约 │ └─────────────────────────────────────────────────────┘RAGFlow的法律知识图谱支持类案检索基于案由、情节、标的等维度的相似案例匹配法条引用分析自动追踪法条在判例中的应用情况证据链验证检验证据之间的逻辑关联与矛盾点三、Text2SQL打通自然语言与结构化数据的桥梁3.1 Text2SQL的技术演进2024年8月22日RAGFlow正式引入了Text2SQL能力标志着其从纯文档检索向混合检索的战略扩展。这一功能的核心价值在于让用户能够用自然语言查询数据库中的结构化数据。Text2SQL自然语言到SQL转换的技术发展经历了三个阶段阶段技术特征代表方案局限性规则驱动模板匹配、正则解析early NLP systems泛化能力差深度学习Seq2Seq、TransformerSQLNet、Seq2SQL复杂SQL支持弱LLM增强Prompt EngineeringRAGFlow Text2SQL依赖LLM能力RAGFlow选择了基于大语言模型的Text2SQL方案充分利用LLM强大的语义理解与代码生成能力。3.2 RAGFlow Text2SQL的实现原理RAGFlow的Text2SQL模块采用了检索增强生成RAG的思想通过以下流程实现自然语言到SQL的转换用户问题2024年销售额超过1000万的客户有哪些 ┌─────────────────────────────────────────────────────────────┐ │ Step 1: 查询理解 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ • 识别业务意图查找客户列表 │ │ │ │ • 提取关键实体2024年、销售额、1000万、客户 │ │ │ │ • 识别筛选条件销售额 1000万 │ │ │ │ • 确定时间范围2024年 │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Step 2: Schema检索 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 从数据库Schema中检索相关表和字段 │ │ │ │ • customer (客户表) │ │ │ │ • orders (订单表) │ │ │ │ • sales (销售表) │ │ │ │ • product (产品表) │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Step 3: SQL生成 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Prompt构建 │ │ │ │ 根据以下Schema生成SQL查询... │ │ │ │ Schema信息 示例数据 业务规则 │ │ │ │ │ │ │ │ 生成结果 │ │ │ │ SELECT c.customer_name │ │ │ │ FROM customer c │ │ │ │ JOIN orders o ON c.id o.customer_id │ │ │ │ JOIN sales s ON o.id s.order_id │ │ │ │ WHERE s.sale_date BETWEEN 2024-01-01 AND 2024-12-31 │ │ │ │ AND s.amount 10000000 │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Step 4: SQL执行与结果整合 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ • 执行验证 │ │ │ │ • 结果格式化 │ │ │ │ • 上下文整合 │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘3.3 Text2SQL的核心挑战与解决方案在实际业务场景中Text2SQL面临几个核心挑战挑战一歧义性理解自然语言表达往往存在歧义用户可能用用户、“客户”、买家等不同词汇指代同一实体。RAGFlow通过业务词汇表与同义词扩展来解决这一问题{vocabulary_mapping:{用户:[customer,client,user_account],订单:[order,transaction,purchase_record],金额:[amount,total,price,sum]}}挑战二多表关联复杂的业务查询往往涉及多个表的关联。RAGFlow通过外键关系图谱自动推断表之间的关联路径// 表关联关系图谱 (customer)--[fk_customer_id]--(orders)--[fk_order_id]--(order_items) │ ↓ (products) │ (inventory)--[fk_product_id]--挑战三嵌套子查询对于各部门的平均销售额排名这类需要嵌套聚合的查询RAGFlow采用分步生成策略-- 外层排名计算SELECTdepartment,avg_sales,RANK()OVER(ORDERBYavg_salesDESC)asrankFROM(-- 内层部门聚合SELECTd.nameasdepartment,AVG(s.amount)asavg_salesFROMsales sJOINorders oONs.order_ido.idJOINemployee eONo.salesperson_ide.idJOINdepartment dONe.dept_idd.idWHEREs.sale_date2024-01-01GROUPBYd.id,d.name)dept_sales3.4 混合检索文档与数据的融合Text2SQL能力为RAGFlow带来的最大变革是混合检索模式的引入。在传统模式下系统只能检索非结构化的文档内容现在用户可以同时检索文档和数据库中的结构化数据。混合检索架构 用户查询 │ ├──→ 文档检索管道 │ ↓ │ 向量相似度匹配 │ ↓ │ RRF融合排序 │ └──→ 数据检索管道 ↓ Text2SQL转换 ↓ SQL执行 ↓ 结果结构化输出 ↓ 结果融合与排序这种混合检索模式特别适合以下场景场景文档检索数据检索融合价值财报分析财报PDF、年报财务系统数据定性定量分析客户360°沟通记录、工单交易行为数据完整客户画像供应链分析合同文档库存/物流数据全链路追溯四、关键词提取与标签化管理4.1 自动关键词生成机制RAGFlow的关键词提取模块采用了多策略融合的方法结合TF-IDF、TextRank与大语言模型三种技术的优势关键词提取流程 原始文本 │ ├──→ TF-IDF提取 │ │ 词频-逆文档频率 │ ↓ │ 高权重词候选 │ ├──→ TextRank提取 │ │ 基于图的关键词排序 │ ↓ │ 核心词候选 │ └──→ LLM抽取 │ 语义理解与领域知识 ↓ 精准词候选 │ ↓ 结果融合与排序 │ ↓ 最终关键词列表4.2 标签化文档管理基于关键词提取能力RAGFlow实现了自动化的标签化管理功能。每个文档入库时系统会自动生成推荐标签并支持人工审核与调整。{document_id:doc_001,title:华为2024年度技术创新报告,auto_tags:[{tag:华为,confidence:0.98},{tag:技术创新,confidence:0.95},{tag:年度汇报,confidence:0.87},{tag:研发投入,confidence:0.82},{tag:5G技术,confidence:0.76}],approved_tags:[华为,技术创新,年度汇报],user_tags:[战略规划,2024重点]}标签化管理的业务价值体现在快速筛选通过标签组合快速定位目标文档主题分析统计标签分布发现知识热点智能推荐基于标签相似度推荐相关文档权限控制按标签实现细粒度的访问控制五、可视化知识探索5.1 知识图谱可视化架构RAGFlow提供了交互式的知识图谱可视化功能帮助用户直观理解文档间的关联关系。知识图谱可视化架构 ┌─────────────────────────────────────────────────────────────┐ │ 可视化前端 │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 力导向图 │ │ 层次图 │ │ 环形图 │ │ 矩阵图 │ │ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │ └────────────┴────────────┴────────────┘ │ │ ↓交互事件 │ └─────────────────────────────┬───────────────────────────────┘ │ ┌─────────────────────────────┴───────────────────────────────┐ │ 图谱查询引擎 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Cypher解析 │ │ 路径算法 │ │ 布局算法 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────┬───────────────────────────────┘ │ ┌─────────────────────────────┴───────────────────────────────┐ │ 图数据库Neo4j │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Nodes: 实体节点 Edges: 关系边 Props: 属性 │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘5.2 交互式探索功能RAGFlow的可视化界面支持丰富的交互功能节点展开点击任意节点自动展开其一级关联路径高亮查询结果中的关联路径以高亮方式展示时间追溯按时间轴回溯知识演变的历程筛选控制按实体类型、关系类型、时间范围进行筛选批量操作支持多节点的选择、标注与导出交互操作示例 [A] ←──参与──→ [项目X] ↗ ↖ ↘ ↙ 同事 同事 负责人 成员 ↖ ↗ ↙ ↘ [B] [C] 点击节点[A]时 ┌──────────────────────────────────────┐ │ 节点详情面板 │ │ ──────────────────────────────────── │ │ 姓名张三 │ │ 职位高级工程师 │ │ 部门研发部 │ │ ──────────────────────────────────── │ │ 直接关联 │ │ • 参与项目项目X3个 │ │ • 同事关系张三、李四5人 │ │ • 汇报关系王总1人 │ │ ──────────────────────────────────── │ │ [展开全部] [查看详情] [导出关系] │ └──────────────────────────────────────┘5.3 分析视图除了探索视图RAGFlow还提供了专业的分析视图视图类型适用场景核心指标中心性分析识别核心人物/节点度中心性、介数中心性社区发现识别群体/派系模块度、聚类系数路径分析追溯关联链条最短路径、关键路径时序分析追踪演变趋势新增关系、消失关系六、实战最佳实践6.1 知识图谱构建 Checklist在RAGFlow中构建企业知识图谱时建议遵循以下 Checklist□ 数据源梳理 ├─ 识别所有待抽取的数据源文档、数据库、API ├─ 评估数据质量与更新频率 └─ 确定实体类型与关系类型清单 □ Schema设计 ├─ 定义核心实体类型及其属性 ├─ 定义关系类型及其属性 ├─ 设计层级结构与分类体系 └─ 制定命名规范与编码规则 □ 抽取配置 ├─ 选择合适的抽取模型 ├─ 配置抽取Prompt模板 ├─ 设置置信度阈值 └─ 规划人工审核流程 □ 图谱优化 ├─ 实体合并与消歧 ├─ 关系验证与补全 ├─ 孤立节点清理 └─ 索引优化 □ 应用集成 ├─ 配置检索管道 ├─ 集成前端展示 └─ 建立运维监控6.2 Text2SQL性能优化建议为确保Text2SQL的稳定表现建议实施以下优化措施Schema优化-- 为常用查询字段创建索引CREATEINDEXidx_orders_customer_dateONorders(customer_id,order_date);CREATEINDEXidx_sales_order_amountONsales(order_id,amount);-- 创建物化视图加速复杂聚合查询CREATEMATERIALIZEDVIEWmv_monthly_salesASSELECTDATE_TRUNC(month,order_date)asmonth,customer_id,SUM(amount)astotal_amount,COUNT(*)asorder_countFROMsalesGROUPBY1,2;Prompt优化## 优化的Prompt模板 ### 角色设定 你是一个专业的SQL分析师擅长根据业务需求编写高效的SQL查询。 ### Schema约束 - 表名和字段名必须与提供的Schema完全一致 - 优先使用JOIN而非子查询 - 避免SELECT * ### 业务规则 1. 金额单位统一为分查询时需除以100 2. 日期格式统一为YYYY-MM-DD 3. 状态字段使用约定的枚举值 ### 输出格式 只输出SQL语句不包含任何解释说明。6.3 常见问题与解决方案问题原因解决方案SQL生成错误Schema理解偏差提供更详细的字段注释关联路径错误外键关系缺失完善外键图谱配置性能响应慢大表全表扫描优化索引、分区策略结果不准确业务语义歧义增加业务规则约束结语知识图谱与Text2SQL能力的引入使RAGFlow从单一的文档检索引擎升级为综合性的知识管理与智能问答平台。这两项能力的协同作用在以下三个维度上实现了质的飞跃深度理解从字面匹配到语义关联的认知升级复杂推理从单点检索到多跳推理的能力扩展结构融合从纯文档到混合检索的边界突破对于正在构建企业知识管理系统的技术团队而言深入理解并合理运用RAGFlow的这两项核心能力将成为打造下一代智能应用的关键竞争力。在后续文章中我们还将继续探讨RAGFlow与大型语言模型更深层次的融合之道。标签知识图谱, Text2SQL, 实体识别, 关系抽取, PageRank, 多跳推理, 图数据库, 自然语言查询, RAGFlow, 知识管理相关文章01_RAGFlow核心概念与架构全景02_RAGFlow之深度文档理解与智能化分块03_RAGFlow之多模态检索与混合搜索策略05_RAGFlow之高级配置与生产环境优化

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…