自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 这些嵌入是如何被计算出来的?

动手实践之前,先来简单介绍下你画我猜 AI 版的玩法,它和普通版本你画我猜的区别在于:玩家根据提示词进行涂鸦,由 AI 来预测玩家画的词是什么,如果 AI 顺利猜对玩家画的词,则玩家得分。例如,提示词是 "长城",则玩家需要通过画板手绘一个长城,尽量画的像一些,让 AI 猜出正确答案就能得分。了解了基础玩法之后,接下来正片开始,详细介绍如何从零到一开始实现它。我们提供了简化版的live demo,你可以访问链接试试看。同时我们也提供了相关的demo 代码。

2025-11-06 21:53:38 991

原创 得物管理类目配置线上化:从业务痛点到技术实现

业务方需线下通过数仓提报规则变更,经数仓开发、测试、BI 需要花费大量精力校验确认,一次类目变更需 3-4 周左右时间才能上线生效,上线时间无法保证。:数仓离线同步周期长(T+1),规则校验依赖人工梳理,无法应对 “商品类目量级激增”。:当前的管理类目映射规则,依赖业务收集提报,但从实际操作看管理三级类目映射规则提报质量较差 (主要原因为:业务无法及时校验提报规则是否准确,是否穷举完善,是否完全无交叉),存在大量重复 / 遗漏风险。

2025-11-06 21:52:32 908

原创 怎样为你的 RAG 应用选择合适的嵌入模型?

有些模型(如 OpenAI 的 text-embedding-ada-002,支持一次读取 8192 个词元)和 Cohere 的嵌入模型(支持一次读取 4096 个词元)则能处理更长的文本。与使用静态向量表示每个词元或单词不同,语言模型会动态地生成上下文关联的词嵌入 ------ 即根据不同的语境,用不同的向量来表征单词 / 句子 / 文本块。:嵌入将词语、句子或文档转化为向量(数字序列),并使语义相近的内容在向量空间中彼此靠近。更高维度的向量能存储更详细的信息,但需要更强的计算能力。

2025-11-05 19:17:25 802

原创 BendSQL v0.30.3 Web UI 功能介绍

查看或创建配置文件[server]bind_address = "0.0.0.0" # 允许外部访问bind_port = 8999 # 固定端口。

2025-11-05 19:16:31 309

原创 深入解析 JuiceFS 垃圾回收机制

除此之外,GC 还可用于清理元数据中遗留的无效记录,例如清理流程中未被完全移除的文件或 slice 信息,以及加速垃圾回收过程中的各个流程,如手动碎片整理、手动清理 "可清理文件"(delfile) 等。这种情况就称为碎片化。为优化碎片化问题,JuiceFS 提供了碎片整理功能,通过识别并合并 chunk 中冗余或分散的 slice,将其重构为结构更紧凑的大块数据,从而显著减少碎片数量并提升存储效率。对于回收站中的文件,若用户执行了手动删除操作,而此时删除队列已满,该操作将同步阻塞,直到队列空出位置为止。

2025-11-04 19:15:39 793

原创 探讨超长上下文推理的潜力

例如,假设有一个大语言模型能够存储相当于数月工作内容的上下文,我们可以结合 "sleep-time compute"[10] 机制:让模型利用(可预设的)空闲时间,将新获取的信息与既有知识建立关联进行学习。(译者注:这个框架的核心逻辑大概是,模型在完成任务时,先试几次 ---> 记录每次的结果和评估分数 ---> 用一个 "反思提示词" 让模型自己总结经验 ---> 把经验写成 "lesson" ---> 存起来,下次遇到类似任务时用上 ---> 不断迭代优化。当模型能够即时响应时,实验迭代非常轻松。

2025-11-04 19:14:38 759

原创 用 LangGraph + MCP Server 打造 SpreadJS 智能助手:让 AI 真正懂你的表格需求

这个思想其实是很好的,不局限于这个工具,我们写这种执行逻辑的时候,都可以想到,这种网络请求式的操作,都可以强制要求返回一个确认操作,即一个 write 操作,一个 read 操作,进行结果校验,这比单独写个 query_spreadjs 的工具再去校验一次,不就省了很多 token, 请求的时间也省下了吗.当然,MCP 也有其劣势,例如,提供工具数量太多,AI 会陷入混乱,命名不标准,导致 AI 无法理解等,我们账号下有文章分析过其中的劣势,可以自行查找阅读。这样一来,就能自然地实现多轮对话和工具调用。

2025-11-03 16:51:59 1009

原创 WebRTC 入门指南:实时通信完全解析

对等连接建立前,需交换 SDP(Session Description Protocol,会话描述协议)信息,用于协商媒体格式、编码方式等参数。ICE 候选者(ICE Candidate)是包含设备网络信息(如 IP、端口、传输协议)的数据,对等端需交换候选者才能找到可通信的路径。每个媒体流(Stream)包含一个或多个轨道(Track),分别对应音频轨道或视频轨道。流(Stream)是连续的数据传输流 —— 在 WebRTC 中,特指实时传输的音频或视频数据。

2025-11-03 16:50:39 933

原创 使用 vLLM 框架启动量化模型服务

其次,通过灵活使用 vLLM 框架,可以得到更快的推理速度,通过使用量化模型,可以在保留相似的生成效果的条件下,压低硬件要求,节省硬件成本,也可以减少模型启动时的模型加载时间。我们在进阶 1 中提到了使用 QA 对的用法并推荐在学习向量数据库后进行调试,这是因为 QA 对提取需要耗费较长的时间和较多的 token,如果每次重启系统都执行一次则会浪费大量时间和 token,但如果使用了持久化存储策略,则可以每次重启系统时的等待时间,结合文档管理接口,您还可以对大模型提取的 QA 对进行调整和删除。

2025-11-02 17:36:57 1620

原创 AI 基础设施指南:工具、框架与架构流程

在上面的代码中,先实例化了一个 Document 对象,然后通过该 Document 实例化对象进行 Index 组件的注册,注册时需要指定一个字符串类型的 key,即注册 index 的名字,这里是 “trie_tree”,然后是定义好的类 TrieTreeIndex, 最后指定需要的初始化参数,也就是自定义 Index 类的 init 方法需要接收的参数。向量数据库早已把这些高性能的向量索引,实际研发过程中,我们只需要使用这些高性能的向量数据库,便可实现高性能的向量检索!

2025-11-02 17:35:45 1092

原创 Redis key 消失之谜

本次问题是由于业务集中请求 Redis,导致缓存积压内存增长达到最大内存限制,触发 Redis 淘汰策略对 key 进行驱逐。key 被淘汰丢失后,需要增加兜底机制去 DB 侧请求避免业务报错。虽然 Redis 性能比较好,但是也要尽量打散请求,合理评估存储侧的性能。同时,对于 Redis 淘汰策略,对于数据比较重要的集群,可以考虑使用不驱逐的方式。合理设置 TTL 保留时间,把 Redis 的内存使用率保持在安全的区域。

2025-11-02 17:33:05 703

原创 玩转 OurBMC 第二十四期:玩转 OurBMC 之 BMC 前端模式

当你深入研究 OpenBMC 的代码或部署时,可能会在 WebUI 的配置目录中发现一些以.env.ourbmc”、“.env.intel” 等命名的配置文件以及 env 目录下面还有导航,store,路由,风格配置,均以”ourbmc”,”intel” 这样的名字命名。

2025-11-02 17:31:52 825

原创 破解 gh-ost 变更导致 MySQL 表膨胀之谜|得物技术

在整个数据库平台(OneDBA)构建过程中,MySQL 结构变更模块是核心基础能力,也是研发同学在日常业务迭代过程中使用频率较高的功能之一。简单理解工具进行 DDL 变更过程中为了保证数据一致性,对于全量数据的复制与 binlog 回放是并行交叉处理,这种机制它有一个特点就是【第三步】会导致新插入的记录可能会先写入到表中(主键 ID 大的记录先写入到了表),然后【第二步】中复制数据后写入到表中(主键 ID 小的记录后写入表)。

2025-10-31 20:10:41 352

原创 ulsar 集群网络问题分析报告

Topic | Consumer | | ----------- | ------------------------------ | | 分区数:3 消息数量:3 | 订阅模式:Shared 数量:3ReceverQueue: 1 |根据 Consumer 最大预拉取的消息数量计算方法可知,其中 1 个 Consumer 一次性可以接收到 12((3+1)*3) 条消息,由于总消息数量等于 3 条,另外 2 个 Consumer 将会空闲,得不到有效的利用。

2025-10-31 20:09:22 386

原创 OpenSearch — 开源搜索的新选择 | 搜索百科(4)

OpenSearch 的出现,是开源社区的一次 “自救”。它不仅延续了 Elasticsearch 的核心功能,还代表了另一种治理模式:由云厂商和社区共同维护,保证了开源协议的延续。在搜索技术的版图里,Elasticsearch 与 OpenSearch 的分叉,注定会成为一个重要的历史节点。未来,两者可能会继续竞争,也可能各自发展出独特的生态。🚀下期预告下一篇我们将介绍 OpenSearch 的另一个兄弟Easysearch。

2025-10-31 20:08:09 571

原创 玩转 OurBMC 第二十三期:OurBMC 之 PCIe 接口应用(下)

DMA 控制器作为总线主控设备,可以主动发起对内存的读写操作,在不经过 CPU 寄存器的情况下,直接在外设(如网卡)和内存之间建立数据通道,这消除了不必要的中间步骤,效率更高。MSI(Message Signaled Interrupt)是一种 EP 主动触发 RC 产生中断的功能,系统软件在 RC 枚举 PCIe 总线时会扫描每个 EP 的 PCIe 空间,为支持 MSI 能力的 EP 设置 Message Address Register,这个地址通常就是处理器中断控制器的地址。

2025-10-31 20:05:04 547

原创 浏览器端音视频处理新选择:Mediabunny 让 Web 媒体开发飞起来 | 葡萄城技术团队

前阵子,社区有小伙伴在使用的数据压缩功能时发现,在开启 source_reuse 和 ZSTD 后,一个字段的内容看不到了。然后产生的一个多字段内容能。

2025-10-31 20:03:51 454

原创 (二)3.1.9 生产 “稳” 担当:Apache DolphinScheduler Worker 服务源码全方位解析

以上是笔者对 Apache DolphinScheduler 3.1.9 版本特性与架构的初步理解,基于个人学习与实践整理而成。由于水平有限,文中难免存在理解偏差或疏漏之处,恳请各位读者不吝指正。如有不同见解,欢迎交流讨论,共同进步。

2025-10-30 16:06:31 1011

原创 React 基础核心概念(8 个)—— 从入门到能写业务组件(上)| 葡萄城技术团队

JSX(JavaScript XML)是 React 的 “模板语法”,允许你在 JS 代码里写类似 HTML 的结构。很多初学者以为它是 “HTML 的变体”,其实它最终会被 Babel 编译成函数,生成 React 元素(虚拟 DOM 节点)。国内开发场景中,JSX 是写组件的 “标配”—— 无论是电商的商品卡片,还是后台的表格组件,都靠 JSX 描述 UI 结构。Props(属性):父组件传给子组件的数据,类似 “函数参数”,只读不可改(子组件不能直接修改 props);State(状态)

2025-10-30 16:05:37 663

原创 代码之美 - 代码整洁之道

看左侧的这段代码,它可能是任何对象,做了一个不知道什么操作的处理动作。再看右侧的代码段,即使没有任何注释,也能明白用户保存操作。

2025-10-30 16:04:36 757

原创 学习 React 前,你必须掌握的 10 个 JavaScript 核心概念

1. 自营和非自营不能合;2. 实物收货和单据收货的采购单不能合并;3. 相同收获仓和配送中心的采购单可以合并;4. 两个采购单如果合并之后同一个 SKU 拥有多个等级,则不可以合单;

2025-10-30 16:03:31 336

原创 浏览器端音视频处理新选择:Mediabunny 让 Web 媒体开发飞起来

Mediabunny 是一个专注于浏览器端音视频全流程处理的 JavaScript 库,核心定位是 "为 Web 原生设计,而非移植适配"。它基于 TypeScript 开发,提供了从底层控制到高层封装的完整 API,让开发者既能精细操作媒体数据,又无需处理复杂的编解码细节。无需后端依赖:所有处理都在客户端完成,减少网络请求和服务器成本;性能拉满:利用浏览器实现硬件加速,配合 "按需加载"" 流水线设计 ",速度远超同类库;轻量且灵活。

2025-10-30 16:02:21 1136

原创 Agent 开发工具链日新月异

例如,搭建一个新系统,想复用现有系统的权限体系和视觉规范,那参照官方文档,把现有系统权限设计的相关代码、视觉规范,制作成 skill.MD 文件,就可以复用,不需要重新设计和反复调试了。于是,开发者工具链的演进进入了深水区。随着行业的快速发展,各类基础开发框架也在持续演进,逐步支持或集成了检索、检索增强生成 RAG、Memory、工具、评估、可观测、AI 网关等能力,并提供了单智能体、工作流、多智能体的开发范式,以及 DeepRearch、Jmanus 这些基于框架实现的深度研究智能体和通用智能体。

2025-10-29 18:38:36 903

原创 实践四. 工程优化技巧,缓存与并行检索

其次,通过灵活使用 vLLM 框架,可以得到更快的推理速度,通过使用量化模型,可以在保留相似的生成效果的条件下,压低硬件要求,节省硬件成本,也可以减少模型启动时的模型加载时间。以上代码中主要实现了 RAG 系统中的启动和检索环节,对于检索环节,使用字典的形式实现了 kv cache 机制,检索开始时首先会检查当前查询的节点是否已经在缓存当中,如果存在,即为缓存命中,直接取缓存中的查询结果即可,反之则进行正常的检索流程,并在最后将检索结果存入缓存当中。同时,需要考虑多种因素以建立完善的缓存机制。

2025-10-29 18:37:49 650

原创 结合场景,自己编写 HNSW 索引

这个结论和标量索引实践一致,即通过建立高效索引,“以空间换时间”,可以大大降低计算量,提高检索效率。Milvus 支持多种索引方式,一般来说浮点索引(即对稠密向量进行索引)的使用场景较多,适用于大规模数据的语义检索,二进制索引和稀疏索引适用于数据集较小的情况,可以保证较高的召回率。在 store_conf 的配置中,存储后端和索引后端是独立的两部分,但是如果存储类型选择 milvus 的情况下,由于 kwargs 中已经包含了索引配置信息,因此无需额外配置 indices,即可实现内置的向量检索。

2025-10-29 18:36:51 1078

原创 存储数据管理

在上面的代码中,先实例化了一个 Document 对象,然后通过该 Document 实例化对象进行 Index 组件的注册,注册时需要指定一个字符串类型的 key,即注册 index 的名字,这里是 “trie_tree”,然后是定义好的类 TrieTreeIndex, 最后指定需要的初始化参数,也就是自定义 Index 类的 init 方法需要接收的参数。在 LazyLLM 中,所有的索引均使用 IndexBase 组件创建,随后索引组件可被注册在 Document 当中,并在后续的检索过程中使用。

2025-10-29 18:36:14 471

原创 LazyLLM 教程 | 第 12 讲:实践:用缓存、异步与向量引擎加速你的 RAG

在实际的使用过程中,用户只需要在 Document 定义阶段配置 store_conf 参数,进行简单的存储和检索配置,即可利用这两种数据库将文档处理后的数据存储于本地,并在下次系统启动时直接从本地加载这些数据,避免文档的重复入库,实现知识库持久化存储。⚒️chroma:使用 ChromaDB 存储数据,ChromaDB 是一个更轻量的向量数据库,相比于 Milvus 能处理的数据量级有限,适合调试,更多 ChromoDB 相关信息可以参考 ChromaDB 官方文档;type:使用存储类型。

2025-10-29 18:35:43 1050 1

空空如也

空空如也

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

TA关注的人

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