自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 LLM ,MCP协议,AA协议,RAG,智能体(AI Agent) 图解详细讲解

无加密格式是:ldap://dc1.songxwn.local:389。访问 https://vcsa-s1.songxwn.local/ui/ 后,可输入SSO步骤的账号:administrator@vsphere.local 密码进行登录。vSAN 聚合主机本地磁盘为共享存储池 对象存储架构,支持 NVMe/TCP、RoCE 替代 SAN/NAS,支撑 HA/DRS/vMotion。进入VCSA后台,示例: https://vcsa-s1.songxwn.local:5480 ,使用root账号登录。

2026-03-12 20:17:30 159

原创 如何用labelimg标注yolo数据集,并利用工具自动划分数据集

刷新页面,左侧菜单栏已经出现了"文章管理"项,完整的增删改查、搜索、导出功能全都就绪。没有复杂的配置文件要填,没有繁琐的依赖要装,甚至连数据库迁移都是自动完成的。我不需要学习新的插件开发规范,只需要按照 Laravel Package 的标准写代码,然后通过 Composer 安装即可。安装完成后,刷新页面,左侧菜单栏自动出现了对应的菜单项,数据表也自动创建好了。字典管理:对于一些固定的枚举值(比如"订单状态:待支付、已支付、已取消"),可以在字典里统一管理,然后在代码里引用。第一步:创建数据表。

2026-03-12 20:14:08 214

原创 后端大模型流式输出被springcloud gateway“阻塞“的解决办法

upper_red[0] = self.get_parameter('red_h_upper').get_parameter_value().integer_value # 读取阈值上限的参数值。upper_red[0] = self.get_parameter('red_h_upper').get_parameter_value().integer_value # 读取阈值上限的参数值。这在参数的高级编程中,我们都可能会用到。就像真实的字典一样,由名称和数值组成,也叫做键和值,合成键值。

2026-03-12 20:10:18 169

原创 LangChain 表达式语言 (LCEL):从序列链接到并行执行

从标准角度看,传统 JPEG(ISO/IEC 10918)确实定义了无损模式和 12 位编码方式,但这些模式在实际软件生态中的实现和使用都非常少见。因此在工程实践中,一旦涉及 无损压缩或 12 位图像,通常会直接考虑 JPEG-LS 或 JPEG2000 等后续标准。实际上,它们属于 JPEG 组织发布的不同压缩体系,底层算法思想差异很大。JPEG-LS 是 JPEG 组织后来推出的一个全新标准。传统 JPEG 是最早也是最广泛使用的 JPEG 标准。我们日常说的“JPEG图片”,基本指的就是它。

2026-03-12 20:06:29 199

原创 Mac上安装Harbor并配置

下面是 demo 的部分代码,代码框架来源于 NCCL 源码目录:docs/examples/01_communicators/03_one_device_per_process_mpi/one_device_per_process_mpi,并做了一些改动。MPI 根进程将 Unique Id 通过 MPI_Bcast 传递给所有 MPI 进程,里面包含了 MPI 根进程的 magic,IP,port 信息,用作其它 MPI 进程加群的唯一票据。// 为每个MPI进程分配一个全局 mpi_rank id。

2026-03-12 20:02:33 155

原创 【光照】[PBR][几何遮蔽]实现方法对比

但当需求延伸到视频领域,挑战却陡然升级:现有工具要么无法精准控制对焦平面与虚化强度,要么直接套用图片虚化算法,导致视频出现明显的帧间闪烁、边缘过渡生硬等问题,难以满足高质量创作需求。无论是动态人物、快速移动的物体,还是纹理复杂的场景,都能实现 “虚化自然、细节清晰” 的平衡。诚邀大家前往 GitHub 体验试用,若觉得工具实用、技术有参考价值,欢迎给我们点亮Star,也期待相关领域的科研同行引用我们的工作(论文引用格式可在 GitHub 查看)~ 你们的支持是我们持续优化技术的最大动力!

2026-03-11 15:02:30 149

原创 Linux开机启动脚本(cron 的 @reboot 特性)

使用 UseProcess(workflow) 时,内部调用 BuildInMemory(),并按 ProcessId:Version 将 ProcessEntity 缓存到内存中,不产生数据库写入,适合单元测试、Demo、嵌入式场景;Workflow 代码定义流程结构,支持 Start、Task、ServiceTask、RagService、LlmService、Agent、Parallels、Branch、End 等。流程:开始 → 校验订单 → 计算金额 → 通知结果 → 结束。

2026-03-11 14:56:06 320

原创 JavaScript 中的安全编码: 个关键实践

包含 “日期、集合、字符串、IO、缓存、并发、Excel、Emoji、Response、Pipeline、Http、Json、JsonRpc、Encrypt、Auth、ID、Serializer、验证码、限流器、BloomFilter...” 等数十个模块。Cache模块 一个高性能的 Java 缓存工具,支持多种缓存类型(FIFO、LFU、LRU等)、锁分桶优化、缓存过期策略(写后过期、访问后过期...)、缓存定时清理、缓存加载器、缓存监听器、缓存信息统计...等功能。

2026-03-11 11:33:38 324

原创 【URP】Unity中的[摩尔纹]问题解决方案

ReAct(Reasoning and Acting)是 AgentScope 的核心模式,它让智能体能够在推理和行动之间循环,直到完成任务或达到最大迭代次数。MCP 协议支持:框架原生支持 Model Context Protocol,这意味着可以轻松集成外部 MCP 服务提供的工具,无需编写额外的集成代码。StateModule 接口提供了统一的状态管理能力,任何实现了该接口的组件都可以被序列化和持久化。框架定义了多个 Hook 事件类型,覆盖了智能体执行的各个阶段,这让监控、日志、调试变得非常方便。

2026-03-11 11:28:31 311

原创 深入理解Java内存模型:从诡异Bug到优雅解决

今天的主角 Dice 系数(Dice Coefficient) 及其衍生出的 Dice Loss,就是为了解决这个问题而生的。它不关心背景有多大,它只关心:你画的圈,和标准答案的圈,重合度到底有多高?假设老师给了一张画着线条的黑白线稿(原始图片),要求你把其中的“猫”涂红(这是你的预测 Prediction)。简单说,当模型预测非常离谱(完全没有交集)时,Dice 的梯度可能非常小或非常剧烈,导致训练初期模型很难收敛。如果模型预测全是黑(0),标签也全是黑(0),分母就会变成 0,导致程序崩溃(NaN)。

2026-03-11 11:23:47 263

原创 将 EasySQLite 解决方案文件格式从 .sln 升级为更简洁的 .slnx

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-10 13:16:37 156

原创 RFSOC学习记录(六)混频模式分析

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-10 13:11:23 175

原创 为你的网站定制一套统一的异常处理机制

就负瓜馁然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-10 13:06:09 373

原创 老赵谈IL():IL可以看到的东西,其实大都也可以用C#来发现

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-09 13:11:32 223

原创 NHibernate自定义集合类型(下):自动维护双向关系

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-09 13:06:31 297

原创 好铁不打钉,好程序员不去外包公司

瀑曰儋郝然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-09 13:01:28 297

原创 想成为优秀的技术人员你必须做到的几件事情

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-08 11:15:40 339

原创 出身在二三线城市软件工作者的悲哀

匠仲习滦然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-08 11:10:11 318

原创 HTML版D实验室系列【二】----摄像机、投影、D旋转以及缩放(演示很多,请自备瓜子眼药水··)

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-07 12:57:19 159

原创 详解 ASP.NET异步

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-07 12:51:36 289

原创 Javascript执行效率小结

缆链照酒然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-07 12:45:59 331

原创 让姑姑不再划拳 码农也要有原则 : SOLID via C#

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-06 12:55:14 195

原创 如何实现在Windows上运行Linux程序,附示例代码

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-06 12:50:20 213

原创 记录一次线上服务OOM排查

约繁擦崭然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-06 12:44:55 334

原创 Hello World背后藏着什么秘密?一行代码看懂Java的“跨平台”魔法

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-05 12:12:53 178

原创 我最喜欢的 C# 新特性

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-05 12:07:25 179

原创 Linux 内核启动过程中的日志输出阶段分析

俨乘分飞然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-05 12:00:33 316

原创 记一次 .NET 某自动化智能制造软件 卡死分析

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-04 12:07:59 166

原创 DeepSeek采用的UEM FP 为什么引爆了A股的芯片板块

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-04 12:02:34 291

原创 打破场景边界,支付宝联合实况窗提供全新出行服务体验

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-03 21:54:58 223

原创 一款带有AI功能的markdown工具

倨霞秦壮然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-03 21:45:06 346

原创 Ks 必备:kubectl patch 命令详解

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2026-03-02 12:50:29 322

原创 从亿到亿:NuGet周下载量跃迁背后的.NET生态演进与未来挑战(-)

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-02 12:45:11 363

原创 .Android Compose 基础系列:在 Kotlin 中创建和使用变量

destPath: 'xxxx/a.zip' // destPath是接收文件的自定义路径,完整的沙箱路径是fileStoragePath+destPath,详情请参见应用沙箱目录。srcPath: '/data/xxxx/a.zip', // srcPath是需要发送文件的沙箱路径,详情请参见应用沙箱目录。needShowSystemUI: false // 是否展示系统UI,true为展示,false为不展示,默认为false。若当前设备为接收端,请设置为true,否则请设置为false。

2026-03-01 11:08:33 300

原创 阅读《构建之法》提出的个问题

短吮姥诖然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-03-01 11:02:23 566

原创 ORACLE检查并创建表空间和表分区

这篇论文语义Id的生成也是用的tiger论文提出的RQVAE方法,只不过这里是将语义Id用于排序阶段,将语义Id作为增强特征与其他特征进行拼接后,送入传统的排序模型。然而,这种“死记硬背”的方式也带来了明显的弊端:模型对新出现的、缺乏交互的长尾物品束手无策,因为这些随机ID本身不携带任何语义信息,无法帮助模型进行泛化推理。原理: 借鉴NLP中广泛应用的SentencePiece模型,该方法不再使用固定的N,而是根据ID组合在训练数据中出现的频率,动态地、自适应地学习最优的子词切分方案。

2026-02-28 19:19:06 481

原创 非专业程序员Ping

肮肮圃松然后只需要提供一个已经初始化为 0 的字节数组作为内存、一个指向数组的指针、以及用于输入输出的两个字节流就能够让程序运行了。比如 Hello World!程序就可以写成:CopyC# 类型系统入门#既然要用 C# 类型系统来构建 Brainfuck 的编译器,我们需要首先对 C# 类型系统有一些认知。泛型系统#C# 的类型系统构建在 .NET 的类型系统之上,而众所周知 .NET 是一个有具现化泛型的类型系统的平台,意味着泛型参数不仅不会被擦除,还会根据泛型参数来分发甚至特化代码。

2026-02-28 19:15:50 476

原创 Spring(循环依赖,spring与springboot的区别)

而由于原型模式(property)的Bean或Session模型下的Bean,创建和初始化会发生多次,并且是在Spring容器运行期间动态的发生变化,因此提前暴露半成品的Bean并不能解决循环依赖的问题,因为在后续的创建过程中,可能会涉及到多个不同的原型Bean,这就无法像单例Bean那样缓存并复用半成品对象。从本质上来说Spring解决循环依赖的方式是通过提前暴露未初始化完成的Bean来解决循环依赖的,这个尚未初始化完成的Bean是个半成品的Bean,就是未了解决循环依赖才提前放到缓存中的。

2025-12-21 14:33:58 741

原创 .NET驾驭Word之力:基于规则自动生成及排版Word文档

通过定义规则模板,我们可以创建一个灵活的系统,能够适应不同类型的合同需求,而无需修改代码。dateRange.Text = $"签订日期:{signDate:yyyy年MM月dd日}\t\t\t\t签订日期:{signDate:yyyy年MM月dd日}\n";range.Text = $"甲方:{partyA}\n乙方:{partyB}\n签订日期:{signDate:yyyy年MM月dd日}\n\n";基于规则的合同条款生成是指通过定义一套规则和模板,系统可以根据输入的数据自动选择和生成相应的合同条款。

2025-12-21 14:33:09 553

原创 浅谈 AI 搜索前端打字机效果的实现方案演进

虽然我们不能准确定位,但是只要能够使当前打印到页面上的字符比上一次的字符多,就可以满足诉求了。之前版本在每次接收到服务端下发的markdown文本时,都会做一次转换成html的操作,如果多次响应之间的间隔时间很短,则会出现略微卡顿的现象,因此这里转换为html时再增加一个防抖功能,可以很有效的避免卡顿。要实现打字正文中穿插卡片的效果,首先需要定义好返回的数据结构,它需要具备可扩展,方便解析,兼容markdown等特性,所以使用html标签是一种比较合适的方式,例如要展示一个应用卡片,可以下发如下所示数据。

2025-12-17 19:11:11 846

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除