RUM技术探索:前端监控数据采集与实践

开源可观测性三件套能否替代商业APM?Prometheus+Grafana+Tempo实战评估 可观测性已成为现代云原生应用运维的基石,但商业APM的按量计费模式在业务增长时成本容易失控,技术团队开始重新评估开源方案。从指标、链路、日志三大数据支柱切入,Prometheus负责指标采集与告警,Tempo依托对象存储实现低成本全量链路追踪,Grafana则统一数据可视化,三者配合OpenTelemetry标准已能覆盖大部分监控排障场景。相比商业产品,开源栈在存储成本、数据自主权、灵活建模上具备显著优势,但代码级诊断、真实用户监控、自动拓扑发现等能力需要自行组装,且埋点接入和运维人力投入不可忽视。文章基于 阅读详情

在这里插入图片描述

​​随着互联网技术的不断演进,Web应用程序正日益呈现出复杂多变与高度动态性的特征。用户渴望获得快速的页面加载、流畅的交互体验以及高度的可靠性。为了满足这些,实时监控
Web
应用的性能和行为变得至关重要。前端监控让开发者能够深入了解应用的表现情况以及用户是如何与其互动的。本文将深入探讨前端监控的基本原理和实际操作方法。

▎前端监控的重要性

前端监控对于确保 Web 应用的质量至关重要。它可以帮助开发者发现并解决性能瓶颈、用户体验问题以及潜在的安全漏洞。通过持续的监控,可以提高网站的可用性、减少用户流失,并最终提升业务成果。此外,监控数据还可以作为优化决策的基础,帮助团队确定优先级和改进方向。

▎前端监控的原理

采集性能指标

性能指标采集是前端监控的核心组成部分之一。这通常包括但不限于页面加载时间、资源加载时间、JavaScript 执行时间等关键性能指标 (KPI)。这些指标可以通过浏览器提供的 API(如 Navigation Timing 和 Performance API)来获取。

// 使用 Performance API 来获取页面加载时间
window.addEventListener('load', function() {
var timing = performance.timing;
var loadTime = timing.loadEventEnd - timing.navigationStart;
console.log('Page Load Time:', loadTime);
});

采集错误日志

错误日志采集对于识别和修复应用中的问题至关重要。这包括捕获 JavaScript 错误、资源加载失败以及其他运行时异常。

// 捕获全局 JavaScript 错误
window.onerror = function(msg, url, lineNo, columnNo, error) {
console.error('Error:', msg, 'at', url + ':' + lineNo);
};
// 捕获未处理的 Promise 错误
window.addEventListener('unhandledrejection', function(event) {
console.error('Unhandled Rejection:', event.reason);
});

采集用户行为

用户行为数据可以帮助理解用户的使用习惯和偏好,这对于优化用户体验非常重要。这类数据通常包括点击事件、滚动深度、表单填写等。

// 记录按钮点击事件
document.getElementById('myButton').addEventListener('click', function() {
console.log('Button Clicked');
});
// 监听页面滚动事件
window.addEventListener('scroll', function() {
console.log('Scroll Position:', window.scrollY);
});

在这里插入图片描述

采集环境信息

环境信息包括设备类型、浏览器版本、地理位置等,这些数据有助于了解不同用户群体的具体情况。

// 获取设备信息
console.log('User Agent:', navigator.userAgent);
// 使用第三方服务获取地理位置信息
navigator.geolocation.getCurrentPosition(function(position) {
  console.log('Latitude:',position.coords.latitude,'Longitude:',position.coords.longitude);
});

▎前端监控的实践

前端监控的实际操作涉及到数据收集、分析和警报机制的设置。开发者可以选择搭建自己的监控系统或者使用现成的工具和服务,如 Google Analytics、New Relic、Sentry、Databuff 等。

  • 选择合适的工具:根据项目需求选择适合的监控工具。
  • 配置警报:当性能下降或出现错误时,及时收到通知。
  • 数据分析:定期审查收集到的数据,识别趋势和异常。
  • 持续改进:基于监控结果进行迭代优化。

▎总结

前端监控是现代 Web 开发不可或缺的一部分。通过实施有效的监控策略,开发者可以更好地理解和改善他们的应用,从而为用户提供更加稳定和愉快的在线体验。随着技术的发展,前端监控也将变得更加智能化和自动化,进一步提升 Web 应用的整体性能和用户体验。我们期待乘云RUM技术能够在Web端更多的场景下发挥其潜力,为用户和开发者带来更大的价值。

在这里插入图片描述

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 11 算法篇 在百万级虚拟机、百万级租户的超大规模云环境中,核心算法挑战包括:挑战维度具体问题算法需求技术复杂度规模性​百万级对象并发管理分布式算法、分区算法极高(NP-hard问题)多租户​租户间隔离与资源共享公平性算法、隔离算法高(多目标优化)动态性​资源需求实时变化自适应算法、在线算法高(实时决策)异构性​硬件/负载/需求差异分类算法、匹配算法中高(多维度优化)经济性​资源利用率与成本平衡优化算法、博弈论算法高(多目标博弈)以下是按领域分类的详细算法列表:算法名称数学建模表达核心思想时间复杂度适用场景推理步骤首次适 阅读详情

相关推荐

【信息科学与工程学】【数据中心】第二十三篇 DDC网络-满足大规模训练、推理、存储区网络(Roce2组网)-第四篇 跨地域互联(管理区和推理区)

智算中心互联

weixin_49199313的博客 785

智能性能优化系统:从数据采集到方案生成

性能优化是现代Web开发的核心挑战,涉及网络传输、渲染管线、JS执行等多维度技术。通过Performance API、Lighthouse等工具实现无侵入式监控,结合规则引擎与机器学习算法,可以自动诊断性能瓶颈并生成优化建议。这种智能系统能有效解决传统优化依赖专家经验、定位耗时的问题,特别适用于电商等高交互场景。实践表明,在移动端列表页等典型场景中,系统建议的方案可使FPS提升80%以上,内存占用降低60%。随着WebGL、PWA等技术的发展,预测性优化和个性化方案将成为下一代性能优化系统的演进方向。

weixin_31714129的博客 57

【信息科学与工程学】【数据中心】 第二十三篇 DDC网络-满足大规模训练、推理、存储区网络(Roce2组网)-第五篇 跨地域互联(公共服务区和存储区)

大规模智算中心跨区域互联

weixin_49199313的博客 1216

链路追踪,助您洞悉数据联动分析的奥秘

在当今复杂的分布式系统中,了解请求在不同服务之间的传递路径和性能情况对于系统的性能优化至关重要。链路追踪通过记录和分析请求在系统中的传递路径和性能数据,为实现数据联动分析提供了重要的支持。

观测云的博客 859

【信息科学与工程学】计算机科学与自动化——第三百零五篇 数据中心 Scale-Up、Scale-Out、Scale-Across 100

密码法》《商用密码管理条例》《网络安全法》《数据安全法》《国家政务信息化项目建设管理办法》;《网络安全法》《数据安全法》《个人信息保护法》《反恐怖主义法》《反有组织犯罪法》;反洗钱可疑交易规则判定。《个人信息保护法》《网络安全法》《数据安全法》《反不正当竞争法》《生成式人工智能服务管理暂行办法》;《中国共产党纪律处分条例》《党内监督条例》《巡视工作条例》《审计法》《公职人员政务处分法》《反腐败/反有组织犯罪相关》《档案法》《电子签名法》《会计法》(原始凭证数字化要求)、《网络安全法》;

weixin_49199313的博客 493

【 ‌infrastructure】【数据中心】【AI infra】第十篇 智能计算数据中心解决方案集成测试和交付知识体系1005

路由协议需要同时处理动态拓扑(LEO)和静态拓扑(GEO),BGP 的收敛速度无法跟上 LEO 切换(秒级),而 OSPF 的 LSDB 更新过于频繁。mode 4(LACP)需要交换机支持,mode 0(round-robin)可能乱序,mode 2(active-backup)带宽利用率低。使用 DCB(Data Center Bridging)配置 PFC 优先级映射,将 RoCE 流量映射到高优先级(3 或 4),其他流量低优先级。或者使用异步 NVMe-oF,允许命令排队,容忍延迟。

weixin_49199313的博客 81

构建高可观测性的云原生应用体系:企业实践指南

随着微服务、容器、Kubernetes 等云原生技术的全面铺开,系统架构变得更加动态化、分布式与复杂。故障排查难、性能瓶颈隐蔽、用户体验不可控。过去我们依赖于单体架构中的日志文件来定位问题,如今面对数以百计的微服务实例、动态调度的 Pod、副本、节点,传统监控手段已难以胜任。企业需要一种新的“可视化操作系统”,即“可观测性(Observability)体系“可观测性”这个词源自控制论领域,用于描述一个系统根据输出推导内部状态的能力。概念特征监控预定义指标、静态仪表板、特定问题检测可观测性。

2401_88419115的博客 1086

【 ‌infrastructure】【数据中心】【AI infra】第十篇 智能计算数据中心解决方案集成测试和交付知识体系01

编号类型领域模块子模块学科知识点及详细数学建模与数值设计(推导/边界/示例)关联知识、标准、法律法规、论文、工业实践1.1架构智算集成总体拓扑业务/管理/数据/参数面分离系统架构、队列论、网络流四平面隔离:业务面带宽B_b、数据面B_d(对象/数仓ETL)、参数面B_p(NCCL AllReduce)、管理面B_m(Prometheus/API)。总成本C=Σ(N_server·C_s+N_sw·C_sw+N_dpu·C_dpu)+C_power;约束B_p≥模型梯度量G/t_step。示例:千卡A100、

weixin_49199313的博客 115

可观测性平台实战指南:从数据采集到智能运维的完整能力矩阵

在分布式系统和微服务架构中,系统监控是保障服务稳定性的基础技术。传统的监控主要基于预设指标进行阈值告警,其核心在于验证已知的系统状态。然而,随着系统复杂度的提升,仅靠监控往往难以定位未知的、突发的复杂故障。可观测性(Observability)作为一种更高级的理念应运而生,它强调通过系统外部输出来推断内部状态,核心在于探索未知问题。其技术价值在于将离散的日志(Logs)、聚合的指标(Metrics)和连续的链路(Traces)三大支柱数据关联起来,构建完整的上下文,从而在出现未预料故障时,能够像侦探一样追溯

cuankuangzhong6373的博客 510

Ceres Solver:从入门到使用

Ceres Solver是谷歌开源的C++非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中被大量的使用。 ceres可以在Linux,Windows,macOS,Andrioid,IOS系统进行安装使用,详情可查看下方的官网链接。 Ceres Solver 官网:http://ceres-solver.org/

非晚非晚的博客 1万+

FOC观测器之龙伯格观测器

状态观测器: 理论依据:根据控制理论,如果一个系统能够完全通过其检测到的输出值来重构其系统状态,则认为该系统是可观测的。其作用于无传感器转子的位置和速度的检测反馈,再作用到PARK逆变换和转矩磁链控制上。 Luenberger观察器原理图: Luenberger观测器的离散化: (其观测器的闭环参数为经验验证值) 引入估测电流( iα,iβ )的反馈值并离散化(T 为采样时间),可得...

ShawnChan的博客 2万+

构建端到端可观测全景丨云栖大会可观测分享实录

随着 Kubernetes 、Serverless 等云原生技术引领研发、运维模式变革。应用架构从单体架构逐步演进为分布式、微服务化应用。

阿里巴巴云原生的博客 1231

APM Server与Elastic Stack集成教程:打造完整可观测性解决方案

APM Server是Elastic Stack中至关重要的组件,它能够帮助开发者轻松实现应用性能监控与可观测性。通过与Elasticsearch和Kibana的无缝集成,APM Server提供了从应用性能数据采集、存储到可视化分析的完整解决方案,让你能够快速定位并解决应用性能问题。 ## 为什么选择APM Server与Elastic Stack集成? APM Server作为Elasti

gitblog_00007的博客 1005

RTDETR最强结构图 | 包含模型整体结构图 | 全模块展开图 | AiFi模块展开图

RT-DETR 最全结构图

Coding... 9601

YOLO26改进105:全网首发--使用BiFPN改进特征金字塔网络

YOLOv6 v3.0在目标检测领域实现重大突破,通过改进网络架构和训练方案显著提升性能。该版本在COCO数据集上展现出优越表现:YOLOv6-N达到37.5% AP/1187 FPS,YOLOv6-S实现45.0% AP/484 FPS,均超越同类检测器。大模型YOLOv6-M/L分别达到50.0%/52.8% AP,L6版本更创下实时检测新纪录。关键技术包括RepVGGBlock、BiFusion等新型模块,通过多分支融合和高效重参数化设计提升性能。研究团队已验证各改进模块有效性,代码已开源。

AIcurator的博客 95

不止于观测|阿里云可观测套件正式发布

万物皆云的时代,可观测性让云计算更易用高效,也将可观测数据的业务价值最大程度释放。“观测力”已成为每个 IT 人的必备核心竞争力。不止于观测,可观测帮助企业分析、洞察并实现高质量的决策与业务创新。而阿里云将不断推动可观测技术演进与落地实践,帮助企业真正实现高质量数字化转型与创新。...

阿里巴巴云原生的博客 616

机器人轨迹规划——梯形速度轨迹(超详细)

机器人轨迹 这一系列轨迹教程将主要包括以下内容: 点到点轨迹(P2P) 五次多项式插值轨迹 三次多项式插值轨迹 梯形速度曲线轨迹 双S形速度曲线轨迹 多个自由度轨迹的时间同步 在线轨迹规划 多项式在线轨迹规划 梯形在线轨迹规划 双S形在线轨迹规划 非线性实时轨迹滤波 多点轨迹(Multi-point) 三次样条曲线(cubic spline) 贝赛尔曲线(Bezier Curve) B样条曲线(BSpline) 时间最优轨迹 三次样条时间最优轨迹 任意路径下的时间最优轨迹 时间

出门搔白首,若负平生志 1万+

没有数据湖?可观测性也许不再有效!

观测云通过统一的数据采集、全面的数据监控和无缝的关联分析,为企业提供更快、更轻松、更全面的监控观测平台。

观测云的博客 1540

PLC为西门子的S7-1200,舵机为 DS3218,PLC控制舵机旋转程序实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1000

近五年体内微/纳米机器人赋能肿瘤精准治疗综述:以 GBM 为重点

摘要 微/纳米机器人在实体瘤治疗领域展现出突破性潜力,通过主动运动能力解决传统纳米药物递送效率低、渗透不足等核心问题。2021-2025年间形成三条技术路线:1) 磁驱、声驱等运动增强递送实现深层渗透;2) 与免疫治疗融合实现原位免疫唤醒;3) 针对胶质母细胞瘤开发跨屏障递送系统。研究重点从单一运动性能转向"运动-分布-疗效"的系统评价,需建立标准化指标评估运动学参数、肿瘤分布均匀性和安全性。未来挑战在于临床转化的可制造性、闭环操控及生物相容性优化,特别是对血脑屏障穿透等复杂场景的系统集

AllenLV的博客 5176

Elastic:开发者上手指南

你们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍 2)Elasticsearch中的一些重要概念:cluster,n..........................................................

Elastic 中国社区官方博客 17万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 149

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Jackson 序列化 / 反序列化注解 完整版笔记

Jackson 序列化 / 反序列化注解 完整版笔记

handsome_sai的博客 303

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

MCP 协议会成为前端 AI 工程的标准接口吗?

MCP(Model Context Protocol)正在成为连接 AI 模型与外部工具、数据源的一层通用协议。本文从 MCP 的核心机制出发,分析它在浏览器与前端工程中的落地边界,讨论它能否成为前端 AI 工程的标准接口,并给出当下更务实的架构选择建议。

m0_62937412的博客 373
上一篇: 最新资讯!2024可信云大会重磅发布《可观测性能力建设指南》!
下一篇: OpenTelemetry:新一代的开源可观测性标准
aiSRE工程狮
博客等级 码龄5年 423粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值