Hierarchical Navigable Small World(分层可导航小世界)
HNSW(Hierarchical Navigable Small World,分层可导航小世界)是目前向量库里最常见的 ANN(Approximate Nearest Neighbor,近似最近邻)索引之一。Milvus、Faiss、pgvector、Elasticsearch 的稠密向量检索,底层很多都绕不开它。 一句话:在高维向量图上做「先粗后细」的贪心导航,用近似换毫秒级延迟。 读完本文,你应该能: 说清 NSW 和「分层」各自解决什么问题 画出从上到下的检索路径 知道落地时 M、efConstruction、efSearch 怎么调 1. 问题从哪来?传统库用 B+ 树一类结构做精确查找;向量检索要找的是「语义最近」——比如在 1536 维空间里找离 Query 最近的 Top-K Chunk。 暴力做法是和全库算一遍距离,准确但 $O(N)$,数据一大就扛不住。ANN 接受一点召回损失,把查询压到接近 $O(\log N)$。HNSW 是其中工程表现最好的一类。 2. 小世界图(NSW)先把每个向量当成图上的一个点,和若干近邻连边,得到一张...
GraphRAG 选型笔记
Naive RAG 就是 Chunk → Embedding → Top-K → LLM。单点事实够用,多跳、全局主题、硬条件过滤就容易翻车。 GraphRAG 的做法是先把语料做成图(实体、关系、属性,也可以加社区/层级),查询时语义找入口,图上再扩一层,最后才生成: 1234索引:文档 → 抽取 →(对齐)→ 图库 └→ Embedding / 倒排 → 向量库或 ES查询:Query → 入口召回拿到 ID → 图扩散 / 社区 / 重排 → 上下文 → LLM 下面按落地要拍板的几件事记:图库、向量、抽取、Schema、检索、Benchmark。中间夹一点自己项目里用过的判断。 1. 图库图库干的事很具体:存点边、按 ID 扩邻居、属性过滤,有时还要跑 PageRank、社区发现。 图库 查询语言 我怎么看 Neo4j Cypher 生态最熟,GDS、示例多;新版本还能挂节点向量,小规模可以考虑「图里顺便做入口」 HugeGraph Gremlin 国内见得多,分布式、多存储后端,偏大规模...
阿里云服务器
阿里云服务器从买一台电脑到把服务跑在云上,中间差的不只是「在哪台机器上跑」,还有资源形态、计费方式和运维方式。本文先梳理常见服务器类型与选型思路,再以租用的阿里云 ECS(Elastic Compute Service,弹性计算服务)为例,解读登录后 root 家目录里那些文件和文件夹各自是干什么的。 1. 服务器的类型广义上的「服务器」可以理解为:持续运行、对外提供某种能力的计算资源。按形态大致可分为以下几类。 1.1 物理服务器(Bare Metal Server,裸金属服务器) 一整台实体机器归你独占,CPU、内存、磁盘、网卡都是真实硬件。 优点:性能稳定、无虚拟化损耗、适合对 IO 或延迟极度敏感的场景。 缺点:采购成本高、上架周期长、扩容慢、机房运维成本高。 典型场景:大型数据库、高频交易、核心 ERP、需要专用硬件加速的业务。 1.2 虚拟服务器 / 云服务器(VPS / Cloud VM) 在物理机上通过虚拟化技术切分出多个「虚拟机」,每台有独立操作系统。 代表产品:阿里云 ECS、腾讯云 CVM、AWS EC2、Azure...
Hawkes Process
Hawkes Process 霍克斯过程霍克斯过程(Hawkes Process)是一类自激点过程(Self-exciting Point Process):历史事件会提高未来事件的发生强度。它在金融高频交易、地震预测、社交网络传播、营销归因、风控欺诈检测等场景中非常常见。 读完本文,你应该能: 写出条件强度函数(Conditional Intensity)和指数核(Exponential Kernel)的公式 手撕 Ogata 稀疏化算法 做模拟 手撕 最大似然估计(MLE) 做参数拟合 理解 分支比(Branching Ratio) 和 Lift 的业务含义 从泊松过程说起齐次泊松过程(Homogeneous Poisson Process)在区间 $[0, T]$ 上,事件到达时刻记为 ${t_1, t_2, \dots, t_N}$。 齐次泊松过程的核心假设:任意时刻的事件发生率是常数 $\mu$。 强度函数:$\lambda(t) = \mu$ 相邻事件间隔 $W_i = t_i - t_{i-1}$ 服从指数分布:$W_i \sim...
大模型学习之SKILL
本文是对吴恩达 Skills 教程的个人整理与笔记,结合了官方示例和自己的理解,方便以后给大模型(LLM,大语言模型)设计和编写 SKILL。 第一节:Introduction(介绍)Agent Skills 可以简单理解为:“让智能体反复使用的一套模块化指令与脚本集合,是解决某一类实际问题的完整方案。” 和一次性写在 prompt 里的说明不同,一个 Skill(技能)是可以: 被多次复用; 独立存放在文件系统中; 搭配工具(tools)、MCP(Model Context Protocol,模型上下文协议)以及子智能体(subagents,子智能体)一起工作。 从实现角度看,一个成熟的 Skill 通常需要: 代码执行能力(如 Bash 命令行、Python 脚本等); 文件系统读写权限(filesystem 文件系统); 清晰的输入 / 输出格式和操作流程说明。 第二节:Why Use Skills(为什么要用 Skills)为什么不直接把所有说明都写进一次对话里,而要额外搞一套...
Grafana生态
可观测性可观测性(Observability) 指通过系统外部输出推断其内部状态的能力。维度(Dimension) 是用来描述和分类数据的标签属性,比如用户ID、应用ID、模型名称等,关注“是什么”指标(Metric) 是用来量化的数值数据,比如请求次数、响应时间、Token消耗量等,关注“有多少” 监控等数据分类 系统指标:包括cpu使用率、内存占用、磁盘I/O、网络流量等基础设施层面的监控数据。应用指标:涵盖接口响应时间、QPS(每秒查询率)、错误率】jvm状态等应用层面的性能数据。业务指标:针对我们平台的特定业务逻辑,比如AI模型调用次数、token消耗量、用户活跃度等调用链:在一个分布式系统中,一个请求可能经过多个服务组件。百分位数:P99:99%的请求响应时间都在这个值以下。...
大模型学习之MCP
MCP视频链接 RAG 技术的局限性RAG(检索增强生成,Retrieval-Augmented Generation)是当前大模型领域的热门方向。它结合了信息检索与生成式模型,旨在提升知识准确性、上下文理解和对最新信息的利用能力。 RAG 的主要缺点: 检索精度有限,可能无法获取最相关的信息 生成内容可能不完整或片面 缺乏全局视角 检索能力受限时效果下降 理论基础Function CallFunction Call 是 OpenAI 于 2023 年提出的重要概念,本质上为大模型提供了与外部系统交互的能力,相当于为模型配备“外挂工具箱”。当模型无法直接回答问题时,可主动调用预设函数(如查询天气、计算数据、访问数据库等),获取实时且精准的信息后再生成回答。 Model Context Protocol(MCP)MCP(模型上下文协议)由 Anthropic 公司提出,是一个开放标准协议,旨在解决 AI 模型与外部数据源、工具的交互难题。 开发者按照 MCP 协议开发,无需为每个模型与不同资源重复编写适配代码,大幅节省开发工作量。MCP Server...
全栈开发笔记
未完待更新 个人全栈项目开发之路https://github.com/DummyV07/Boilerplate.git技术栈 FASTAPI + VUE3 + Nginx + Gunicorn 🏗️ 第一部分:系统架构 前后端分离原则:前端(Vue)仅负责 UI 渲染与交互逻辑,后端(Python)仅负责数据处理与业务逻辑。两者通过 RESTful API 进行 JSON 交互。 **Schema 为先 (Schema-First)**:在写具体的业务逻辑前,先定义好后端的数据结构(Pydantic Models),确保前端联调时有明确的数据契约。 单一职责原则:一个接口只做一件事。复杂的长耗时操作必须与即时响应接口分离。 项目结构123456789101112131415161718192021222324252627my-awesome-project/├── backend/ # Python 后端代码 (FastAPI)│ ├── app/│ │ ├── api/ # 接口路由层│ │ ├──...
无标题
Quantization大模型量化简单来说量化就是用更低精度低数值格式(如 INT8 INT4)来表示原本的高精度(如FP32,FP16)的权重和激活值。 三大主流算法 GPTQ: 基于二阶导数信息(Hessian 矩阵)进行权重补偿,逐层优化。 AWQ (Activation-aware Weight Quantization): 发现权重中只有 1% 是重要的(由激活值决定),保护这些重要权重不被过度量化,从而保持精度。 SmoothQuant: 通过一个数学上的等价变换,将激活值的量化难度转移到权重上,解决激活值量化难的问题。
哈希
🧬 哈希哈希(Hash)是一种**把任意长度的数据,通过某种算法,变成固定长度的”指纹”**的技术。 哈希有什么特点 不可逆 输入 → 输出是容易的,但输出 → 输入几乎不可能。 固定长度 比如 SHA-256 无论输入什么内容,结果一定是 256-bit(64 个十六进制字符)。 雪崩效应(Avalanche Effect) 输入改一个字母,输出完全变样,毫无规律可循。 相同输入,一定得到相同输出 这是它能用于检测数据变化的原因。 哈希的常见用途 密码存储 服务器不会直接保存你的明文密码,而是保存 Hash(你的密码) 区块链 区块链的本质就是 哈希 → 再哈希 → 再哈希 哈希链条串起来谁也改不了 文件校验 你下载一个游戏包,它会给你一个hash值 你算一下就知道文件有没有被修改 哈希表、字典(HashMap) 计算 hash → 决定数据放哪里 → 查找速度提升到 O(1)。 🔬 哈希深入学习 ① 哈希为什么不可逆?(数学基础)什么叫单向函数?单向函数(One-Way...








