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

在Linux服务器环境下如何用pywpsrpc实现WPS Office自动化处理

在Linux服务器环境下如何用pywpsrpc实现WPS Office自动化处理【免费下载链接】pywpsrpc项目地址: https://gitcode.com/gh_mirrors/py/pywpsrpc面对Linux服务器上批量处理Office文档的挑战你是否还在为缺乏原生Office自动化支持而烦恼pywpsrpc作为WPS Office for Linux的Python绑定库为开发者提供了完整的二次开发接口让你能够通过Python代码直接操控WPS文字、表格和演示文档实现文档格式转换、内容编辑、批量处理等自动化操作。这个开源工具基于MIT协议为Linux环境下的Office文档处理提供了强大而灵活的解决方案。痛点场景Linux环境下的Office自动化困境挑战在Linux服务器环境中传统的Office自动化方案往往面临兼容性差、功能受限、稳定性不足等问题。企业级应用需要批量处理文档格式转换、数据提取、报表生成等任务但缺乏可靠的原生Office支持。突破pywpsrpc通过RPC远程过程调用机制将WPS Office的强大功能封装为Python可调用的接口实现了与Windows环境下VBA类似的操作体验。成果开发者现在可以用Python代码直接控制WPS Office完成文档创建、编辑、格式转换、数据提取等复杂操作无需人工干预大幅提升工作效率。工具定位Linux环境下的Office自动化桥梁pywpsrpc不是简单的文档处理库而是连接Python与WPS Office的桥梁。它基于WPS官方提供的C SDK通过SIP工具生成Python绑定实现了对WPS文字rpcwpsapi、WPS表格rpcetapi和WPS演示rpcwppapi三大组件的完整支持。与传统的文档处理库相比pywpsrpc的核心优势在于原生支持直接调用WPS Office的底层接口功能完整且稳定跨平台一致在Linux环境下提供与Windows Office自动化相同的操作体验开源免费基于MIT协议无商业授权限制Python友好提供Pythonic的API设计降低学习成本核心能力从简单操作到复杂场景基础文档操作from pywpsrpc.rpcwpsapi import createWpsRpcInstance, wpsapi # 创建RPC实例并启动WPS hr, rpc createWpsRpcInstance() hr, app rpc.getWpsApplication() # 创建新文档并添加内容 hr, doc app.Documents.Add() selection app.Selection selection.InsertAfter(自动化生成的文档内容) selection.Font.Bold True selection.Font.Size 14 # 保存文档 doc.SaveAs2(/path/to/document.docx) app.Quit()批量格式转换pywpsrpc支持多种文档格式转换包括DOCX转PDF、XLSX转CSV等常见需求。查看官方示例examples/rpcwpsapi/convertto/convertto.py了解完整的转换实现。# 批量转换文档格式 formats { doc: wpsapi.wdFormatDocument, docx: wpsapi.wdFormatXMLDocument, pdf: wpsapi.wdFormatPDF, html: wpsapi.wdFormatHTML, } def batch_convert(input_files, output_format): for file_path in input_files: hr, doc app.Documents.Open(file_path) output_path file_path.replace(.docx, f.{output_format}) doc.SaveAs2(output_path, FileFormatformats[output_format]) doc.Close()数据提取与处理对于表格处理pywpsrpc提供了完整的Excel操作接口from pywpsrpc.rpcetapi import createEtRpcInstance, etapi hr, rpc createEtRpcInstance() hr, app rpc.getEtApplication() # 打开Excel文件并读取数据 hr, workbook app.Workbooks.Open(/path/to/data.xlsx) hr, worksheet workbook.Worksheets(1) # 第一个工作表 # 读取单元格数据 hr, cell_value worksheet.Cells(1, 1).get_Value() print(fA1单元格的值: {cell_value}) # 批量处理数据 for row in range(1, 100): for col in range(1, 10): hr, value worksheet.Cells(row, col).get_Value() # 数据处理逻辑...快速上手指南三步搭建开发环境环境准备确保系统满足以下要求Python 3.6WPS Office for Linux 11.1.0.9080桌面环境WPS运行需要Qt5C SDK依赖安装方法# 通过PyPI安装推荐 pip install pywpsrpc # 或从源码编译安装 git clone https://gitcode.com/gh_mirrors/py/pywpsrpc cd pywpsrpc sip-build sip-wheel pip install pywpsrpc-*.whl验证安装创建简单的测试脚本验证安装是否成功from pywpsrpc.rpcwpsapi import createWpsRpcInstance try: hr, rpc createWpsRpcInstance() if hr 0: print(✅ pywpsrpc安装成功RPC实例创建正常) hr, app rpc.getWpsApplication() if hr 0: print(✅ WPS应用程序启动成功) app.Quit() else: print(❌ RPC实例创建失败请检查WPS安装) except Exception as e: print(f❌ 安装验证失败: {e})实战应用案例解决真实业务需求案例一自动化报表系统场景电商公司需要每天从数据库导出销售数据生成格式化的Excel报表并自动发送给相关部门。解决方案import pandas as pd from datetime import datetime from pywpsrpc.rpcetapi import createEtRpcInstance, etapi def generate_sales_report(data, output_path): 生成销售报表 hr, rpc createEtRpcInstance() hr, app rpc.getEtApplication() # 创建新工作簿 hr, workbook app.Workbooks.Add() hr, worksheet workbook.Worksheets(1) # 设置表头 headers [日期, 产品, 销量, 销售额, 利润率] for col, header in enumerate(headers, 1): hr, cell worksheet.Cells(1, col) cell.Value header cell.Font.Bold True # 填充数据 for row, record in enumerate(data, 2): worksheet.Cells(row, 1).Value record[date] worksheet.Cells(row, 2).Value record[product] worksheet.Cells(row, 3).Value record[quantity] worksheet.Cells(row, 4).Value record[revenue] worksheet.Cells(row, 5).Value record[profit_margin] # 应用格式 hr, used_range worksheet.UsedRange used_range.Borders.LineStyle etapi.XlLineStyle.xlContinuous # 保存并关闭 workbook.SaveAs(output_path) app.Quit() return output_path案例二文档批量处理流水线场景出版社需要将数百个DOCX文档批量转换为PDF并添加统一的页眉页脚。解决方案import os from concurrent.futures import ThreadPoolExecutor from pywpsrpc.rpcwpsapi import createWpsRpcInstance, wpsapi def process_document(input_path, output_dir): 处理单个文档 hr, rpc createWpsRpcInstance() hr, app rpc.getWpsApplication() try: # 打开文档 hr, doc app.Documents.Open(input_path) # 添加页眉 hr, sections doc.Sections for i in range(1, sections.Count 1): hr, section sections.Item(i) hr, header section.Headers(wpsapi.wdHeaderFooterPrimary) header.Range.Text 机密文档 - 请勿外传\n # 转换格式 filename os.path.basename(input_path) pdf_path os.path.join(output_dir, filename.replace(.docx, .pdf)) doc.SaveAs2(pdf_path, FileFormatwpsapi.wdFormatPDF) doc.Close(False) # 不保存修改 return pdf_path finally: app.Quit() def batch_process_documents(input_dir, output_dir, max_workers4): 批量处理文档 os.makedirs(output_dir, exist_okTrue) doc_files [f for f in os.listdir(input_dir) if f.endswith(.docx)] with ThreadPoolExecutor(max_workersmax_workers) as executor: futures [] for doc_file in doc_files: input_path os.path.join(input_dir, doc_file) future executor.submit(process_document, input_path, output_dir) futures.append(future) results [f.result() for f in futures] print(f处理完成: {len(results)}个文档)案例三演示文稿自动化生成场景培训机构需要根据课程数据自动生成教学演示文稿。解决方案from pywpsrpc.rpcwppapi import createWppRpcInstance, wppapi def create_course_presentation(course_data, template_path, output_path): 创建课程演示文稿 hr, rpc createWppRpcInstance() hr, app rpc.getWppApplication() # 基于模板创建演示文稿 hr, presentation app.Presentations.Open(template_path) # 添加幻灯片并填充内容 for i, module in enumerate(course_data[modules], 1): hr, slide presentation.Slides.Add(i, wppapi.ppLayoutText) # 设置标题 hr, title_shape slide.Shapes.Title if title_shape.HasTextFrame: hr, text_frame title_shape.TextFrame text_frame.TextRange.Text module[title] # 设置内容 hr, content_shape slide.Shapes.Placeholders(2) if content_shape.HasTextFrame: hr, text_frame content_shape.TextFrame text_frame.TextRange.Text \n.join(module[points]) # 保存演示文稿 presentation.SaveAs(output_path) app.Quit()进阶技巧性能优化与最佳实践1. 连接池管理对于高频调用的场景建议使用连接池管理WPS实例from queue import Queue import threading class WpsConnectionPool: def __init__(self, max_connections5): self.max_connections max_connections self._pool Queue(max_connections) self._lock threading.Lock() def get_connection(self): 获取WPS连接 if not self._pool.empty(): return self._pool.get() with self._lock: if self._pool.qsize() self.max_connections: hr, rpc createWpsRpcInstance() if hr 0: hr, app rpc.getWpsApplication() return (rpc, app) # 等待可用连接 return self._pool.get() def release_connection(self, connection): 释放连接回池 self._pool.put(connection)2. 错误处理与重试机制import time from pywpsrpc.common import S_OK def safe_wps_call(func, max_retries3, delay1): 安全的WPS调用包装器 for attempt in range(max_retries): try: hr, result func() if hr S_OK: return result elif attempt max_retries - 1: print(f调用失败{delay}秒后重试...) time.sleep(delay) except Exception as e: if attempt max_retries - 1: print(f异常发生{delay}秒后重试: {e}) time.sleep(delay) else: raise raise Exception(f函数调用失败重试{max_retries}次后仍不成功)3. 内存管理与资源清理import contextlib contextlib.contextmanager def wps_session(): 上下文管理器确保资源正确释放 hr, rpc createWpsRpcInstance() if hr ! 0: raise RuntimeError(无法创建RPC实例) hr, app rpc.getWpsApplication() if hr ! 0: raise RuntimeError(无法启动WPS应用程序) try: yield (rpc, app) finally: # 确保清理所有打开的文件 try: app.Quit() except: pass生态整合与其他工具协同工作与Pandas集成处理数据import pandas as pd from pywpsrpc.rpcetapi import createEtRpcInstance, etapi def excel_to_dataframe(file_path, sheet_nameNone): 将Excel文件读取为Pandas DataFrame hr, rpc createEtRpcInstance() hr, app rpc.getEtApplication() try: hr, workbook app.Workbooks.Open(file_path) if sheet_name: hr, worksheet workbook.Worksheets(sheet_name) else: hr, worksheet workbook.Worksheets(1) # 获取使用范围 hr, used_range worksheet.UsedRange hr, rows used_range.Rows.Count hr, cols used_range.Columns.Count # 读取数据到列表 data [] for row in range(1, rows 1): row_data [] for col in range(1, cols 1): hr, cell worksheet.Cells(row, col) hr, value cell.get_Value() row_data.append(value) data.append(row_data) # 转换为DataFrame df pd.DataFrame(data[1:], columnsdata[0] if data else None) return df finally: app.Quit() # 使用示例 df excel_to_dataframe(sales_data.xlsx, Sheet1) print(df.head())与Web框架结合创建文档服务from flask import Flask, request, send_file import tempfile import os from pywpsrpc.rpcwpsapi import createWpsRpcInstance, wpsapi app Flask(__name__) app.route(/generate-report, methods[POST]) def generate_report(): REST API接口生成文档报告 data request.json # 创建临时文件 with tempfile.NamedTemporaryFile(suffix.docx, deleteFalse) as tmp: temp_path tmp.name try: # 使用pywpsrpc生成文档 hr, rpc createWpsRpcInstance() hr, wps_app rpc.getWpsApplication() hr, doc wps_app.Documents.Add() selection wps_app.Selection # 添加内容 selection.InsertAfter(f报告标题: {data[title]}\n\n) selection.Font.Size 16 selection.Font.Bold True selection.InsertAfter(报告内容:\n) for item in data[content]: selection.InsertAfter(f• {item}\n) # 保存文档 doc.SaveAs2(temp_path) doc.Close() wps_app.Quit() # 返回文件 return send_file(temp_path, as_attachmentTrue, download_namereport.docx) finally: # 清理临时文件 if os.path.exists(temp_path): os.unlink(temp_path)未来展望持续演进的学习资源学习路径建议入门阶段从官方示例开始掌握基本的文档操作参考examples/rpcwpsapi/convertto/convertto.py学习基础API调用和错误处理进阶阶段深入理解WPS对象模型研究测试用例tests/test_rpcwpsapi.py掌握复杂操作如表格处理、图表生成专家阶段构建生产级应用设计连接池和错误恢复机制集成到现有业务系统中项目发展方向pywpsrpc作为WPS Office的Python接口未来可能在以下方向继续发展性能优化支持异步操作和批量处理功能扩展覆盖更多WPS高级功能生态完善提供更多示例和工具链支持云集成支持与云存储和协作平台对接获取帮助与贡献查看项目文档了解详细API参考测试代码学习最佳实践参与社区讨论解决技术问题提交Issue和PR共同完善项目结语开启Linux环境下的Office自动化新时代pywpsrpc为Linux环境下的Office文档处理提供了强大的自动化能力填补了开源生态中的重要空白。无论是简单的文档格式转换还是复杂的业务系统集成这个工具都能提供稳定可靠的解决方案。通过本文的介绍你已经了解了pywpsrpc的核心价值、使用方法和最佳实践。现在你可以开始探索如何将这个工具应用到你的实际工作中无论是构建文档处理流水线、开发报表生成系统还是实现复杂的业务自动化流程。记住自动化不是目的而是提升效率的手段。合理使用pywpsrpc让它成为你解决实际业务问题的得力助手而不是增加复杂性的负担。从简单的脚本开始逐步构建复杂的自动化系统你会发现Linux环境下的Office处理原来可以如此高效和灵活。【免费下载链接】pywpsrpc项目地址: https://gitcode.com/gh_mirrors/py/pywpsrpc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

在Linux服务器环境下如何用pywpsrpc实现WPS Office自动化处理

在Linux服务器环境下如何用pywpsrpc实现WPS Office自动化处理 【免费下载链接】pywpsrpc 项目地址: https://gitcode.com/gh_mirrors/py/pywpsrpc 面对Linux服务器上批量处理Office文档的挑战,你是否还在为缺乏原生Office自动化支持而烦恼?pywps…...

突破系统壁垒:zyfun跨平台视频播放器的技术创新与实践

突破系统壁垒:zyfun跨平台视频播放器的技术创新与实践 【免费下载链接】zyfun 跨平台桌面端视频资源播放器,免费高颜值. 项目地址: https://gitcode.com/gh_mirrors/zy/zyfun 在数字化娱乐时代,用户对视频播放体验的需求日益多元化,然…...

华硕笔记本游戏卡顿深度优化指南:开源工具G-Helper解决方案

华硕笔记本游戏卡顿深度优化指南:开源工具G-Helper解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项…...

【独家首发】农业农村部2024认证的3类作物病害数据集(含标注规范+Python增强脚本)

第一章:农业农村部2024认证病害数据集的工程价值与技术定位该数据集由农业农村部种植业管理司联合全国农业技术推广服务中心于2024年正式发布,是首个通过国家级AI模型训练合规性认证的农业视觉数据集,覆盖水稻、小麦、玉米、马铃薯四大主粮作…...

AI改写神器:9个平台助你选题精准、内容原创

工具对比排名表格 工具名称 核心功能 突出优势 Aibiye 降AIGC率 适配高校规则,AI痕迹弱化 Aicheck 论文降重 速度快,保留专业术语 Askpaper 论文降重 逻辑完整性好 秘塔写作猫 智能降重 结合语法检查 DeepL 多语言降重 翻译改写灵活 知…...

集合和序列

集合:集合是一种无序,元素唯一的数据类型集合分为两种:可变集合(set):内部的元素无序,不能通过下标来访问,会自动去重不可变集合(forzenset):特点…...

如何突破系统壁垒?跨平台解决方案的全平台适配之道

如何突破系统壁垒?跨平台解决方案的全平台适配之道 【免费下载链接】zyfun 跨平台桌面端视频资源播放器,免费高颜值. 项目地址: https://gitcode.com/gh_mirrors/zy/zyfun 在数字化时代,跨平台开发已成为构建应用的核心需求,多系统兼容…...

5分钟完成Zotero国标GB/T 7714格式配置:终极免费解决方案

5分钟完成Zotero国标GB/T 7714格式配置:终极免费解决方案 【免费下载链接】Chinese-STD-GB-T-7714-related-csl GB/T 7714相关的csl以及Zotero使用技巧及教程。 项目地址: https://gitcode.com/gh_mirrors/chi/Chinese-STD-GB-T-7714-related-csl GB/T 7714-…...

麒麟v10搭建rsync

1.安装启动 yum install -y rsyncrsync --versionsystemctl enable rsyncdsystemctl restart rsyncd2.修改配置文件 cat > /etc/rsyncd.conf <<-EOF # 全局设置 uid root gid root use chroot no max connections 5 log file /var/log/rsyncd.log pid file /var…...

建设银行余额模拟器,工商农业交通邮政,AutoIt深度计算审核系统

下载地址&#xff1a;http://lanzou.com.cn/i618eac3f &#x1f4c1; output/yinhangshendujisuanxitongaiban/ ├── &#x1f4c4; README.md213 B ├── &#x1f4c4; pom.xml1.7 KB ├── &#x1f4c4; package.json714 B ├── &#x1f4c4; lib/Parser.jar683…...

半导体器件模拟避坑指南:Silvaco Atlas温度设置常见错误及解决方法

半导体器件模拟避坑指南&#xff1a;Silvaco Atlas温度设置常见错误及解决方法 在半导体器件仿真领域&#xff0c;温度参数的准确设置往往决定了模拟结果的可靠性。许多工程师在使用Silvaco Atlas进行温度梯度模拟时&#xff0c;常常因为几个关键设置细节的疏忽&#xff0c;导致…...

Face Analysis WebUI参数详解:68点3D关键点坐标系定义与实际业务映射关系说明

Face Analysis WebUI参数详解&#xff1a;68点3D关键点坐标系定义与实际业务映射关系说明 1. 引言&#xff1a;从“点”到“价值”的桥梁 当你上传一张照片&#xff0c;系统瞬间就能圈出人脸、标出眼睛鼻子、甚至告诉你这个人是男是女、头朝哪边看——这背后&#xff0c;是一…...

技术解析 iG-LIO | 基于增量体素地图与VSCE的激光-惯性里程计新范式

1. iG-LIO的核心创新&#xff1a;为什么它比传统LIO更高效&#xff1f; 当你第一次听说iG-LIO时&#xff0c;可能会被那些专业术语吓到——增量体素地图、VSCE、紧耦合框架...但别担心&#xff0c;我用一个实际场景帮你理解&#xff1a;想象你在玩VR游戏时突然卡顿&#xff0c;…...

中小企业如何用免费工具搭建基础网络安全应急响应体系(附工具清单)

中小企业零成本构建网络安全应急响应体系的实战指南 在数字化浪潮中&#xff0c;中小企业面临的网络威胁正以每年30%的速度递增&#xff0c;但超过60%的中小企业仍处于"裸奔"状态——既没有专业安全团队&#xff0c;也缺乏应急响应预算。事实上&#xff0c;通过合理组…...

华硕笔记本游戏卡顿根源排查与G-Helper性能优化全指南

华硕笔记本游戏卡顿根源排查与G-Helper性能优化全指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: https://…...

Docker 学习之路-从入门到放弃:2

Docker 一站式部署&#xff1a;想在 Docker 中一站式部署 数据库、缓存、中间件、运维工具&#xff0c;再运行 SpringCloud 后端 Vue 前端 项目&#xff0c;这个需求非常典型&#xff1a;用 Docker Compose&#xff08;Docker 官方的多容器管理工具&#xff09;一个配置文件 …...

Open-SWE:异步架构如何彻底改变AI编程助手的性能瓶颈

引言&#xff1a;AI编程助手的性能困境 最近在使用各种AI编程工具时&#xff0c;开发者们普遍遇到了相似的问题&#xff1a;当AI助手处理大型项目重构或复杂代码分析时&#xff0c;那个让人烦躁的"思考中…"提示符似乎永远不会消失。 传统同步执行模型让AI助手像一位…...

Z-Image-Turbo-辉夜巫女辅助DevC++教学:生成数据结构与算法动态演示图

Z-Image-Turbo-辉夜巫女辅助DevC教学&#xff1a;生成数据结构与算法动态演示图 1. 引言&#xff1a;当代码“活”起来&#xff0c;学习不再抽象 教数据结构与算法&#xff0c;最头疼的是什么&#xff1f;是学生盯着屏幕上那一行行冰冷的代码&#xff0c;脑子里却怎么也构建不…...

Excel精通之路:从基础操作到实战应用的全面指南

1. Excel技能的核心价值与应用场景 Excel作为办公场景中的瑞士军刀&#xff0c;其价值远不止于简单的数据记录。我在金融行业工作的第一年&#xff0c;曾用3小时手动整理季度报表&#xff0c;而隔壁工位的资深分析师用数据透视表10分钟就完成了相同工作——这个震撼瞬间让我意识…...

SJTUThesis:上海交通大学官方LaTeX论文模板完全指南

SJTUThesis&#xff1a;上海交通大学官方LaTeX论文模板完全指南 【免费下载链接】SJTUThesis 上海交通大学 LaTeX 论文模板 | Shanghai Jiao Tong University LaTeX Thesis Template 项目地址: https://gitcode.com/gh_mirrors/sj/SJTUThesis 你是否曾为论文格式调整耗费…...

ScottPlot高效集成实战指南:让桌面应用数据可视化更简单

ScottPlot高效集成实战指南&#xff1a;让桌面应用数据可视化更简单 【免费下载链接】ScottPlot ScottPlot: 是一个用于.NET的开源绘图库&#xff0c;它简单易用&#xff0c;可以快速创建各种图表和图形。 项目地址: https://gitcode.com/gh_mirrors/sc/ScottPlot 在当今…...

揭秘TinyExpr:轻量级嵌入式计算引擎的实战指南

揭秘TinyExpr&#xff1a;轻量级嵌入式计算引擎的实战指南 【免费下载链接】tinyexpr tiny recursive descent expression parser, compiler, and evaluation engine for math expressions 项目地址: https://gitcode.com/gh_mirrors/ti/tinyexpr 在嵌入式系统与资源受限…...

Video2X视频增强技术全解析:从像素修复到视觉革命

Video2X视频增强技术全解析&#xff1a;从像素修复到视觉革命 【免费下载链接】video2x A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR. Started in Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…...

Wan2.1-umt5快速开始:使用CSDN星图平台镜像一键启动

Wan2.1-umt5快速开始&#xff1a;使用CSDN星图平台镜像一键启动 想试试最新的Wan2.1-umt5模型&#xff0c;但被复杂的本地环境配置、依赖安装和算力要求劝退&#xff1f;别担心&#xff0c;今天分享一个几乎零门槛的启动方法。借助CSDN星图平台的预置镜像&#xff0c;整个过程…...

joern Output: List(Error: -cp requires class path specification)

在windows中安装使用joern时出现问题&#xff0c;测试报错&#xff1a;Output: List(Error: -cp requires class path specification)。 定位到c2cpg.bat文件&#xff08;感觉不同版本的不一样&#xff0c;我的在joern-cli中&#xff0c;但是是链接的frontends中bin底下的.bat&…...

1.5.1 AI->AI伦理与数据合规标准:AI伦理与数据合规标准

AI 伦理与数据合规标准是一套指导 AI 研发、应用、数据处理的原则、法规与技术规范&#xff0c;核心是确保 AI 安全、公平、透明、负责任&#xff0c;同时保护数据权利与隐私 核心 AI 伦理原则&#xff08;全球共识&#xff09;以人为本 / 增进人类福祉 技术服务于人类尊严、安…...

保姆级避坑指南:在Windows上用VS2019+CMake搞定OpenCV 4.4.0 + Contrib编译(含SIFT/SURF)

Windows平台OpenCV 4.4.0Contrib全流程编译实战&#xff1a;从环境配置到SIFT算法集成 在计算机视觉开发领域&#xff0c;OpenCV作为开源库的标杆&#xff0c;其源码编译一直是开发者必须掌握的技能。特别是在需要集成专利算法&#xff08;如SIFT/SURF&#xff09;或使用Contri…...

【技术干货】AI Agent记忆系统四层架构:让大模型实现长期记忆的工程实践

大语言模型从根本上是无状态的。发送一条消息产生一个回复&#xff0c;每次新对话都是一块白板。 这事因为模型本身就是一个巨型函数&#xff1a;输入进去&#xff0c;token 出来&#xff0c;模型权重中没有任何持久化存储能在会话之间保留对话历史。 简单聊天机器人不在乎这一…...

8.4.1 安全->SM商密(GM T 0002-2012 0003-2012):SM商密

中国自主可控的商用密码标准体系&#xff08;SM 商密&#xff09;&#xff0c;由国家密码管理局制定&#xff0c;覆盖对称 / 非对称 / 哈希 / 标识密码&#xff0c;是政务、金融、通信等关键领域的强制合规密码方案&#xff0c;核心对标并替代 RSA、AES、SHA-256 等国际算法 基…...

避坑指南:Cadence Allegro多逻辑器件设计中最容易忽略的5个细节(附箭头引脚处理技巧)

Cadence Allegro多逻辑器件设计避坑指南&#xff1a;5个关键细节与箭头引脚处理技巧 在复杂电路板设计中&#xff0c;多逻辑器件&#xff08;Multi-Part Components&#xff09;的使用能显著提升原理图的可读性和布局效率。然而&#xff0c;许多工程师在使用Cadence Allegro进行…...