首页 文章 精选 留言 我的

精选列表

搜索[向后兼容性],共9029篇文章
优秀的个人博客,低调大师

AI Agent正在成为B2B采购入口:迪普智见发布GEO for Agents兼容性测试

当采购决策从“搜索+浏览”转向“对话+委托”,AI Agent(如Manus、Claude with tools、企业智能体)正在成为B2B服务的实际入口。与传统搜索引擎不同,Agent会直接调用工具、读取结构化数据、执行多步任务,最终给出一个推荐列表。这意味着,如果企业的官网无法被Agent理解、解析和引用,它就会从候选名单中消失。

优秀的个人博客,低调大师

phoenix-5.0.0与CDH6.0.1兼容性导致二级索引不可用问题解决

今天在测试phoenix的二级索引功能时,创建完索引写入数据,出现以下异常: Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 action: org.apache.phoenix.hbase.index.builder.IndexBuildingFailureException: Failed to build index for unexpected reason! at org.apache.phoenix.hbase.index.util.IndexManagementUtil.rethrowIndexingException(IndexManagementUtil.java:206) at org.apache.phoenix.hbase.index.Indexer.preBatchMutate(Indexer.java:351) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$28.call(RegionCoprocessorHost.java:1010) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$28.call(RegionCoprocessorHost.java:1007) at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$ObserverOperationWithoutResult.callObserver(CoprocessorHost.java:540) at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.execOperation(CoprocessorHost.java:614) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preBatchMutate(RegionCoprocessorHost.java:1007) at org.apache.hadoop.hbase.regionserver.HRegion$MutationBatchOperation.prepareMiniBatchOperations(HRegion.java:3487) at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutate(HRegion.java:3896) at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:3854) at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:3785) at org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:908) at org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicBatchOp(RSRpcServices.java:836) at org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:799) at org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2551) at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:42014) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304) Caused by: java.lang.VerifyError: class org.apache.phoenix.hbase.index.covered.data.IndexMemStore$1 overrides final method compare.(Lorg/apache/hadoop/hbase/Cell;Lorg/apache/hadoop/hbase/Cell;)I at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.phoenix.hbase.index.covered.data.IndexMemStore.<init>(IndexMemStore.java:82) at org.apache.phoenix.hbase.index.covered.LocalTableState.<init>(LocalTableState.java:57) at org.apache.phoenix.hbase.index.covered.NonTxIndexBuilder.getIndexUpdate(NonTxIndexBuilder.java:52) at org.apache.phoenix.hbase.index.builder.IndexBuildManager.getIndexUpdate(IndexBuildManager.java:90) at org.apache.phoenix.hbase.index.Indexer.preBatchMutateWithExceptions(Indexer.java:503) at org.apache.phoenix.hbase.index.Indexer.preBatchMutate(Indexer.java:348) 异常信息可以看出是IndexMemStore这个类初始化的时候加载class时碰到了VerifyError,具体来说就是试图覆盖1个被标记为final的方法,先找这个类的代码看看: public class IndexMemStore implements KeyValueStore { private static final Log LOG = LogFactory.getLog(IndexMemStore.class); private IndexKeyValueSkipListSet kvset; private CellComparator comparator; public IndexMemStore() { this(new CellComparatorImpl(){ @Override public int compare(Cell a, Cell b) { return super.compare(a, b, true); } }); } 覆盖的是CellComparatorImpl的compare方法,该类在hbase-common模块中,我们用的phoenix版本是5.0.0,对应的hbase版本为2.0.0,找到代码看看: @Override public int compare(Cell a, Cell b) { return compare(a, b, false); } 可以看到这个方法并非final,我们使用的是CDH6.0.1,对应的hbase也是2.0.0版本,莫非有所不同,找到代码看看: @Override public final int compare(final Cell a, final Cell b) { return compare(a, b, false); } 居然真的有final修饰符,于是查看社区中该类的修改历史,发现是在2.0.1中进行的如上改动,对应的jira:HBASE-20620,可以看到改动记录: @@ -57,21 +64,17 @@ public class CellComparatorImpl implements CellComparator { public static final CellComparatorImpl META_COMPARATOR = new MetaCellComparator(); @Override - public int compare(Cell a, Cell b) { + public final int compare(final Cell a, final Cell b) { return compare(a, b, false); } 看起来应该是CDH6.0.1中包含了某些hbase2.0.0之后的patch; 解决方法就是修改hbase,把final修饰符去掉即可,然后打包、停服务、换包、起服务,再试已经正常;

优秀的个人博客,低调大师

Atlassian 开源最强“实用”前端拖拽组件:性能和兼容性俱佳、支持跨窗口拖动、适用于任何前端框架

​Pragmatic drag and drop 是一款前端拖拽组件,由知名软件开发公司 Atlassian 开源。 正如名字中的Pragmatic(“实用”)所言,该组件支持许多拖拽场景,十分注重性能,并且通过使用浏览器强大而灵活的内置拖拽功能变得安全而简单。 目前Atlassian 公司旗下核心产品 Trello、Jira 和 Confluence 等均使用了Pragmaticdrag and drop。 在 Pragmaticdrag and drop 之前,该组件作者 Alex Reardon 还打造了另一款流行的 React 开源拖拽组件react-beautiful-dnd。 与之相比,Pragmaticdrag and drop支持了更多的拖拽场景: 列表 面板 表格 树 Grids Drawing Resizing 下图展示了 Pragmatic Drag and Drop 在不同场景的运行效果: Pragmatic drag and drop 还支持在任何前端框架(如 React、Svelte、Vue、Angular)中使用,不受特定技术栈的限制。 在不同框架中使用的写法如下: React Svelte JS 对比其他同类型的开源拖拽组件,Pragmaticdrag and drop核心包经过压缩后更加轻量,仅 4.7kb。 性能方面,对比以下同类型开源框架: react-beautiful-dnd react-dnd dnd-kit Pragmaticdrag and drop 的TTI 指标可谓是“遥遥领先”。 TTI: Time to Interactive,可交互时间。该指标主要用于测量页面从开始加载到主要子资源完成渲染,并能够快速、可靠地响应用户输入所需要的时间。 参考链接 https://www.youtube.com/watch?v=5SQkOyzZLHM https://atlassian.design/components/pragmatic-drag-and-drop/about https://mp.weixin.qq.com/

优秀的个人博客,低调大师

DeepSeek-V4-Flash 在 AMD MI300X 上的部署挑战:FP8 精度兼容性、Triton 并发边界条件、AITER 内核库适配

在AI推理芯片市场上,NVIDIA H100几乎成了默认选项,但AMD的Instinct MI300X一直是一个被低估的替代方案。近日,技术博客Doubleword的作者记录了一次将DeepSeek-V4-Flash模型部署到AMD MI300X加速器上的完整过程,展示了在非主流硬件上运行大模型的真实挑战与收获。 这场部署的背景,是DeepSeek模型系列在开源社区持续升温。DeepSeek-V4-Flash以其优异的推理效率受到关注,而AMD MI300X则是AMD面向数据中心推出的旗舰加速器,采用CDNA 3架构、192GB HBM3内存理论上能够支撑大模型的本地部署。然而,软件生态的差距让这条路注定不平坦。 FP8精度:一场"方言"不通的麻烦 部署过程中的第一个拦路虎是FP8量化精度问题。FP8作为近年兴起的低精度格式,能够显著降低显存占用和提升推理速度,但不同硬件厂商对FP8的具体实现存在分歧。NVIDIA和AMD采用了不同的FP8子标准——NVIDIA使用OCP(Open Compute Project)定义的FP8格式,而AMD MI300X则使用fnuz格式。这两种格式在数值表示范围和精度上存在差异,直接导致模型权重解读出现系统性偏差。作者花了大量时间在精度校准上,最终才让数值误差降到可接受范围内。 内核库缺失:CDNA 3架构的"注意"困境 第二个挑战来自AITER内核库在AMD CDNA 3架构上的适配问题。AITER是一个为Transformer模型优化的计算库,包含了高效的注意力机制快速路径实现。然而在MI300X上,由于底层架构实现的细节差异,快速路径的触发条件未能被正确满足,导致注意力计算回退到了更慢的通用实现。这一问题直接影响了大模型推理的吞吐能力,是整篇文章中最具技术深度的发现。 Triton并发:被忽视的边界条件 此外,HIP图优化中的张量形状问题、MoE(Mixture of Experts)路由层的bug以及Triton内核在并发场景下的边界条件处理,都成为部署过程中需要逐个攻克的难题。Triton是AMD为GPU计算设计的编程语言,与NVIDIA的CUDA生态类似,但在工具链成熟度上仍有差距。 最终成绩:约8.6%的性能提升 经过针对性的修复和基础优化后,DeepSeek-V4-Flash在单块MI300X上的推理速度从2485 tok/s提升至2699 tok/s,提升幅度约8.6%。考虑到所有软件层面的障碍,这个数字并不算惊艳,但作者认为,考虑到AMD MI300X在采购成本和TCO(总拥有成本)上相对NVIDIA H100的优势,8.6%的性能差距完全在可接受范围内。 软件生态的差距正在缩小 这篇部署日志的核心价值,不在于最终的性能数字,而在于它如实记录了AMD ROCm软件栈在实际生产场景中的短板。FP8标准不统一、内核库适配不完整、Triton工具链不够成熟等问题,构成了AMD在AI软件生态方面与NVIDIA的主要差距。然而,作者也指出,这些问题正在被快速修复——AMD在过去两年中对ROCm的投入力度明显加大,开源社区对AMD硬件的支持也在增长。 从更大的视角看,这篇部署记录反映了一个正在发生的变化:AI硬件的格局正在从NVIDIA一家独大向多元化演进。Google TPU、AMD MI300X、甚至国产的昇腾等芯片,都在各自的场景中找到了位置。软件生态的差距会随着时间推移逐渐收窄,而硬件层面的性价比竞争,将成为推动这一进程的持续动力。 参考来源:https://fergusfinn.com/blog/deepseek-v4-flash-mi300x/

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册