MingJunDuan的博客
热爱可抵一切,探索未知之境
全站访问量

Transformer 编码器如何实现向量"吸收":一句"句内 RAG"讲透

上一篇《向量数据库原理》的 §12,我用”库存不足”带你走了单头注意力的数字:算出来”库存”的新向量里,混进了约 52% 的”不足”。你当时追问的那句——“Transformer 编码器,是怎么实现向量’吸收’的?”——那一节为了不打断主线,把很多零件一句话带过了。 这篇就是它的放大镜:把”吸收”这个动作,拆到每一个零件、每一行代码。 先立一句话贯穿全文,后面所有内容都在给这句话做注脚: 吸收 = 每个词对整句话做一次”句内 RAG”:用 Q...

向量数据库原理:从 1536 维坐标到语义检索(通俗解释)

上一篇《企业级记忆知识库》里,我把”代码库信息、业务知识怎么写进向量数据库、怎么被检索回来”讲到了代码级。但写完我自己回头看,发现一个更根本的问题被跳过了: 向量数据库内部,到底是怎么回事? 那段话、那篇企业发文,是怎么被算成一串 1536 个数字的?两个没有一个共同词的句子,凭什么说它们”语义相近”?为什么高维空间里树索引会失效?Transformer 那”一坨矩阵乘法”到底在算什么? 这篇文章就是补这一课。它不是那篇的续集,而是那篇的地基——上一篇告诉你”怎么写代码调用向量库”,这一篇告诉你”向量库背后那套原理,以及顺着它引出来的一整条链路”。 写作方式跟以往不一样:这一篇按”你可能会问的问题”来组织,每个问题都是从真实困惑里来的。你可以跳着读,卡在哪就读哪一节。 先立一句话贯穿全文: 向量数据库不是”存文本”的数据库,而是”存高维坐标点”的数据库;它的”索引”是一张导航图或一堆簇;它的”查询”是”找到离我最近的点”。 一、先忘掉”数据库”,它本质只解决一个问题 MySQL...

企业级记忆知识库:短期上下文与四层记忆的 RAG/向量检索实现

你是一个 Java 后端工程师,手上有一个订单中心。某天你让 Agent “帮我在下单流程里加一个库存不足的兜底”。 它没有翻代码,也没有问你 createOrder 里调了哪几个服务,而是直接告诉你: 下单流程依次是 RiskService.checkRisk → InventoryService.freezeStock...

LLM 应用后端接入工程 —— 基本功:一个普通后端服务怎么正确调大模型

你在一个 Spring Boot 服务里写下了第一行”调大模型”的代码:一个 HTTP 客户端,一个 POST /v1/chat/completions,一个手工拼出来的 JSON。跑通了,心里却越来越没底——因为你知道这只是”能跑”,离”能上生产”还差得远。 然后你去查资料。查到 MCP,讲的是”工具标准”:服务器怎么暴露工具、客户端怎么发现工具、JSON-RPC 怎么来回。查到...

Token 不是字也不是词:300K 上下文窗口到底能装多少行代码

你在 Cursor 里把整个 Service 目录 @ 进去,说”帮我把这段下单逻辑重构一下”,结果它回你一句 context_length_exceeded。你心里纳闷:不是说好 200K、300K 的上下文窗口吗?我这才几万行代码,怎么连一个模块都塞不下? 问题的根子,在于把 token...