跳转至

基础能力:模型、上下文与推理

本页解释所有后续内容的共同底座。若不了解这些概念,很容易把“模型能力不足”“上下文不够”“检索没找到”“推理服务太慢”混为一类问题。

LLM:生成与推理的主体

问题 说明
是什么 基于 Transformer 的语言模型,根据已有 token 预测下一个 token。
解决什么 理解/生成文本、代码、结构化输出,以及基于给定上下文进行归纳和推理。
输入 系统规则、用户问题、对话历史、RAG 召回内容、工具结果。
输出 文本、结构化数据、工具调用请求或拒答。
不擅长什么 实时事实、私有知识、精确关系和未经提供的证据;这些需要外部知识系统。

模型参数中存的是训练得到的“能力与通用模式”,不是一套可精确查询、可随时更新的企业数据库。因此新规程、新设备、现场案例通常通过 RAG 或结构化系统注入,而不是只靠换一个更大模型。

Token、Prompt 与生成参数

Token 是模型处理文本的最小单元,不等同于汉字或单词。Prompt 是发给模型的完整输入,包含系统提示、用户问题、示例和上下文。

参数 改变什么 常见误区
Temperature 输出随机性;越高越发散。 不能修复没有检索到证据的问题。
Top-P 限制采样候选范围。 不应和 Temperature 一起盲目调大。
Max tokens 最大输出长度。 设太小会截断答案,设太大增加成本和等待。
System Prompt 长期规则、角色和输出边界。 不是知识库;写太长会挤占上下文。

Context:模型当前能看到的信息

Context 包含系统提示、聊天历史、工具返回和 RAG 片段。Context Window 是一次请求可容纳 token 的上限。

Context 越长,不代表回答必然越好:它会提高显存/成本,并可能让关键信息被噪声淹没。正确做法是用检索、压缩和结构化信息把“最相关且可信的少量证据”放入上下文。

KV Cache:为什么长上下文和并发吃显存

模型生成下一个 token 时会参考之前所有 token。KV Cache 保存历史 token 已计算出的注意力键和值,避免每次重复计算,因此可以加速逐 token 生成。

代价是:上下文越长、并发请求越多、模型层数/维度越大,KV Cache 占用越高。vLLM 的 PagedAttention 和 Ollama 的并发/上下文设置,本质上都在管理这部分内存。

Embedding 与 Reranker:不是回答模型

组件 输入与输出 解决什么
Embedding 模型 文本 → 固定维度向量 用“语义距离”找候选文档。
向量库 查询向量 → Top-K 候选片段 在大量片段中快速召回。
Reranker 问题 + 候选片段 → 相关性排序 从候选中找出最适合放入 Context 的证据。
LLM 问题 + 最终上下文 → 回答 组织答案、解释和引用。

这四者串成 RAG。若答案错误,需先定位是哪一环失败,而不是默认“模型不够聪明”。