大模型的叙事几乎都围绕云端 API 展开,但对桌面软件来说,"把推理能力装进本地"这个方向越来越有讨论价值。不是所有软件都需要一个聊天框,工具类软件对 AI 的需求形态、资源预算、可靠性要求都和聊天应用不一样。这篇文章聊聊我在做桌面工具时,对本地推理…
智能AI
大模型、AIGC 与智能化应用的实践与思考。
三者改动的是三个不同的东西 把一次生成写成条件分布 P(y | x; θ),x 是输入上下文,θ 是权重。三条路线各自动一个变量: 路线 改动对象 模型权重 知识来源 提示词工程 x 不变 靠上下文现场提供 RAG x(拼接检索结果) 不变 外部库,运行时拉取 …
大模型对话接口本质上是"文本进、文本出"。用户问天气,模型只能给出一段看起来像天气信息的文字,它并不能真的去看一眼气象数据。Agent 想解决的就是这个断层:让模型不仅会说,还会做——查数据库、调接口、读文件、执行脚本,把结果拿回来继续推理。 从"会…
根因:指令和数据共用同一个通道 传统软件里代码和数据界限清晰。SQL 用参数化查询把值和语句分开,操作系统用内存段权限区分可执行与可写,浏览器用转义把用户输入变成纯文本。这些都是硬边界,由系统机制保证。 语言模型应用里没有这种边界。系统指令、用…
调提示词这件事,业余做法是"感觉不对就换种说法",工程做法是把影响输出稳定性的变量一个个固定下来。下面这六个技巧不是什么秘籍,它们的共同点是:减少模型需要猜测的空间。模型猜测越少,输出方差越小。 每个技巧后面都附了可直接复制改造的提示词片段。…
公开基准的污染问题 公开基准的题目来自互联网:论坛、问答社区、教科书习题、竞赛真题。训练语料的来源也是互联网。这两批数据大面积重叠,于是出现数据污染——模型在训练时见过测试题,甚至见过题目和答案的配对。 污染的形态比"原题照搬"更难查。常见的是…
大模型的知识来自训练数据,训练截止之后发生的事它不知道;企业内部的文档、代码规范、产品手册,它更不可能见过。更麻烦的是,当模型对某个问题"没有把握"时,它并不会停下来,而是顺着语言习惯把答案编下去——这就是幻觉(hallucination)。 RAG(Retrieva…
把大模型跑在自己的机器上,动机通常就三类:数据不能出内网、长期调用的 API 成本压不下来、离线环境也要能用。这三条里任何一条成立,本地推理就值得认真考虑。 本地部署的技术门槛比调 API 高不少,但核心知识并不杂,主要就是三块:量化(把模型压小)、…
用大模型做开发,最先撞上的不是模型能力,而是三个"物理约束":Token、上下文窗口、采样参数。它们分别决定了你的输入怎么被计费和截断、一次能塞进多少内容、以及输出到底稳不稳定。把这三个概念吃透,后面调提示词、搭 RAG、做 Agent 都会顺很多。 一、To…
自回归解码在重复算什么 解码第 t 个 token 时,注意力要用到前 t 个位置全部的 K 和 V。朴素实现每个 step 把整个前缀重新过一遍网络,第 t 步的代价是 O(t),生成 n 个 token 的总代价是 O(n²)。更浪费的是,第 t 步真正新算出来的只有第 t 个位置的 q、k…
精确检索为什么撑不住 文本嵌入的常见维度是 768、1024、1536。在低维空间里,k-d tree 之类的空间划分结构能把最近邻查询压到对数时间;维度一高就失效——划分超平面几乎切不动数据,剪枝条件从不成立,实测退化成全表扫描,比裸暴力还慢(多了树遍历开销)…
ViT 把图像变成序列 卷积网络处理图像时保留二维结构,每一层的特征图还是 H×W×C。Vision Transformer 换了个思路:先把图像拆成块,让它在形式上变得和句子一样。 输入: H × W × 3 切块: P × P 大小的 patch,步长 P,共 N = (H/P) × (W/P) 块 展平: 每…
完整链路 RAG 不是"接个向量库"这么一件事,它是一条有八个环节的流水线,任何一环掉链子都会体现在最终答案上: 文档解析 → 切块 → embedding → 入库 → 检索 → 重排 → 拼装 → 生成 解析环节最容易被低估。PDF 转文本会丢掉表格结构、把双栏排版读成左右交…
一个 AI 应用上线之后,最常被问到的两个问题是"这次调用为什么这么慢"和"效果怎么突然变差了"。传统后端服务在这两件事上有成熟答案,但模型调用链路把大部分既有假设都推翻了。 传统 APM 缺的到底是什么 APM 的核心抽象是:一个请求穿过若干服务,每个服务…
点积是一次可微的软检索 把每个 token 表示成 d_model 维向量,一句话就是矩阵 X ∈ R^(n×d)。注意力层用三个可学习投影把它变成三份: Q = X W_Q K = X W_K V = X W_V 几何含义比公式更好用:K 是"我能被什么检索到"的标签,Q 是"我现在要找什么"的探…
"请输出 JSON"为什么经常失败 在提示词里写"只输出 JSON,不要其他内容",成功率取决于模型、任务复杂度和运气。失败模式很固定:前面加一句"好的,这是结果:"、后面加一段解释、用单引号、末尾多一个逗号、字段值里出现未转义的换行或引号、字段名和要求的…
推理成本过高时,摆在面前的通常有三条路:蒸馏、剪枝、低秩分解。它们的名字常被并列提及,但改变的东西完全不在同一个层面。区分清楚"动的是什么",是选择路线的第一步。 三条路线分别动的是什么 蒸馏改的是学习信号。教师的输出分布成为学生的监督目标,…
调用一个 embedding 接口拿到一串浮点数,然后算余弦相似度排序——这条链路看起来简单,但线上效果不达标的检索系统,有相当一部分问题出在这几步的细节上,而不是模型本身的能力。 相似度由任务定义,不由模型定义 通用 embedding 模型的训练目标通常是"语义…