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

生成更智能,调试更轻松,SLS SQL Copilot 焕新登场!

作者:执少

对,这是一篇你明知道怎么回事儿,但还是会点进来看的文章!

本文是阿里云日志服务(SLS)首次对外系统性地揭秘 SLS SQL Copilot 背后的产品理念、架构设计与核心技术积淀。我们将带你深入了解,这一智能分析助手如何从用户真实需求出发,融合前沿 AI 能力与 SLS 十余年日志分析最佳实践,打造出面向未来的智能化日志分析体验。

由来

  • 十年前,SLS 以云上首创的日志服务形态问世,一站式的日志采集、分布式存储、高性能查询检索服务,令人惊艳。
  • 八年前,SLS 首次推出 SQL 分析服务,让日志数据从简单存储变成了交互式查询分析,数据价值开始变现。
  • 五年前,SLS 尝试自助式数据探索,通过 DataExplorer 服务旨在辅助用户自助构建查询语句。
  • 三年前,SLS 实现 SQL 自助诊断,旨在帮助用户降低 SQL 使用门槛,自动纠正语法报错。

SLS 数据洞察史:

image

纵观历史,SLS 探索和挖掘日志数据价值的脚本从未停歇!

然而,随着用户规模和应用场景的不断扩展,有关日志数据查询和分析的咨询和使用问题层出不穷,工单源源不断。

image

我们深刻意识到:尽管 SLS 具备强大的查询分析能力,但复杂的语法规则、多样的数据结构以及缺乏最佳实践指导,让许多用户在日志分析的门槛前望而却步。为此,我们也曾一次又一次开展用户体验提升计划、工单清零计划。

通过持续的用户支持和深度使用打磨,我们逐渐积累了大量实践经验和使用技巧。当时就在想,要是能有一个智能系统可以将我们不断沉淀的专家经验和知识技巧完全发挥出来,让每位用户都能享受到专业的分析指导,实现知识普惠就太好了,要是能支持用户自助问答,实现自然语言需求描述直接转成专业 SQL,那就更棒了~

时间来到 2025 年,AI 席卷世界,正在重塑世界的每个角落。曾经“幻想”的能力,如今正在成为现实。

理念

首先,什么是 Copilot?

image

这个概念得从航空飞行史说起,飞行员叫“Pilot”,随着飞行技术的不断发展,人类逐步在飞机上实现了辅助驾驶系统,以协助飞行员更好地完成飞行任务。于是,“Co-Pilot”逐步成为了官方术语 Copilot(辅助驾驶)。

现在,SLS 就如同承载着海量用户数据的飞机,我们希望在 SLS 中打造类似的智能辅助驾驶:协助 SLS 用户(作为飞行员的你)高效完成查询和分析任务,最大化释放日志数据的价值。

在日志分析与运维场景中,阿里云日志服务(SLS)以独创的 <查询> | <分析> 语法实现了高效的数据检索和实时分析能力。

然而,用户往往因对查询语法不熟悉、日志数据结构复杂、缺乏最佳实践经验等原因,面临查询和分析的困境:如查询语句不会写、查不出、查不对、查询性能不佳等。SLS SQL Copilot 应运而生,作为 SLS 官方原生集成的智能分析工具,它以高效的“对话交互”方式,将用户自然语言的需求描述智能转换成查询或 SQL 语句,大幅降低日志分析门槛,帮助用户快速定位问题,洞察日志数据价值。

回答以下几个问题(也是用户较为关注的):

  • 问:与目前市面上常见的 Text2SQL AI 标品的区别是什么?
  • 答:不做通用 Text2SQL,只做 SLS SQL Copilot,贴合 SLS 自身特点,尽可能发挥出其原生特性和能力。
  • 问:是在做应用还是做能力?
  • 答:不做应用只做能力,我们并不作为独立应用存在,而是跟着 SLS 原生能力和演进路线发展。更深度的绑定意味着我们更懂 SLS,更高效深入地集成能力,更快速同步地更新特性。

因此,

我们的设计理念:更原生、更准确、更高效,打造日志数据查询分析的新范式。

我们的使命:为 SLS 用户打造原生、方便、好用的查询和分析助手。

更原生

原生具体体现在哪些方面?

SLS 的查询分析三要素:时间范围、查询语句、分析语句。

image

原生时间范围集成

“时间”是日志数据的天然属性,SLS 将时间范围作为查询分析的必备要素,这一设计哲学在 SLS SQL Copilot 中一脉相承。

市面上的 Text2SQL 工具或标准 AI 服务在生成 SQL 时,通常会将时间过滤条件内嵌于 SQL 语句中,使 SQL 变得冗长。

SELECT ...
FROM ...
WHERE __time__ > to_unixtime(now() - INTERVAL '7' DAY)

而我们选择了更符合 SLS 特色的做法——将时间范围与查询逻辑分离,让 SQL 本身保持简洁,专注于查询和分析逻辑本身。

在实现上,我们支持精准的时间范围推断,将其作为独立的生成组件输出,避免了时间参数与 SQL 冲突造成的查询异常。无论是 SLS 官方控制台、Open API 还是 MCP 工具调用,你都可以直接使用生成的时间范围,无缝执行 SLS 查询。这一细节充分体现了 SLS 的原生味道。

image

多种查询范式集成

SLS 支持丰富的查询范式——全文检索、字段查询、统计分析,以及不断扩展的新能力(如 SPL 数据处理)。每种查询方式都有自己的适用场景和语法特点。

这正是普通 Text2SQL 工具的痛点:面对这么多查询范式,很难准确判断用户的需求到底应该使用哪一种。

SQL Copilot 的优势就在这里体现出来。我们原生支持 SLS 的三大查询范式:纯查询、纯 SQL、查询+SQL 混合,能够智能判断用户需求,自动选择最合适的查询模式,从而实现最佳的查询性能。

以游戏日志场景为例,用户三种不同问法,对应着截然不同的查询意图:

场景 1:“查询玩家年龄大于 25 的日志”--纯查询模式

image

场景 2:“分析玩家年龄大于 25 的占比”--纯 SQL 分析模式

image

场景 3:“分析年龄大于 25 的玩家中访问 PV Top10 的用户”--查询+SQL 混合模式

image

特性分析函数集成

SLS 围绕日志分析场景开发了许多强大的特性函数——同环比分析、IP 地理解析、时序补全等,这些都是日志分析中的高频需求。SQL Copilot 原生集成了这些特性函数,在识别到相关需求时自动调用,释放出 SLS 全部分析潜力,让复杂分析变得简单。

以同比分析为例:实现“今天vs昨天vs一周前的 PV 对比”,标准 SQL 需要复杂的子查询嵌套和 UNION,不仅冗长还易出错,而 SLS 的同环比函数几行就能搞定分析,简洁优雅。

image

这些就是原生集成的体现——深度融合 SLS 产品基因和自身设计理念,让 AI 真正懂 SLS,让 SLS 真正懂用户。

更准确(智能)

什么才是“准确”的 SQL 生成?不仅仅是语法正确,更要真正理解用户意图,精准匹配业务需求。而真正的智能,体现在对用户需求的深度理解和精准响应。理想很美好,但现实总是很骨感。在实际服务过程中,我们发现生成质量面临着诸多挑战:

用户上下文信息不完整、会话缺乏连贯性、需求表述模糊不清、业务语义理解困难...每一个细节都可能影响最终的生成效果。

正是基于这些线上实践的深度打磨,我们逐步完善并构建了一套完整的智能化系统:

image

上下文智能感知

索引字段元信息

系统会自动感知当前 Logstore 的索引字段配置信息,并根据用户需求智能推断相关可用字段。

image

原始日志数据采样

日志数据往往是无结构化的,格式也千差万别。仅仅依靠索引字段信息,很难应对复杂的数据解析需求。

遇到过这种情况吗?想从 content 的长文本大字段中提取特定信息,但不知道该怎么表达查询需求?

因此,在用户 SLR [ 1] 授权下,Copilot 会自动采样原始日志数据,为系统提供一手的原始数据上下文。这在 content 大字段的信息提取场景中特别重要——无论是正则提取、JSON 解析还是字符串切分。

{
  "__time__":1756287229,
  "_image_name_":"ali-registry.net/test:v1",
  "_container_name_":"test",
  "_time_":"2025-08-27T09:33:48.499251778Z",
  "__tag__:__hostname__":"2bdbfc7b6894",
  "__tag__:__client_ip__":"47.98.125.123",
  "__tag__:__receive_time__":"1756287231",
  "__tag__:__pack_id__":"9505840C6C3CD469-18718A",
  "content":"192.168.0.1 - - [27/Aug/2025:17:33:48 +0800] \"GET /hello/ HTTP/1.0\" 200 3876 \"-\" \"Chrome/0.1.0\" \"120.232.180.90, 120.232.180.90\""
}

预设查询环境感知

在实际使用中,我们发现一个有趣的现象:很多用户提问时习惯先贴一大段日志数据,最后才说真正的需求:

用户提问:
body_bytes_sent:4017
host:www.yxw.mock.com
http_referer:www.pj.mock.com
http_user_agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.724.100 Safari/534.30
http_x_forwarded_for:210.45.235.97
remote_addr:180.164.95.121
remote_user:hzc9
request_length:3940
request_method:GET
request_time:71
request_uri:/request/path-0/file-0
status:200
time_local:27/Aug/2025:10:06:33
upstream_response_time:0.06
...(日志原文实际可能很长)
[到这里才开始提问]
我希望提取出第一个IP作为访问IP字段 或 我希望提取出访问路径 等等...

这种做法可以理解,用户想提供完整的上下文信息。但 SQL Copilot 有更优雅的方式——预设查询环境感知。

SQL Copilot 的环境感知功能会自动记录你最近一次的查询上下文,你只需要说“基于预设查询...”,系统就知道你在说哪个数据环境了。这不仅让提问更简洁,数据采样也更精准高效。

image

外挂知识库集成

另一个有意思的设计是企业知识库集成。每个企业或组织都有自己的“黑话”——业务术语、产品代号、缩略词、团队习惯表达等...这些往往是分析中的关键信息,但 AI 可能完全不懂。

我们支持接入用户自建的知识库,让 SQL Copilot 学会用户的“企业语言”,让它真正学会说“你们的话”,理解“你们的业务”。

需求引导和理解

“帮我看看昨天的数据”——这样的提问你们熟悉吗?

根据大量的用户支持经验,我们发现用户的需求表述往往存在各种问题:太模糊、不明确、有歧义,或者干脆不知道该怎么问。这其实很正常,毕竟把脑海中的分析想法准确表达出来,本身就不是一件容易的事。但对 AI 来说,清晰的需求描述直接决定了生成质量。

为此,我们借鉴医院导诊的思路,设计了智能的需求引导和路由系统:

  • 需求模糊时 → 智能推荐贴合你业务场景的明确问题,一键高效提问
  • 需求不明确时 → 智能提醒并协助确认关键信息(如具体字段),避免理解偏差
  • 需求清晰时 → 帮助串联上下文,结构化组织语言表达,提炼需求重点
  • 日常问答 → 贴心陪聊,甚至来点幽默的技术调侃

image

image

它像一个耐心的技术专家,与你 1v1 深度交流,陪你把需求和想法慢慢理清楚:从模糊的“帮我看看数据”到具体的“分析最近 7 天 error 状态码的分布趋势”,从碎片化的表达到结构化的需求提炼。这种渐进式的引导交互,不仅提升了用户体验,更重要的是让 Copilot 真正理解并确认你的需求。

用户语义模型

日志数据结构与特征智能感知

面对复杂多样的日志格式,如何让 AI 真正“看懂”数据?SQL Copilot 具备智能的数据理解能力,无论是数值、JSON、文本还是自定义格式,都能自动解析数据特征和分布,为后续的精准查询生成提供支撑。

image

语义萃取

理解数据结构只是第一步,更深层的挑战在于理解用户的业务语义。现实中经常遇到这些情况:

  • 语义列推断困难
    • 用户提问:请按“服务名”分组统计频次
    • 字段歧义:日志库中同时存在 service_name、event.serviceName 索引字段,到底该选哪个?
  • 业务规则模糊
    • 用户提问:统计“高延时”的请求分布
    • 规则模糊:什么算高延时?1 秒?3 秒?还是用户自定义的阈值?
  • 分析偏好未知
    • 用户提问:分析请求 PV 趋势
    • 隐含偏好:趋势的时间粒度是按分钟?小时?还是天?

这些隐含的业务语义,往往决定了分析结果的准确性。越深入理解用户的业务语义,生成的查询就越贴合真实需求。

image

问题是,如何才能理解用户的这些业务语义?

我们想到了一个巧妙的思路:用户过往创建的报表、告警、查询历史,其实就是最好的“语义教材”。因为这些都是给人看的,用户自然会使用有业务意义的字段名、指标定义、分析逻辑。

于是,我们想到从用户的历史查询、报表、告警规则中智能萃取语义信息。

image

以用户创建的报表为例,每个图表背后使用的都是 SQL 语句,一条看似普通的 SQL 语句,实际上包含了丰富的业务信息:字段别名、筛选条件、聚合逻辑...每一个细节都在“告诉”我们用户是如何思考和表达业务需求的。

image

具体来说,我们从多个维度学习用户的业务语义:

  • 命名与表达习惯
    • 通过 AS 别名识别字段别名中的业务术语和命名规范
  • 业务规则判断
    • 通过 WHERE 条件表达式理解业务规则和阈值标准
  • 数据处理偏好
    • 通过 JSON 提取、正则匹配、字符串切分等表达式识别数据解析方式
  • 分析逻辑偏好
    • 通过 GROUP BY 子句和聚合函数了解分组维度和聚合计算的习惯选择
    • 通过 WITH CTE 和子查询识别和推断业务 meta 信息

通过语义萃取,最终我们可以得到类似如下的用户语义模型,这将在 Copilot 的上下文工程中提供重要的参考价值。

image

用户会话画像

除了从历史 SQL 中学习,我们还有另一个学习来源:用户的实时对话。

这是另一个有趣的设计:我们会从每次对话中学习用户的“聊天画像”。每一次提问、每一轮交互,都在向我们透露用户的偏好和习惯。系统会持续总结用户的会话特征,形成动态的用户聊天画像——你喜欢什么样的分析角度?习惯如何表达需求?偏向哪种数据视角?这些实时的行为洞察和个性化理解,让 Copilot 能够越聊越懂你。

image

温馨提示:当需要切换不同分析主题时,不妨新开一个会话,避免上下文混淆,让每个话题都能得到最专注的分析。

质量校验和修正

LLM 生成不可避免会出现语句出错的情况,为了确保生成质量,我们设计了质量校验和保障机制。在流程中增置了 DryRun 执行、校验和修正环节,对语法和执行逻辑进行校验,并对用户需求进行最终验证,一旦发现问题立即修正,以保证最终生成质量。

image

image

更高效

自然语言无缝转换查询执行

即席查询 → 需求描述 → 语句生成 → 就地执行,从「探索」到「表达」到「生成」到「执行」,整个流程一气呵成,就这么简单!

用户无需掌握 SQL 语法,只需用日常语言描述需求(如“统计过去 2 小时接口延迟超过 1 秒的请求数,按服务名分组”),Copilot 会自动生成完整的 SLS 查询语句,时间范围、检索条件、聚合逻辑...所有细节一步到位,原生集成,生成即可运行。

这就是原生集成的效率优势。

image

查询报错自动诊断并修正

SQL 写错了?别担心,系统会自动帮你修正。

智能诊断 → 问题定位 → 精准修复,让错误语句秒变可执行查询。从此告别反复调试的烦恼,专注分析本身。

image

核心功能亮点

现在,历经深度打磨,全新的 SLS SQL Copilot 为你带来:

💡 让生成更智能

  • 支持纯查询、纯 SQL、查询+SQL 多种范式,智能生成最优语句
  • 原生集成时间过滤和特性分析函数,充分发挥 SLS 潜能
  • 深度理解业务语义,从历史查询和会话中持续学习,越用越懂你

🛠️ 让调试更轻松

  • DryRun 预执行,提前发现并修复潜在问题
  • 提供清晰的解释说明,助你理解每一步逻辑
  • 错误 SQL 智能诊断,自动识别问题并精准修正

🎮 让交互更有趣

  • 需求引导:不知道怎么分析?让它为你推荐合适的问题
  • 随时问答:生成样例、解释语法、提供分析思路
  • 智能对话:用 SQL 语言和你聊天(是的,它还有点技术幽默感)

🔌 让使用更便捷

  • SLS 控制台原生集成,开箱即用
  • API 接口 [ 2] 和 MCP 协议 [ 3] 支持,轻松集成到你的工作流

展望

写到这里,其实我们的故事才刚刚开始。

  • 智能化数据探索

    日志数据内容和格式复杂多变,往往一些重要信息可能藏于复杂的非结构化文本中,有时需要“试一下 A 方案,不行再试 B 方案”的探索过程。我们期待结合 Agent 的自主决策能力,让 AI 自己去探查数据特征,找到真正有价值的信息——就像一个经验丰富的数据分析师那样思考和行动。

  • 用户语义的深度理解

    目前我们只是在用户历史查询中学习语义,但用户的真实需求远比这丰富。随着语义模型建设的深入,我们希望理解用户更多的业务上下文,让每一次交互都更贴近用户的真实意图。你的业务场景、分析习惯、甚至是那些没说出口的需求,都应该被理解和记住。让 Copilot 的每一次对话都更懂你。

  • 场景化的智能洞察

    最令人期待的是——无需用户主动提问,系统就能根据业务场景和日志特征,自主发现问题和潜在需求,提供数据的洞察和分析。从被动的“问答助手”进化为主动的“分析伙伴”,真正将日志数据的价值发挥出来!

相关链接:

[1] SLR

https://help.aliyun.com/zh/sls/manage-the-aliyunserviceroleforslsaudit-service-linked-role

[2] API 接口

https://help.aliyun.com/zh/sls/developer-reference/api-sls-2020-12-30-callaitools

[3] MCP 协议

https://help.aliyun.com/zh/sls/large-language-model-llm-application-calls-observable-mcp-service-to-implement-log-query-and-analysis

点击此处,了解更多产品详情。

相关文章:

生成更智能,调试更轻松,SLS SQL Copilot 焕新登场!

本文是阿里云日志服务(SLS)首次对外系统性地揭秘 SLS SQL Copilot 背后的产品理念、架构设计与核心技术积淀。作者:执少 对,这是一篇你明知道怎么回事儿,但还是会点进来看的文章! 本文是阿里云日志服务(SLS)首次对外系统性地揭秘 SLS SQL Copilot 背后的产品理念、架构…...

NOI linux使用教程

一、配置NOI linux环境为中文 1. 桌面右键setting 2.下拉找到地区&语言,点击Manage Installed Languages 3. 选择安装其他语言包Install / Remove Languages 4. 勾选简体中文Chinese (simplified) 5. 输入密码后确认 6. 等待安装即可 7. 安装完后,选择语言下拉选项中的中…...

springboot 文件处理框架

-------------------------------------------------------------------------------------------Apache POI 是一款常用的 Excel 处理工具,但在一些场景下,存在内存占用高、处理速度慢等问题。以下是一些比 POI 更具优势的轻量级 Excel 处理工具:EasyExcel:是阿里巴巴开源…...

Docker:龙晰系统(Anolis)更新yum源下载docker

一、配置Docker的yum库 1. 查看系统版本 # 查看系统版本 cat /etc/os-release2. 配置系统yum源 这里可以看我的另一篇文章: 3. 卸载旧版docker与podman 重点:podman与docker冲突!!龙蜥Anolis Linux默认安装Podman作为容器管理工具,这是由于Podman是Red Hat(龙蜥的开发者之…...

针对单输入单输出、多输入多输出及三阶系统带约束的模型预测控制的实现

针对单输入单输出(SISO)、多输入多输出(MIMO)及三阶系统带约束的模型预测控制(MPC)的实现 一、SISO系统MPC实现 1. 系统建模与离散化 % 传递函数定义(二阶惯性环节) s = tf(s); G = 1/(s^2 + 2*s + 1); Ts = 0.1; % 采样时间 Gd = c2d(G, Ts, zoh); % 离散化关键参数:…...

vue3中父子组件数据同步的默认方式update:xxx

update:xxx 是Vue 3中实现自定义v-model的约定。它的工作原理是: 子组件通过emit(update:propName, newValue)通知父组件需要更新某个属性父组件可以通过v-model:propName="data"或@update:propName="data = $event"来接收这个更新 父组件:<template&…...

解决 C# 当另一个read操作挂起时不能调用read方法的问题

life runs on code作者: zhaotianff转载请注明出处...

AI辅助编程_工具和方式

AI编程AI 编程 这个时代的方式定义问题、建构系统、引导协作 方式 1. Copilot 模式:你写头它写尾 2. Agent 模式:你说话,它写程序 “氛围感编程” 产品形态插件和IDE两种 模式 :问答模式(Ask)、文件编辑模式(Edit)、智能体模式(Agent) 国内百度 腾讯: https://c…...

[完结10章]Java大模型工程能力必修课,LangChain4j 入门到实践

在人工智能技术飞速发展的今天,大型语言模型(LLM)已成为推动创新的核心驱动力。对于Java开发者而言,掌握大模型工程能力不再是一种选择,而是一种必需。LangChain4j作为专为Java开发者设计的工具库,正在成为连接传统Java工程与大模型应用的重要桥梁。参考资料:/s/1kSb5z5…...

k8s源码分析——kubectl命令行交互

Cobra库 k8s各组件的cli部分都使用Cobra库实现,Cobra 中文文档 - 掘金 (juejin.cn),获取方式如下:go get -u github.com/spf13/cobra@latestcobra库中的Command结构体的字段,用于定义命令行工具的行为和选项。它们的作用如下:Use: 命令名称。Aliases: 命令的别名。Suggest…...

将 seata 2.5 发布到私服

将 seata 2.5 发布到私服1.概述 我们在使用seata 做分布式事务的时候,有时需要将 seata 发布到私服中,方便 修改和调整。 2.实现过程 2.1 在根目录下的pom.xml 中 增加发布配置 <distributionManagement><repository><id>jpaas-release</id><url&…...

一些感悟

1. 突破分型 50分 2. 驱动浪 30分 3. 驱动浪突破分型 80分 4. 驱动浪突破分型 回调61.8% 或 80% 做单 100分 其中突破分型是做单前提 重中之重!...

五款免费低代码平台深度横评:斑斑、简道云、宜搭、氚云、织信如何选?

在当今数字化转型的浪潮中,低代码开发平台以其可视化、拖拽式的开发模式,极大地降低了企业应用开发的门槛和成本,成为企业提升效率、快速响应市场变化的重要工具。对于预算有限的中小企业、初创团队或业务部门而言,免费的低代码平台是绝佳的入门选择。本文将为您客观评析五…...

ubuntu历史版本下载

https://old-releases.ubuntu.com/releases/LTS版本:...

读书笔记:数据库索引的智能优化:反向键与降序索引

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学习《Expert Oracle Database Architecture Techniques and…...

代码随想录算法训练营第十天| 232.用栈实现队列、 225. 用队列实现栈、20. 有效的括号 、1047. 删除字符串中的所有相邻重复项

232.用栈实现队列 题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/description/ 解题思路:用两个栈实现队列,一个入栈,把入栈里面的元素全部放入出栈 代码实现:点击查看代码def __init__(self):self.stack_in = [] #入栈,主要负责pushself.stack_o…...

零成本搭建企业系统:五款免费低代码平台推荐

概述 在数字化转型的背景下,低代码平台正成为企业快速构建信息系统的重要工具。它们通过可视化、组件化的方式,大幅降低了开发门槛和时间成本,即使没有编程背景的业务人员也能参与系统搭建。本文将为大家推荐五款值得尝试的免费低代码平台,帮助中小团队或个人实现零成本高效…...

故障处理:access$表在数据库丢失的恢复

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。故障处理:access$表在数据库丢失的恢复 下面是测试一把access$基表丢失…...

从需求出发:教你判断选斑斑还是织信

斑斑低代码以免费、私有化部署优势,适合中小企业;织信则提供高端解决方案,适合中大型企业,两者各有特色。​在数字化转型的浪潮中,低代码开发平台正成为企业降本增效的利器。在众多国产平台中,斑斑低代码和织信无疑是受关注的两个选择。本文将从多个维度深入分析这两款平…...

PLC结构化文本设计模式——建造者模式(Builder Pattern)

PLC Structured Text Design Patterns PLC结构化文本设计模式——建造者模式(Builder Pattern) 介绍 建造者模式是一种创建型设计模式,它允许你创建复杂对象的步骤与表示方式相分离。 建造者模式是一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程与其表示相分离…...

C++ - STL - 迭代器

什么是迭代器?🤔 想象一下,你有一排整齐的书架,上面放着很多书。你现在想从第一本开始,一本一本地看书名。你怎么做呢? 你会用手指指着第一本书,看完书名后,手指移动到下一本书,再看书名,这样一直指到最后一本书。 在C++的STL中,迭代器就是你的"手指"!它…...

MATLAB的智能扫地机器人工作过程仿真

MATLAB的智能扫地机器人工作过程仿真,结合环境建模、路径规划、避障算法和动态清扫流程一、代码 %% 环境建模(20x20网格地图) mapSize = [20,20]; obstacleDensity = 0.2; % 障碍物密度% 生成随机障碍物地图 envMap = ones(mapSize); obstacles = randi([1,mapSize(1)], cei…...

linux redis 8.2.1软件开机启动redis.service与etc下的rc.local配置2种方式

### 2025-9-8 linux redis 8.2.1软件开机启动```linux 软件开机启动第一种:写服务1、sudo vim /etc/systemd/system/redis.service 内容如redis.service.txt下:[Unit]Description=Redis In-Memory Data StoreAfter=network.target [Service]User=redisGroup=redisExecStart=…...

在GA中添加Tag-GetDynamicSpecSourceTags().AddTag(NewTag)

GetDynamicSpecSourceTags().AddTagexample:FGameplayAbilitySpec AbilitySpec = FGameplayAbilitySpec(AbilityClass,1);AbilitySpec.GetDynamicSpecSourceTags().AddTag(NewTag);其中AbilityClass是GA的Class...

python如何在函数中使用全局变量?

在 Python 中,全局变量是定义在函数外部的变量。要在函数中使用全局变量,需要根据具体情况使用 global 关键字,以下是详细说明和示例: 1. 只读全局变量(无需声明) 如果只是在函数中读取全局变量的值,不需要任何特殊声明,直接使用即可: # 定义全局变量 global_var = &q…...

296、贾生

296、贾生296、贾生 唐●李商隐 宣室求贤访逐臣,贾生才调更无伦。 可怜夜半虚前席,不问苍生问鬼神。【现代诗意译】 汉文帝 在宣室求贤访能 召见贾谊 这个被贬逐臣子 他的才华无与伦比皇帝半夜移膝向前 认真求教 可惜不问人民疾苦 问的是鬼神!小学生C++...

ubuntu 24.04部署mysql8.0.41(glibc2.17)

环境Os:ubuntu 24.04 desktop桌面版mysql:8.0.41 glibc2.17查看操作系统信息root@hxl-VirtualBox:/# uname -aLinux hxl-VirtualBox 6.14.0-29-generic #29~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Aug 14 16:52:50 UTC 2 x86_64 x86_64 x86_64 GNU/Linuxroot@hxl-VirtualBox:…...

C++ - STL - 键值对pair

键值对——pair STL中的pair是一个模板类,用于将两个可能类型不同的值组合成一个单元,常用于存储键值对或函数返回多个值的场景。 创建上面尖括号里面,是用来指定类型的。这种指定类型的方式STL会一直使用的。 更准确的应该是叫泛型,用到的技术是模板。 使用pair的元素 pai…...

第四天学习:LSTM

流水不争先,争的是滔滔不绝—— 每日渐进,终抵远方LSTM(Long Short-Term Memory,长短期记忆网络) 他的前身是RNN(循环神经网络),为啥我们拿着好端端的RNN不用,非要寻找其他的网络算法呢? 这是因为RNN本身存在缺陷:RNN的初衷:处理序列数据(如句子、语音、时间序列)…...

MATLAB的稀疏自编码器实现

一、核心实现代码 %% 数据准备(以MNIST手写数字为例) [XTrain, YTrain] = digitTrain4DArrayData; % 加载MNIST训练数据 XTest = digitTest4DArrayData; % 加载测试数据% 数据预处理(归一化+向量化) XTrain = double(reshape(XTrain, [], 28 * 28)) / 255; XTe…...

题解:P2157 [SDOI2009] 学校食堂

题目传送门 题目大意 有 \(n\) 个学生,每个学生有一个时间 \(t_i\),所花费的真实时间为 \(t_i\) 异或上前一个吃饭的同学的 \(t_i\)。每个学生有一个忍耐度,最多可以让后面 \(b_i\) 个同学比自己先吃饭。问在不违反忍耐度的条件下,让所有同学吃饭的最小时间。 解题思路 首先…...

LLM 应用开发中的常见模式

以下内容根据AI对话生成,如有雷同,纯属巧合1. 链式调用 (Chaining) 这是最基本也是最常见的模式。它指的是将多个 LLM 调用、数据处理步骤或工具调用按顺序连接起来,形成一个连贯的工作流。前一个步骤的输出是后一个步骤的输入。要解决的问题:单一 LLM 调用无法完成复杂任务…...

vue3 与 element-plus

Vue,Vite>> 安装 vue/cli 脚手架最新牍的cli脚本架为 5.0.9 版本, 在高版本的 Node 中安装脚手架时,会提示 版本不匹配; 主要适配 8~22版本的Node, 另外 Vue Cli 已进入维护模式,官方推荐新项目使用 vite 构建工具>> 切换到 22.18.0 版本重新安装 Vue/cli 不会出…...

可爱的二维数据结构们

前置知识 相信大家都学过了:树套树、二维树状数组; 四分树; K-D Tree;正文 给你一个 \(n\times n\) 二维平面,支持单点修改,矩形查询。这是我们树套树、二维树状数组能解决的,时间复杂度 \(\mathcal{O}(n\log^2n)\)。 那如果我们需要支持区间修改呢?此时不太能树套树,…...

网络安全相关职业

1、安全分析师是构建跨组织安全措施、保护公司免受攻击的关键人物。他们负责探索和评估公司网络,以发现可操作的数据和建议,供工程师制定预防措施。该职位需要与各利益相关方合作,以了解安全需求和安全形势。 2、安全工程师利用威胁和漏洞数据(通常来自安全团队)开发和实施…...

202005_CTFHUB_Redis流量

Redis流量分析Tags:流量分析,REDIS 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202005_CTFHUB_Redis.zip 0x01. WP 1. 用Wireshark打开流量包,过滤关键字flag 找到后半部分的flag及前半部分的参数名,过滤…...

langchain学习之路

以下内容是根据与AI对话完成的学习规划,如果有雷同,纯属巧合纯AI生成,阶段一:筑基入门 (1-2周) 这个阶段的目标是理解 LangChain 解决的核心问题、基本概念和核心组件。 学习目标:理解 LLM 应用开发中的常见模式(如链式调用、代理)。 熟悉 LangChain 的核心模块(Models…...

通义灵码产品演示: 数据库设计与数据分析

作者:了哥 演示主题:AI 进行数据库设计以及做数据分析 演示目的 演示通义灵码对于数据库的设计能力以及数据分析能力。 演示准备准备数据库,这里为了简单实用 sqlite3brew install sqlite3使用 vscode,同时安装好通义灵码的插件安装 uvxpip install uvx这里需要注意 python…...

win10安装mysql,MySQL5.7详细教程

还在为Windows10安装MySQL折腾得焦头烂额?作为全球最受欢迎的开源数据库,MySQL在开发环境搭建中必不可少。本文将手把手带你完成从下载到配置的全过程,避开安装过程中的各种"坑"。 下载MySQL安装包 首先访问MySQL官网下载专区,选择社区版(Community)的5.7.22版本…...

第二周作业

问题一 1.1 changeStr:尝试将x赋值为“xyz” changeArr:遍历string数组,把数组的每个元素都接上他们的索引 1.2 main方法里的x没有被改变,因为x的类型是string,非可变对象 1.3 改变了 因为这里对数组进行更改 是可变的 可影响原数组 1.4 来自于命令行参数 如果是命令行就在…...

ubuntu 24编译安装libssl.so.1.0.0

环境: Os:ubuntu 24.04在使用xtrabackup 8.0(percona-xtrabackup-8.0.35-31-Linux-x86_64.glibc2.17.tar.gz)备份数据库的时候报错误 /opt/xtrabackup-8.0.35-31/bin/xtrabackup --defaults-file=/home/middle/mysql8/conf/my.cnf --user=root --password=mysql -P13306 --sock…...

9月8-13日小记 - L

本周主要学习内容:背包DP以及其他DP杂题。 9月8日 大地彩绘,爽读《1984》。 9月9日 1. P8742 [蓝桥杯 2021 省 AB] 砝码称重 (1) bitset法 开一个bitset b,其中b[j]表示重量j能否称到。 边界显然是b[0]=1。 对于每一个w[i],b的每一位都应左移w[i]位,表示某一位所代表的砝码…...

Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片

Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片 1. 什么是显著性检测? 显著性检测的目的是识别图像中最吸引人注意的区域(显著性区域)。对于你的任务,就是将普通图片转换为突出主要对象的显著性图。 输入:普通图片 → 输出:显著性热力图(黑白或彩色) 2. BASNe…...

代码随想录算法训练营第一天| 704.二分查找、27.移除元素、977.有序数组的平方

704.二分查找 题目链接:https://leetcode.cn/problems/binary-search/ 解题思路:定义一个中间索引middle,如果nums[middle]>target,则更新左区间的右边界,如果target>nums[middle],则更新右区间的左边界 注意点!!!始终按照[left,right]左闭右闭的区间定义 代码实现…...

让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动

在云原生与 AI 原生架构加速演进的今天,系统复杂性已远超传统边界。运维与可观测不再只是“看日志、查指标、盯告警”,AI 大模型为 Operation Intelligence 实践指明了新方向。在云原生与 AI 原生架构加速演进的今天,系统复杂性已远超传统边界。运维与可观测不再只是“看日志…...

kuka机器人程序备份

注意: 开始以下步骤前,请确保已经切换到专家模式下,否则将无法识别到 U 盘。 1、将 U 盘插入到机器人控制柜上,在示教器上确认是否识别到 U 盘 。 2、按下示教器的主菜单键,在弹出菜单中依次选择 文件 ‣ 存档 ‣ USB控制柜 ‣ 所有 ,并在弹窗的对话框中单击“ 是 ”。3、…...

AI 测试工具20款

1. Testsigma(https://mp.weixin.qq.com/s/N12p8VFntuojytnuWDKcew) 2. Selenium 3. Testcraft 4. Appvance (https://mp.weixin.qq.com/s/oySDKDCv_k1MEoQlQGBrDw) 5. Worksoft 认证 6. Opentext UFT One 7.Telerik Test Studio 8. Sauce Labs 9. TestComplete 10. Katalon …...

VMware安装NOI linux系统教程

一、 VMware虚拟机和NOI linux系统的下载 VMware虚拟机的下载链接 NOI linux2.0系统的下载链接 下载好后硬盘里长这样 二、 VMware虚拟机的安装...

强制横屏 ios

在AppDelegate.h里面添加 @property(nonatomic,assign)NSInteger allowRotation;在AppDelegate.m文件里面添加- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { if (_allowRotation == 1) { r…...

张量链式法则(下篇):揭秘Transpose、Summation等复杂算子反向传播,彻底掌握深度学习求导精髓!

本文紧接系列的上篇,介绍了 transpose,summation,broadcast_to 等更为复杂的深度学习算子的反向传播公式推导。本文首发于本人的微信公众号,链接:https://mp.weixin.qq.com/s/eEDo6WF0oJtRvLYTeUYxYg 摘要 本文紧接系列的上篇,介绍了 transpose,summation,broadcast_to…...