数据智能体:从NL2SQL到多智能体协作的完整技术栈解析

news2026/5/4 3:30:34
1. 项目概述数据智能体生态的“藏宝图”最近在探索AI Agent智能体和数据工程结合的前沿领域时我偶然发现了一个名为“awesome-data-agents”的GitHub仓库。这个由HKUSTDial香港科技大学数据智能实验室维护的项目立刻引起了我的浓厚兴趣。它不是一个具体的工具或框架而是一个精心整理的、关于“数据智能体”的顶级资源清单。简单来说它就像一张为数据科学家、AI工程师和所有对数据与AI融合感兴趣的人绘制的“藏宝图”。在这个信息爆炸的时代每天都有新的论文、工具和框架涌现如何高效地追踪这个快速演进领域的最前沿动态成了一个实实在在的痛点。这个项目正是为了解决这个问题而生它系统地收集、分类和评述了与数据相关的智能体技术涵盖了从数据准备、分析、可视化到数据驱动决策的完整链条。对于我这样的一线从业者而言它的价值不言而喻。我们不再需要花费数小时在搜索引擎和学术网站上大海捞针试图拼凑出这个领域的全貌。这个仓库将散落在各处的珍珠——顶尖的学术论文、开源项目、商业产品、教程博客——串成了一串璀璨的项链。无论是想了解基于大语言模型LLM的智能体如何自动化数据清洗流程还是探索多智能体协作如何解决复杂的数据分析任务甚至是寻找一个现成的、可以快速上手的代码库这里都可能找到线索和起点。它不仅仅是一个链接集合更是一个经过筛选和组织的知识图谱入口极大地降低了我们进入“数据智能体”这个新兴领域的认知门槛和学习成本。2. 核心领域与需求拆解为什么我们需要“数据智能体”2.1 从数据到洞察的“最后一公里”困境在传统的数仓、大数据平台乃至现代的数据湖、数据网格架构中我们解决了数据的“存、通、算”问题。然而从原始数据到最终的业务洞察或决策动作中间往往存在一个巨大的鸿沟我称之为“最后一公里”困境。这个困境体现在几个方面首先操作门槛高。即使有了Tableau、Power BI这样的可视化工具复杂的业务问题转化为正确的SQL查询或数据处理管道仍然需要专业的数据分析师或工程师。其次流程僵化。大多数数据分析流程是预设的、批处理的难以应对临时性的、探索性的、交互式的分析需求。最后知识孤岛。业务人员的领域知识和数据人员的技能之间存在壁垒导致沟通成本高昂分析结果可能偏离实际业务诉求。数据智能体的出现正是为了弥合这个鸿沟。它的核心思想是赋予软件代理Agent理解自然语言指令、规划任务步骤、调用各种工具如数据库、Python库、API并自主执行复杂数据操作的能力。想象一下业务人员可以直接用自然语言提问“上季度华东区A产品的销售额下降主要原因是什么和竞争对手的促销活动有关吗”一个合格的数据智能体应该能理解这个问题自动拆解为数据查询、对比分析、关联性探查等一系列子任务并调用相应的工具执行最终生成一份包含图表和文字说明的分析报告。这不仅仅是“用自然语言写SQL”而是构建一个能理解上下文、具备一定推理能力、并能串联起整个数据分析生命周期的自主智能体。2.2 数据智能体的核心能力分层通过研究“awesome-data-agents”中列举的资源我们可以将数据智能体的核心能力分为几个层次这有助于我们理解其技术栈和选型考量基础交互层Natural Language to X这是最直接的能力即将自然语言指令转换为可执行的操作。最常见的是NL2SQL自然语言转SQL也有NL2Python生成数据分析脚本、NL2API生成API调用等。这一层的技术相对成熟主要依赖LLM的代码生成和上下文理解能力。但它的局限在于通常只能处理单轮、明确、上下文有限的请求。任务规划与工具调用层Planning Tool Use这是智能体能力的核心飞跃。智能体需要将复杂的、模糊的用户目标如“分析销售趋势”分解为一系列有序的、可执行的具体步骤如连接数据库 - 查询过去24个月销售数据 - 按月份和产品线聚合 - 生成时序图 - 计算环比增长率 - 标注异常点。然后它需要知道在每一步调用哪个工具是执行SQL还是调用matplotlib画图或是使用pandas进行数据透视。这要求智能体具备强大的规划Planning能力和一个丰富的工具库Toolkit知识。记忆与学习层Memory Learning为了进行多轮、复杂的对话和持续优化智能体需要记忆。这包括对话历史记住用户之前问了什么、工具使用结果上次查询的数据库schema是什么、以及从历史交互中学习用户经常纠正某个查询条件智能体应学会优先采用正确的表述。有些高级的数据智能体还能通过强化学习RL来优化其任务规划策略例如发现某种查询路径总是更快或更准确从而在后续类似任务中优先采用。多智能体协作层Multi-Agent Collaboration对于极其复杂的数据任务单个智能体可能力不从心。这时可以引入多个具有不同专长的智能体进行协作。例如一个“数据提取专家”负责从各种源获取数据一个“清洗与验证专家”负责处理缺失值和异常值一个“分析建模专家”负责运行统计模型一个“可视化与报告专家”负责生成最终输出。它们之间通过通信机制协调工作。这个层面的研究目前非常前沿但潜力巨大能模拟真实世界中数据团队的分工协作。“awesome-data-agents”仓库的资源正是围绕这些能力层次进行组织的帮助我们快速定位到在某一层有突出贡献或实践的项目。3. 资源架构与核心内容导航3.1 仓库的核心分类逻辑打开“awesome-data-agents”仓库你会发现它的结构非常清晰并非简单堆砌链接。这种分类方式本身就体现了对领域深刻的理解。通常它会包含以下几大板块具体名称可能略有不同但逻辑相通综述与论文Surveys Papers这部分是理论的基石。收录了关于AI Agent、数据管理中的AI、以及具体到数据准备、分析、可视化等子任务的顶级学术论文来自NeurIPS、ICLR、VLDB、SIGMOD等会议和权威综述。对于想从根源上理解技术脉络的研究者或深度实践者这里是必读区。开源项目与框架Open Source Projects Frameworks这是实践者的宝藏。这里列出了实现各种数据智能体能力的开源库。例如通用Agent框架如LangChain、LlamaIndex、AutoGen它们提供了构建智能体的基础组件记忆、工具调用、规划模块可以用于构建数据智能体。专用数据Agent直接面向数据任务的智能体项目比如专注于NL2SQL的sqlcoder、text-to-sql专注于自动化数据科学的AutoML框架或是提供端到端数据分析助手功能的项目。工具与插件为现有数据分析平台如Jupyter、VS Code或BI工具如Metabase、Superset添加自然语言交互能力的插件。数据集与评测基准Datasets Benchmarks如何评估一个数据智能体的好坏这就需要标准的数据集和评测任务。这部分资源包括用于训练和测试NL2SQL模型的数据库如Spider、WikiSQL、用于评估数据分析复杂度的任务集、以及用于评测智能体多步推理能力的基准如BIRD。了解这些基准对于复现论文结果或评估自己构建的智能体至关重要。教程、博客与案例Tutorials, Blogs Use Cases这部分将理论与实践连接起来。包含一步步教你如何使用某个框架构建数据智能体的教程分享实战经验和架构思考的深度博客以及展示数据智能体在金融、医疗、电商等具体行业应用的案例研究。对于快速上手和获取灵感非常有帮助。商业产品与平台Commercial Products Platforms除了开源世界许多公司也推出了成熟的数据智能体产品。这部分会列举一些有代表性的商业解决方案例如集成在云数据平台中的AI助手、独立的智能数据分析SaaS等。了解它们有助于把握行业趋势和产品化思路。3.2 如何高效使用这个仓库一个实践者的视角面对这样一个丰富的仓库新手可能会感到眼花缭乱。我的建议是采取“问题驱动分层深入”的策略明确你的核心问题你是想解决一个具体的业务需求如让业务人员自助查询数据还是想研究某个技术点如提升智能体的规划能力或是想寻找一个可快速集成的开源方案带着问题去浏览目录针对性会强很多。从“综述”和“用例”入手建立全景图如果你对整个领域还不熟悉先花时间阅读几篇高质量的综述论文和博客。这能帮你快速建立知识框架理解关键挑战如幻觉、复杂查询处理、工具编排和主流技术路线。再看几个生动的用例能直观感受数据智能体能做什么。深入“开源项目”动手实践选定1-2个与你目标最接近的开源项目。仔细阅读其README尝试按照Quick Start跑通Demo。关键是要理解其架构设计它如何集成LLM提供了哪些工具任务规划是如何实现的记忆机制是怎样的通过阅读源码和示例你能获得最直接的理解。关注“数据集与评测”以评估方案当你构建了自己的智能体原型后需要用标准基准来检验其能力。在相关数据集上测试你的智能体与榜单上的其他方案对比能客观地发现其强项和弱点例如在简单查询上准确率高但在需要多表连接的复杂查询上表现不佳。持续追踪更新这个领域日新月异。使用GitHub的Watch功能关注这个仓库定期查看最近的Commit和Issue。维护者通常会及时添加最新的突破性论文和项目。你也可以通过提交Pull Request来贡献自己发现的高质量资源。注意资源列表的价值在于其“筛选”和“组织”。但任何列表都有时效性和主观性。对于列出的项目务必亲自验证其活跃度最近Commit时间、Issue响应情况、文档完整度和社区健康度。一个两年前最后一次更新、文档残缺的项目其参考价值可能远低于一个新兴但活跃的项目。4. 核心技术点深度剖析4.1 任务规划智能体的“大脑”任务规划是数据智能体区别于简单NL2SQL工具的核心。一个复杂的用户问题如“预测下个月哪些客户最有可能流失”无法通过单一SQL或Python脚本解决。智能体需要规划出一个可能的步骤序列1) 获取历史客户行为数据2) 获取交易数据3) 计算客户活跃度指标和消费趋势4) 使用机器学习模型如逻辑回归或XGBoost训练流失预测模型5) 对当前客户进行预测并排序6) 输出高风险客户列表及其特征分析。目前主流的规划方法有几种基于LLM的思维链Chain-of-Thought与ReAct模式这是最流行的方式。通过精心设计的提示词Prompt引导LLM以“Thought: 我需要先... Action: 调用工具X... Observation: 工具返回了结果Y...”的格式进行逐步推理和行动。ReAct框架将推理和行动结合起来让LLM在每一步都思考下一步该做什么。这种方法灵活但依赖于LLM的推理能力可能产生无效或循环的规划。基于编程语法树AST或工作流的规划将数据分析任务抽象为一种领域特定语言DSL或预定义的工作流模板。智能体的工作是将用户问题“编译”成这种结构化的执行计划。这种方式更可控、可解释但灵活性和泛化能力可能受限需要预先定义好所有可能的操作节点。基于强化学习RL的规划将任务完成过程建模为马尔可夫决策过程MDP智能体通过与环境数据系统的交互获得奖励如查询结果准确、执行速度快从而学习到最优的规划策略。这种方法潜力巨大但需要大量的交互数据进行训练成本较高目前多用于研究。在“awesome-data-agents”中你会找到分别采用这些方法的论文和项目。例如一些项目专注于提示工程优化以实现更可靠的规划另一些则提供了可视化拖拽生成数据分析工作流再将其转化为智能体的执行计划。4.2 工具使用智能体的“双手”一个智能体再聪明如果没有“手”去操作世界也是无用的。对于数据智能体它的“手”就是各种数据工具。工具使用的关键在于工具的描述、检索与调用。工具描述每个工具如一个Python函数pandas.read_sql或一个API端点/api/v1/query都需要用自然语言清晰地描述其功能、输入参数格式、输出格式以及使用示例。这些描述通常以结构化格式如JSON Schema存储并作为上下文提供给LLM让它知道“手头有哪些工具可用”。工具检索当智能体规划到某一步骤时如“我需要读取数据库”它需要从庞大的工具库中找到最合适的那个是直接用sqlalchemy执行原始SQL还是调用一个封装好的数据服务API。这通常通过将工具描述嵌入向量数据库进行语义搜索来实现。工具调用找到工具后智能体需要根据当前上下文正确地生成调用该工具所需的参数。例如对于df.groupby(‘category’).sum()这个工具智能体需要从对话历史中推断出df是哪个DataFrame‘category’具体对应数据中的哪一列。这一步的准确性直接决定了任务执行的成败。常见的工具包括数据库连接与查询SQL、数据处理库Pandas, Polars、数值计算库NumPy、可视化库Matplotlib, Plotly、机器学习库Scikit-learn、外部API天气数据、股票数据等。一个强大的数据智能体框架如LangChain会提供大量预置的工具并让用户能非常方便地自定义和添加新工具。4.3 记忆机制智能体的“经验”记忆让智能体能够进行连贯的多轮对话并避免重复劳动。记忆通常分为几种类型短期对话记忆存储当前会话中的多轮对话历史。这是最基本的确保智能体能理解“它”和“上一句”的指代。长期记忆/向量存储将历史对话中的重要信息如用户偏好、已澄清的业务术语定义、之前查询过的复杂数据集的schema描述以嵌入向量的形式存储起来在后续相关对话中快速检索并作为上下文使用。例如用户第一次解释了“活跃用户”定义为“近30天登录≥5次的用户”这个定义就应该存入长期记忆下次用户再提到“活跃用户”时直接使用。工具使用历史记忆记录智能体调用过哪些工具及其结果。这可以用于优化后续的规划例如发现某个API调用总是很慢下次可以优先选择替代方案也可以用于向用户解释执行过程生成可解释的执行日志。在构建数据智能体时记忆模块的设计需要权衡上下文长度、检索精度和系统开销。简单的方案是将所有历史记录都塞进LLM的上下文窗口但这很快会达到令牌限制。更成熟的方案是采用向量数据库如Chroma, Pinecone, Weaviate进行摘要和检索式记忆。4.4 评估与幻觉应对智能体的“质检员”数据智能体最令人担忧的问题之一是“幻觉”Hallucination即在数据领域表现为生成不存在的SQL语法、查询不存在的表或字段、对查询结果进行错误解读或编造数据趋势。因此评估和缓解幻觉至关重要。评估基准这就是“awesome-data-agents”中“数据集与评测”部分的价值。像Spider、BIRD这样的NL2SQL基准不仅提供大量数据库 自然语言问题 标准SQL三元组还包含了执行准确性Execution Accuracy的评估即比较智能体生成的SQL与标准SQL在执行结果上是否一致这比单纯的语法匹配更严格。幻觉缓解技术模式链接Schema Linking在生成SQL前强制智能体先将问题中的实体如“销售额”与数据库中的具体表名和列名进行精确匹配和确认。这可以通过在提示词中提供详细的数据库schema描述并让LLM先完成一个“识别提及实体”的子任务来实现。执行验证Execution Validation生成SQL后不是直接相信它而是先在一个安全的沙箱环境或针对副本数据库中执行它。如果执行出错语法错误、权限错误则将错误信息反馈给LLM让它修正。即使执行成功也可以对返回的结果集进行合理性检查例如销售额数字是否在正常范围内。结果解释与确认对于重要的分析结论智能体可以附上支持该结论的具体数据片段或者以置信区间的形式呈现。在关键决策点可以设计流程让人类进行确认Human-in-the-loop。5. 典型应用场景与实战构想5.1 场景一面向业务人员的自然语言数据查询与分析平台这是最直接的应用。许多公司都有Metabase、Tableau等BI工具但业务人员仍需学习如何拖拽维度、度量或编写简单表达式。我们可以基于“awesome-data-agents”中提到的框架构建一个增强型BI助手。实战构想技术选型采用LangChain作为智能体框架因为它有丰富的工具集成和社区支持。选择性能较好的开源LLM如Qwen-72B-Chat的量化版或调用商业API需考虑成本和数据安全。工具封装将公司数据仓库的查询接口、内部数据字典业务术语到技术字段的映射、常用的统计计算函数如环比、同比、累计封装成标准的Tool。记忆与知识库建立向量知识库存入数据字典、常用业务指标定义、历史典型问答对。每次查询前先进行语义检索将相关背景信息注入提示词。安全与管控SQL审查所有生成的SQL必须通过一个安全层进行语法检查、防止DELETE/DROP等危险操作、进行数据行级权限过滤例如自动在WHERE条件中注入user_id current_user。查询限流与成本控制对查询复杂度进行估算防止生成消耗巨大资源的查询拖垮数据库。结果脱敏对返回结果中的敏感字段如手机号、身份证号进行自动脱敏处理。部署与交互开发一个简单的Web界面用户输入自然语言问题后台智能体处理并返回结果表格和图表。同时提供交互式澄清功能当问题模糊时智能体可以反问用户“您指的是2023年全年的数据还是仅第四季度”。5.2 场景二自动化数据质量检查与报告生成数据工程师每天要运行大量数据质量检查任务。我们可以构建一个智能体来自动化这个过程。实战构想任务定义用户用自然语言描述检查规则如“检查订单表最近一天的数据确保‘金额’字段为正数‘下单时间’不晚于‘支付时间’并且各省份的订单分布与历史趋势相比没有异常波动。”智能体规划智能体将其分解为a) 编写SQL抽取相关数据b) 调用Python进行规则1和规则2的逻辑检查c) 调用统计模型如3-sigma原则或同比环比计算进行规则3的异常检测d) 汇总所有检查结果。工具集成集成Great Expectations或dbt test这样的数据质量框架作为工具智能体可以调用它们预定义的检查项或者动态生成检查逻辑。报告生成检查完成后智能体调用报告生成工具如Jinja2模板WeasyPrint将结果通过/失败、异常详情、样本数据格式化为PDF或HTML日报并通过邮件或钉钉/企微机器人发送给相关人员。自主修复进阶对于简单的、规则明确的数据问题如字段类型错误、明显的异常值智能体可以在确认后自动生成并执行数据修复脚本。5.3 场景三多智能体协作的端到端数据分析流水线对于从数据提取、清洗、分析到决策建议的完整流程可以设计一个多智能体系统。实战构想角色定义协调员智能体Coordinator Agent接收用户总体目标负责任务分解和协调其他智能体。数据工程师智能体Data Engineer Agent擅长从各种源数据库、API、文件提取数据并进行初步的清洗和转换。数据分析师智能体Data Analyst Agent擅长探索性数据分析EDA、统计检验和可视化。机器学习智能体ML Agent负责特征工程、模型训练、评估和预测。报告撰写智能体Reporter Agent负责将分析结果整合成结构化的、易于理解的报告或PPT。通信机制智能体之间通过共享工作区如一个共享文件夹或内存中的数据结构传递中间结果。协调员通过发布子任务和收集状态来管理流程。可以采用发布-订阅模式或基于状态的协同。流程示例用户提出“分析用户流失原因并预测潜在流失用户”。协调员将任务分解并依次启动数据工程师获取用户行为日志和交易数据、数据分析师进行用户分群和流失相关性分析、机器学习智能体构建预测模型、报告撰写智能体生成分析报告。每个智能体完成工作后将产出物清洗后的数据、分析图表、模型文件、报告段落存入共享区并通知协调员。协调员监控进度并在必要时让智能体们进行“会议”讨论例如数据分析师发现某个特征很重要可以通知机器学习智能体将其加入模型。挑战与考量多智能体系统的复杂度呈指数级增长需要解决智能体间的冲突、任务依赖、全局状态一致性等问题。目前这更多是研究前沿但一些框架如AutoGen已经提供了多智能体对话的仿真环境可以用来进行原型验证。6. 构建与部署中的核心考量与避坑指南6.1 LLM选型开源还是闭源这是首要决策点直接关系到成本、性能、可控性和数据安全。闭源商业API如GPT-4, Claude-3优点能力强大特别是复杂推理和指令遵循方面通常领先无需维护基础设施迭代快能自动使用模型最新版本。缺点成本高按token收费对于高频查询场景费用可观数据需发送至第三方存在数据安全和隐私合规风险需确认供应商的数据处理协议API有速率限制和可能的不稳定性。适用场景原型验证、对能力要求极高的复杂任务、非敏感数据场景、或查询量不大的内部工具。开源模型如Llama 3, Qwen, DeepSeek优点数据完全私有部署在内网安全可控一次部署无限次使用长期成本可能更低可针对特定领域进行微调Fine-tuning。缺点需要自行准备GPU算力资源有运维成本同等参数规模下通用能力可能略逊于顶级闭源模型需要处理模型量化、推理优化等技术细节。适用场景对数据安全要求极高的场景金融、医疗高频调用、成本敏感的场景需要深度定制和微调的场景。实操心得对于企业级数据智能体我倾向于采用“混合架构”。核心的、复杂的规划推理任务可以调用一次能力最强的闭源API因为这类任务token消耗相对少但对质量要求高。而后续具体的、模式化的工具调用如SQL生成、代码执行则交给部署在本地的、较小的开源模型来处理。这样在成本、能力和安全之间取得平衡。6.2 提示词工程稳定性的关键智能体的表现极度依赖提示词Prompt的设计。糟糕的提示词会导致输出不稳定、格式错误或逻辑混乱。结构化提示词模板不要将一大段自然语言描述直接扔给LLM。应采用清晰的结构化模板通常包含系统角色System Role明确界定智能体的身份和能力。例如“你是一个专业的数据分析师助手精通SQL和Python数据分析。你的职责是安全、准确地响应用户的数据查询和分析请求。”工具描述Tool Descriptions以JSON Schema等清晰格式列出所有可用工具。输出格式指令Output Format Instructions严格要求LLM以指定格式如JSON、或特定的“Thought/Action/Observation”标记进行回复。这对于程序化解析至关重要。任务示例Few-Shot Examples提供2-3个高质量的输入输出示例让LLM学会正确的处理模式。当前上下文Current Context包括对话历史、当前查询、相关的数据库schema信息等。安全与约束Safety Constraints明确禁止事项如“绝对不能修改或删除任何数据”“如果用户请求涉及个人隐私数据必须拒绝并说明原因”。迭代优化与测试提示词不是一蹴而就的。需要构建一个涵盖各种类型查询简单、复杂、模糊、有歧义的测试集反复运行根据失败案例调整提示词。A/B测试不同的提示词版本选择效果最好的。6.3 系统安全与权限管控这是企业应用的生命线绝不能忽视。SQL注入防御智能体生成的SQL必须经过严格的审查和净化。除了前文提到的危险操作拦截还应使用参数化查询或ORM来避免拼接SQL字符串从根本上杜绝注入。可以为智能体分配一个仅有SELECT权限的数据库账户。数据访问控制行级/列级智能体不应成为绕过现有权限体系的漏洞。需要在智能体生成的SQL执行前动态注入基于用户角色的过滤条件。例如通过一个权限服务在SQL的WHERE子句中自动添加department_id ${user_dept}。查询资源隔离与熔断为智能体发起的查询设置资源限制如最大执行时间、最大返回行数、最大内存使用。在数据库层面使用资源组Resource Group进行隔离防止一个复杂查询影响线上业务。实现熔断机制当连续失败或超时达到阈值时暂时禁用该用户或该类型的查询。审计与日志完整记录每一次交互用户输入、智能体的完整思考过程Thought、调用的所有工具及参数、执行结果、最终输出。这些日志对于问题排查、效果分析和安全审计至关重要。6.4 性能优化与成本控制上下文管理LLM的上下文窗口是宝贵资源。需要精心设计哪些信息放入上下文。对于数据库schema可以采用动态schema链接只放入与当前查询最相关的表结构而不是整个数据库的DDL。对于长对话可以采用摘要Summarization技术压缩历史记录。缓存策略对于相同或相似的查询其结果可以缓存。例如对生成的SQL语句进行哈希作为缓存键。这能显著降低对LLM和数据库的重复调用。但要注意数据时效性需要为缓存设置合理的TTL生存时间。异步与流式响应对于耗时的复杂分析任务不要让用户前端长时间等待。应采用异步任务模式用户提交请求后立即返回一个任务ID智能体在后台执行完成后通过WebSocket或轮询通知用户。对于生成报告等过程可以采用流式输出让用户逐步看到结果。成本监控与预算如果使用商业API必须建立成本监控仪表盘按用户、按部门统计token消耗和费用。设置预算告警防止意外费用超支。鼓励用户提出更精确的问题以减少不必要的token消耗。构建一个成熟可用的数据智能体系统远不止是调用LLM API那么简单。它涉及软件工程、数据工程、机器学习和安全领域的多重知识。“awesome-data-agents”这个仓库为我们提供了绝佳的地图和工具箱但真正的航行和建造还需要我们根据具体的业务海域精心设计、反复调试和持续迭代。从一个小而美的场景开始解决一个具体的痛点逐步扩展其能力和边界是通往成功最可行的路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2580378.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…