尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
5G网络切片隔离性验证:从测试设计到pytest自动化落地
去年做5G行业专网交付的时候客户在验收会上问了我一个很要命的问题你说切片隔离那我车间里的视频监控流量和AGV控制流量在同一个基站下跑监控业务能不能把控制业务挤垮你拿什么证明它不会这个问题我到现在都记得——它背后藏着的其实是切片资源隔离性验证的整套方法论。走到实际交付环节你会发现隔离性从来不是非黑即白的事情可能是独占物理资源可能是靠调度算法软性保障也可能是混合形态。本文就是围绕5G网络切片资源隔离性验证讲讲我落地过的测试框架设计、注入干扰的打法、pytest工程化的思路以及那些只有踩过坑才会懂的经验。无论你是做5G专网验收、运营商切片的服务质量评估还是切片调度算法的研发自测这套方法都能直接用。1. 先想明白验证对象切片隔离性到底隔离了什么资源很多团队拿到验证隔离性这个任务第一反应就是拿两个切片互相灌流量然后看吞吐有没有下跌。这其实是把问题想简单了。我习惯在做任何测试设计之前先回答三个问题这个网络的切片隔离属于哪种技术形态端到端路径上有哪些资源点在共享验证的边界在哪里1.1 硬隔离、软隔离还是混合隔离验证思路完全不同网络切片的技术实现大体有三种形态验证方法必须跟着变不能一套模板走天下。硬隔离指的是资源彻底独占比如无线侧使用独立载波或独立小区传输侧用FlexE的时隙通道核心网部署专用UPF实例。这种形态理论上隔离性最强验证的目标主要是物理上不共享测试逻辑相对简单——证明切片A无论怎么跑满切片B的资源使用曲线完全无波动即可。软隔离则要求所有切片共享物理资源靠调度优先级、QoS队列来保证差异化。这种情况最考验验证设计因为你不能期望切片B一点波动都没有而是要证明在切片A满载甚至过载的情况下切片B的关键指标仍在业务契约允许范围内。混合隔离是最常见的行业专网形态比如无线侧资源池共享、传输侧硬管道隔离、核心网网元独占实例。这种形态下不能笼统地做隔离性验证必须分层设定验证目标和阈值传输层按硬隔离看无线层按软隔离看结论才有意义。提示动手写用例之前先去看组网方案里切片的承载方式。这是整个验证工作的第一块基石做错了后面全是返工。1.2 分层拆解无线、传输、核心网、管理面各有各的资源端到端网络切片涉及多个层面每个层面的资源类型和隔离手段完全不同我习惯用一张表把验证对象定住层面共享资源隔离手段关键观测指标无线接入网时频资源PRB、调度器、RRC连接数独立载波 / 差异化调度优先级 / PRB配额小区PRB利用率、MAC调度成功率、RRC接纳失败率、空口丢包率传输网带宽、队列缓存、FlexE通道FlexE硬切片 / 队列调度 / QoS标签映射端口吞吐、队列丢弃率、时延抖动核心网用户面UPF的CPU、内存、转发带宽、会话条目专用UPF实例 / 容器资源配额UPF吞吐量、CPU占用率、内存占用率、转发吞吐下降比例核心网控制面AMF/SMF的CPU、内存、信令处理能力专用网元 / 信令过载控制机制注册成功率、会话建立时延、信令消息积压队列深度管理面网管北向接口带宽、配置操作能力分权分域管理配置下发时延、北向接口查询成功率这里特别要提一下管理面。很多隔离性测试方案完全忽略管理面但我实际遇到过一个案子某个切片在做弹性扩容的自动化配置时误触了另一个切片的告警阈值的配置模板导致对方切片告警风暴。所以真正的资源隔离性验证应当把运营管理面也纳入范围至少要做配置隔离的验证用例。1.3 验证边界隔离性验证不等于整网性能测试还有个很容易犯的错——把隔离性验证和切片性能验证混在一起。切片A的时延是否满足URLLC契约那是切片自身的性能达标问题切片B的时延是否被切片A挤坏那才是隔离性问题。验证边界应该锁定在切片间的影响关系上。也就是说测试对象一定是被干扰切片受害者 干扰切片施害者的成对组合而不是某个切片的绝对性能。测试结论也要用相对偏差来表达而不是用绝对指标来评价。这个思路决定了整个用例设计的目标形态后面每一步都离不开它。2. 测试方法的一条主线基线、注入、监测、评估四个阶段隔离性验证的方法论我把它压缩成一条主线先建基线再做对抗要紧盯过程最后用偏差说话。这套思路从系统软件的资源隔离测试里借鉴过来放在5G切片场景下特别合适。2.1 基线阶段没有干净的参照物后面怎么判断都是耍流氓基线就是切片之间互不干扰时被保护切片的性能数据集合。操作上要分几步走。先让网络处于空载或轻载状态业务面只跑一条有代表性的端到端业务流然后持续采集10到15分钟数据覆盖时延、丢包、吞吐、资源占用等指标。基线不是采一次就完事我一般会重复三到五轮每轮间隔几分钟去掉明显异常的那一轮剩下的取P50、P90甚至P99分位数存成基线库。基线数据有两个用途一是作为隔离性判定时的对比参照物二是用来发现网络自身的波动幅度。比如一个无线侧切片在空载时P99时延本来就会上下抖10%那你在做隔离性判定时就应该把15%当成可接受的下限而不是拿着理论值硬套。2.2 注入阶段让干扰切片真正忙起来还要忙出梯度注入的核心思想就是给干扰切片制造工作负载让它的资源占用从低到高逐步爬升观察被保护切片随之产生的变化。具体执行时干扰强度要设计成阶梯状。比如目标带宽是1Gbps那就从200Mbps起步每档持续3到5分钟档位之间直接跳变而不是平滑升高这样更容易暴露出调度机制在负载突变时的异常反应。每一档都记录被保护切片的指标采样值形成一条干扰强度-被保护切片性能的关系曲线。这条曲线的形态本身就是一个重要结论。理想的隔离曲线应该是一条几乎水平的直线如果随着干扰强度升高被保护切片时延开始爬坡那就说明隔离机制在某个负载点上出现了劣化这个点就是需要向网络组网人员反馈的瓶颈位置。2.3 监测与恢复阶段干扰撤掉之后的表现同样说明问题监测不只在干扰进行时开干扰结束后还要继续观察恢复能力的验证才是圆形归档。我要求每轮干扰结束后继续保持监测5到10分钟。如果干扰撤除之后被保护切片的指标能快速回到基线范围说明隔离机制具备良好的弹性恢复能力如果指标长时间回不去或者出现反复振荡那很可能是资源池里出现了脏状态——比如说某些队列缓存没有清空某些调度器权重没有复原。这种隐性问题是持续性的杀伤力比干扰期间的瞬时劣化更大。2.4 一张完整用例表把四个阶段串起来这里给一个我在项目中实际使用的用例模板以eMBB切片满载对URLLC切片时延的隔离性验证为例用例要素具体设计前置条件两个切片均正常建立URLLC切片承载低速率控制类小包业务eMBB切片承载FTP大文件传输业务基线阶段URLLC切片单独运行10分钟采集端到端时延P50/P99作为基线注入阶段eMBB切片从200Mbps开始加载按200/400/600/800/1000Mbps五档各运行3分钟监测阶段全程以1秒粒度采集URLLC切片时延、丢包率以5秒粒度采集两个切片所在小区的PRB利用率恢复阶段eMBB切片负载归零后继续监测5分钟通过判据URLLC切片P99时延相对基线的偏差率不超过20%且恢复阶段P99回落至基线1.5倍以内这个用例设计我大概套用过几十次逻辑是通的只需要根据实际业务模型调整业务流特征和阈值。3. 干扰怎么打资源注入的手段与参数控制细节干扰注入是整个验证过程中技术含量最高、最容易翻车的部分。它不是开个灌流工具猛跑那么简单不同类型的资源瓶颈需要不同类型和量级的干扰源。3.1 用户面注入多流叠加比单条大流更接近真实压力用户面资源的抢占方式我推荐用多条中等速率UDP流叠加而不是一条超大速率流。原因是真实业务在5G空口中的资源占用是高度动态的一条超大流对调度器的压力模式比较单一而多流叠加更容易逼出调度算法在不同业务并发时的行为缺陷。具体参数上我常用的模板是64条UDP流每条流初始速率16Mbps逐级翻倍到每个等级报文大小固定为1400字节避免分片。同时要混合一部分TCP流因为TCP有拥塞控制会动态调整发送窗口能够在无线侧触发队列缓存的排队压力这是纯UDP流测不出来的场景。注意如果验证场景对时延敏感比如URLLCUDP流报文大小不要设置成1400字节的满尺寸建议用100字节左右的小包模拟控制类业务——你测的是时延隔离不是吞吐隔离负载模型必须贴合业务模型。3.2 信令面注入核心网切片隔离最容易在这里破功信令面隔离验证是我强烈建议任何切片测试方案都必须加入的部分。核心网的控制面网元AMF、SMF如果采用共享实例部署那么一个切片的海量终端同时发起注册、会话建立极有可能耗尽控制面网元的处理能力导致另一个切片的终端连注册都完不成。信令注入的操作方法是使用核心网仿真器或专用的终端模拟仪表批量模拟终端发起注册、PDU会话建立、切换等信令操作。要注意的是注入节奏不能一步到位我一般按 1000/3000/5000/8000 注册请求每秒四档往上抬每档维持5分钟边抬边盯另一个切片的注册成功率和会话建立时延。这里最大的坑在于信令注入环境隔离。一定不能用现网核心网直接对接大流量模拟器做这种测试必须在实验网或专用验证环境里进行。信令风暴的扩散速度比你想象的快得多一旦控制面过载现网终端会连锁大量重建造成实际业务中断。3.3 管理面与配置面干扰指标容易采集风险容易被低估管理面隔离相对好验证但也最容易被忽略。常见的做法是模拟网络运维人员的日常操作批量查询告警、批量修改切片参数模板、创建和删除切片实例等。在执行上用REST/NetConf脚本对网管北向接口发起并发请求观察这些操作是否会影响到另一个切片的管理通道响应以及配置变更是否会串到另一个切片上。这类用例的数量不用太多但必须有——尤其是如果你的网络切片涉及多个行业客户共用一张物理网络管理面的分权分域隔离就是客户合规审计的硬性要求。3.4 注入源选型仪表、模拟器、软探针怎么组合真实终端、基站模拟仪、流量发生器这三类注入源各有各的适用场景。真实终端的优点是业务特征真实缺点是数量有限、射频环境无法完全控制基站侧仿真仪表模拟完整UE群体适合大规模接入与切换场景是信令注入的标准工具但仪表资源昂贵一般只有核心网研发团队配得起软件流量发生器比如用高性能服务器跑DPDK发包则是性价比最高的用户面注入方案只要服务器网卡支持多队列64条流的并发对现代硬件来说毫无压力。个人建议的组合是用户面干扰用DPDK流量发生器信令面干扰用UE模拟仪表管理面干扰用Python脚本向北向接口发并发请求。三个层面各有归属测试框架也就不用反复切换工具链。4. 用pytest把隔离性验证工程化一套能自动执行的切片测试框架人工驱动的切片测试做一两次可以但等到切片数量多了比如5个切片就要做10组以上的施害者-受害者组合手工操作根本排不过来。这也是我最终选择用pytest搭建自动测试框架的原因。4.1 为什么是pytest而不是其他自动化框架切片隔离性验证的用例有一个典型特征同一个用例逻辑要重复跑在大量不同的切片组合和负载参数上。pytest的参数化机制天然适配这个需求——同一个测试函数通过参数列表生成几十个变体用例代码量极小覆盖组合极大。它的fixture机制也帮了大忙。连接网管北向接口、初始化流量发生器、恢复现场这些准备和清理工作是几乎所有用例都要重复的公共逻辑pytest可以在fixture里一次性封装好并精确控制作用域做到全会话只登录一次网管、每个用例结束自动清理环境。另外pytest的断言机制非常直接你需要什么结论就写什么断言比如断言时延偏差率低于20%失败时自动输出精确的差异信息不需要自己去拼报告字符串——这对输出测试结论很有价值。4.2 用例工程的目录设计与fixture规划推荐目录结构参考如下是我跑了几个项目之后逐步稳定下来的形态slice_iso_test/ ├── conftest.py # 公共fixture网管连接、仪表连接、环境清理 ├── config/ │ ├── slices.yaml # 切片拓扑与S-NSSAI配置 │ └── thresholds.yaml # 各指标隔离性判定阈值 ├── core/ │ ├── netconf_client.py # 北向接口封装 │ ├── traffic_client.py # 流量注入控制封装 │ └── metrics_store.py # 指标采集与存储封装 ├── testcases/ │ ├── test_plane_isolation.py # 用户面隔离用例 │ ├── test_signal_isolation.py # 信令面隔离用例 │ └── test_oam_isolation.py # 管理面隔离用例 └── reports/ └── output/ # 测试报告输出目录核心的fixture设计里最重要的是作用域。import pytest import yaml pytest.fixture(scopesession) def netconf_conn(): 整个测试会话只建立一次网管北向连接 conn NetconfClient(host10.20.30.40, userautotest, password******) conn.login() yield conn conn.logout() pytest.fixture def cleanup_after_test(): 每个用例结束后自动恢复网络现场——这是最容易偷懒但绝不能省的步骤 yield restore_network_baseline() print(网络状态已恢复至测试前基准)注意fixture里这个cleanup_after_test它是我吃过亏之后才加上的。有一次测试用例执行失败直接中断结果干扰流一直没停两个切片跑了半个多小时满载把基站的调度器状态都打乱了后面连续几条用例全部假失败。从那以后清理现场就成了每条用例强制执行的标配。4.3 核心用例代码一个用户面隔离性用例的落地写法直接给一段可参考的核心代码用的是概念化的抽象API真实的网管和仪表对接只需要替换各自的SDK实现即可import time import pytest from core.metrics_store import MetricsStore def test_user_plane_isolation(cleanup_after_test, netconf_conn): # 1. 读取配置受害者切片与施害者切片的S-NSSAI victim_slice_id sst1,sd100001 attacker_slice_id sst1,sd100002 # 2. 采集基线受害者切片在无干扰下的时延P99 baseline_p99 measure_slice_latency_p99(victim_slice_id, duration_sec120) # 3. 阶梯注入从低到高对施害者切片加压 rate_steps [200, 400, 600, 800, 1000] # 单位Mbps result_rows [] for rate in rate_steps: start_traffic(attacker_slice_id, rate_mbpsrate) time.sleep(5) # 等待负载稳定 victim_p99 measure_slice_latency_p99(victim_slice_id, duration_sec30) deviation (victim_p99 - baseline_p99) / baseline_p99 result_rows.append({ attacker_rate: rate, victim_p99_us: victim_p99, deviation_pct: round(deviation * 100, 2) }) # 4. 每档采集完成后立即落盘避免用例中断时数据丢失 MetricsStore().save_rows(user_plane_isolation, result_rows) stop_traffic(attacker_slice_id) # 5. 判定任何一档的P99偏差率都不得超过20% max_deviation max(row[deviation_pct] for row in result_rows) assert max_deviation 20.0, ( f隔离性判定失败: 最大偏差率 {max_deviation}% 超过阈值 20% )这段代码的要点在于先把基线测出来再逐档注入并采样每档结果立刻落盘防止中断丢数据最后用最大偏差率而不是平均偏差率做断言——因为隔离性验证强调的是最坏情况不越界平均偏差率好看但掩盖了瞬时劣化。4.4 并发、重试与超时自动化框架落地的三个细节自动化跑起来之后你很快会发现三个工程层面的问题跑得慢、偶发失败多、网管扛不住。跑得慢的解法是pytest-xdist并发。但不是所有用例都能随便并发——信令注入类用例和用户面注入类用例如果并发执行仪表资源会冲突。我的实践是按照资源域划分并发组不同资源域之间并行同一资源域内串行。偶发失败用pytest-rerunfailures解决。无线空口本身有波动偶发的丢包或时延尖峰不一定是隔离性问题所以我对失败的断言设置了一次重试机制只有两次都失败才判定为真失败。但是重试前必须确保现场已清理干净否则重试变成了带病测试。网管扛不住是最隐蔽的坑。某厂商北向接口对并发查询有速率限制一旦超过限制就返回HTTP 503。我给北向查询代码加了统一的重试与退避逻辑失败后等待3秒再试最多5次同时将并发度限制在不超过8个线程。这看起来是降低效率实际上保证了整轮测试的稳定性。5. 数据采集之后偏差率计算、分层判定与误判排除框架跑起来之后数据会像潮水一样涌来但真正考验功力的是把这些数据变成清晰的通过/不通过结论。我大约花了一周时间才把判定逻辑打磨到能稳定输出的程度。5.1 指标归一化不同量纲的指标统一换算成偏差率时延是以微秒计吞吐是以Mbps计CPU占用率是以百分比计直接放在一起毫无可比性。我的做法是统一折算成相对基线的偏差率偏差率 (受扰时指标值 - 基线指标值) / 基线指标值 * 100%这样做的好处是判定阈值可以跨指标统一设定。相同逻辑的指标归为一类并对应各自的采集粒度指标类型常用基线口径建议观测粒度采样聚合方式端到端时延P991秒每5秒聚合成一个统计窗口丢包率平均值1秒每60秒聚合吞吐量平均值5秒每60秒聚合资源占用率平均值网管采样周期每60秒聚合注册/会话成功率计数统计10秒每30秒聚合5.2 分层判定绿、黄、红三态输出判定逻辑我设计了三个档位这是结合了大量实测数据之后定下来的绿档通过偏差率小于等于阈值T说明隔离性符合预期黄档复核偏差率在T到2T之间说明存在轻度波动可能是隔离机制局限或空口正常波动需要人工复核红档不合格偏差率超过2T判定隔离性不达标直接进入问题定位流程。T的取值根据业务场景调整。对于时延敏感的URLLC切片我通常设T15%甚至10%对吞吐型eMBB切片T可以放到20%对管理面配置类操作则要求偏差率小于5%。5.3 误判排除先问三个是不是再做结论每次出现红档结论我不会直接抛出去而是先做一轮误判排查。经验上大部分红档最后都能在下面三个问题里找到答案第一问是不是无线环境本身的波动。空口信噪比、用户移动速度、多径衰落都会引起指标抖动。判断方法很简单看施害者切片和受害者切片是否在同一覆盖区域如果是把指标曲线和空口信号质量曲线对齐看排除信道因素。第二问是不是终端自身能力瓶颈。尤其是用真实终端做测试时终端CPU/基带处理能力有限在满带宽业务下终端自身先出现丢包这完全可能被误判成切片隔离问题。我踩过这个坑一套用终端侧软件统计丢包率的用例总是在大带宽档位报红换用仪表侧统计口径后问题立刻消失。第三问是不是采集口径不一致。网管做的统计来自计数器是15分钟平均你的探针测的是1秒瞬时仪表给自己算的又是另一个时间窗。三份数据对不上不代表出了问题可能是统计窗口错位了。这个问题必须要前置解决所有参与判定的指标统一时间窗口、统一聚合粒度、统一采集起点。5.4 报告怎么出不追求花哨但要能追溯自动化框架跑完一轮输出报告至少要包含三样东西拓扑信息哪些切片参与了测试、各自承载在哪类资源上、逐用例的原始数据表每档干扰强度对应每个观测指标的具体数值、以及最终的绿黄红判定结果。我对报告还有一个强制要求每条红档结论必须附带判定依据的数据片段——就是原始采样的时间序列曲线截图或数据表。因为一旦走向客户汇报评审他们一定会问你凭什么说隔离不合格你手上没有原始数据支撑结论就站不住脚。报告用pytest的allure插件或者自写的HTML模板都可以重点是数据链条完整可追溯。6. 真实项目复盘我踩过最深的几个坑希望你别再踩这个部分写我在切片隔离性验证项目中实际遇到过的几个印象深刻的坑每个坑背后都对应一条测试设计原则。6.1 只测用户面流量信令面一压就现形第一次做切片隔离性验证时我把主要精力都放在了用户面吞吐干扰上信令面的用例只象征性地放了两条。结果在专项验证的第二天测试组的同事用UE模拟器往eMBB切片灌了8000注册请求每秒的负载URLLC切片终端立刻出现了注册失败增多的现象会话建立P99时延从30毫秒飙升到180毫秒。核心网SMF是共享实例它的CPU被大量信令处理任务给吃了URLLC切片的信令请求排队等资源。后来我认死一条原则任何共享控制面资源的切片组网信令面隔离用例的优先级不低于用户面。而且信令用例要在用户面用例之前跑因为信令影响的是能不能接入的问题这是更底层的活路问题等用户面带负载时才暴露定位成本会高得多。6.2 真机终端灌流时终端瓶颈伪造了隔离劣化有一轮测试里我怀疑某个切片的隔离性不合格因为施害者切片跑到600Mbps档位之后受害者切片的丢包率突然从0.01%跳到了3%。查了半天最后发现是那台用作受害者业务端的真实终端它的Wi-Fi互通处理模块在高负载下自己开始丢包切片根本没有被影响。这事之后我对终端参与测试的所有场景都留了个心眼能不用终端尽量不用终端非要用真实终端也必须先在无干扰条件下验证终端自身的稳定承载能力。把终端的最大无丢包速率记录下来后面所有用例的监测值都不得越过这个终端能力红线。6.3 北向接口的指标口径让你以为是分秒级其实是刻钟级有段时间我拿网管北向接口实时查询的PRB利用率数据去做瞬时判定结果出现了一个诡异现象明明探针侧数据显示切片已经挤出问题了网管侧PRB利用率却纹丝不动。后来翻文档才知道网管的PRB统计计数器本来就是15分钟聚合一次接口查询返回的是上一个窗口的累计值。这个问题让我养成了一个习惯所有涉及网络关键性能指标的采集方案先做一轮指标口径登记把每个指标的来源、最小聚合粒度、采集延时全部列清楚统一换算成测试判定可用的时间粒度之后再进用例逻辑。6.4 别让自动化把自己测死并发不是越高越好自动化框架上线第一天我信心满满地把8条用例设置成完全并行执行结果20分钟后网管北向接口开始大量超时连基础查询都返回失败整轮自动化排队报错。原因简单粗暴网管的北向接口服务能力有限被8条用例的并发查询直接打爆了。调整方案也简单全局并发度限制在4条用例以内各自独立同时把网管查询统一经过一个带速率限制的代理客户端超过每秒30次查询就排队等待。这样跑一次全量回归的时间虽然多了将近一半但稳定性和可信度都大幅提升。自动化测试本身就是被测系统的负载源这一点你设计用例时必须始终记着。我个人在实际项目里最深的一条体会是切片隔离性验证不是一次性的交付动作而是跟网络演进同步的持续工作。每次核心网版本升级、传输网络调整、切片参数模板修改之后都应该回归一部分隔离性用例而有了这套pytest框架和四阶段方法打底回归成本已经降到了一个周末能跑完的水平。5G切片这门技术的价值核心就在于给不同的业务各开一条互不干扰的车道而验证框架就是给这条车道装了仪表盘和压力表——希望上面的方法和经验能帮你少走点弯路。
RELATED

相关推荐

Markdown编辑器从入门到进阶:选型、语法与工作流全攻略

Markdown编辑器从入门到进阶:选型、语法与工作流全攻略

刚拿到一个新的 .md 文件时,很多人第一反应是双击打开,然后看到满屏的 # 和 *,第一反应是:这文件是不是坏了?我当年也一样,项目文档发过来,我以为是文本乱码,差点把文件删了。后来才…

📅 2026/10/9 14:55:30
GitHub热榜解码:技术趋势识别与工程化落地指南

GitHub热榜解码:技术趋势识别与工程化落地指南

1. 项目概述:这不是一份榜单,而是一份开源世界的实时脉搏图“GitHub 热榜项目:周榜(2026-10-04)”——看到这个标题,很多人第一反应是点开链接、扫一眼排名、记下几个耳熟的仓库名,然后关掉页面…

📅 2026/10/9 14:55:30
GitHub日榜数据采集与验证:构建可复现的热榜观测体系

GitHub日榜数据采集与验证:构建可复现的热榜观测体系

1. 热榜不是排行榜,而是开发者的行为镜像“GitHub 日榜(2026-10-04)”这个标题乍看像一份静态榜单,但实际它是一扇实时窗口——透过它,你能看到全球开发者在这一天集体关注什么、正在解决什么真实问题、又在用什么新方…

📅 2026/10/9 14:55:30
MORE NEWS

更多资讯

📰

Claude Code Hook 系统详解与 Hello World 实操:用 TaoToken 统一 Key 跑通 settings.json 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

从养虾到养马:AI Agent 赛道正在经历一场“物种迁徙”,TaoToken 统一 Key 如何接住这波换血

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

小白程序员必看:轻松入门LangChain大模型框架(收藏版)

本文从基础概念入手,详细介绍了LangChain框架的核心功能和应用场景,包括模型调用、消息传递、工具连接、状态维护和结构化输出。通过实例演示了如何一步步构建可运行的Agent,并提出了四层思维模型帮助理解LangChain的整体架构。适合想要学习大…

📰

OpenGL [ 坐标系 ]

前面的文章已经介绍了 VAO、VBO、EBO、Shader、纹理和矩阵。现在先把矩阵放到一边,回答一个更基础、也更容易混乱的问题:OpenGL 里的坐标到底是什么?一个顶点从模型文件进入顶点着色器以后,经过哪些坐标空间,最后怎样变…

📰

普通人也能低成本入局AI大模型,抢占千亿红利赛道!

文章指出,国产AI大模型已从研发阶段走向商业化落地,市场规模预计将在2026年突破680亿元,2030年攀升至3250亿元。国内大模型落地数量全球领先,用户调用量持续暴涨,商业化落地不再是空谈。AI大模型应用开发工程师成为普通…

📰

双活数据中心原理图制作指南:存储双活、仲裁机制与PPT改造技巧

简介:这是一份聚焦双活数据中心整体设计的原理图PPT,原图内容可修改,适合数据中心运维、架构规划及网络/存储工程师用于方案讲解与二次整理。资源共1个ppt文件,约3.77MB,以架构拓扑图为主,清晰拆解主故障域…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬