什么是大模型
作者:程序员马丁
Ragent AI —— 从 0 到 1 纯手工打造企业级 Agentic RAG,拒绝 Demo 玩具!AI 时代,助你拿个offer。
你在公司做了一套客服系统,老板突然说:现在 AI 这么火,能不能接个 AI 进去,让它自动回答用户的问题?
你打开 DeepSeek 的网页版,试着问了几个业务问题,发现效果还不错——语句通顺,逻辑清晰,甚至能根据你给的上下文做总结。你心想,这东西要是能接到系统里,客服效率直接翻倍。
但问题来了:网页版是给人用的,你的 Java 系统怎么调用它?DeepSeek、通义千问、ChatGPT 这些名字你都听过,但它们到底是什么?背后的大模型又是什么东西?为什么有的模型叫 7B,有的叫 72B?网上说的 Token、Temperature、上下文窗口又是什么意思?
别急,这个系列就是帮你搞定这些问题的。从大模型基础到 RAG 系统的完整实现,一步步来。不过在动手写代码之前,咱们先花一篇的篇幅把大模型这个东西搞清楚——它是什么,怎么分类,有哪些核心概念,以及为什么开发者需要通过 API 而不是网页来使用它。
大模型到底是什么
1. 从写死规则到让机器自己学
做业务开发的同学对 if-else 再熟悉不过了。传统编程的思路是:你把所有的规则都写死在代码里。
比如做一个简单的客服自动回复:
if (question.contains("退货")) {
return "请在订单详情页点击申请退货";
} else if (question.contains("发货")) {
return "下单后 48 小时内发货";
} else {
return "请联系人工客服";
}
这种方式的问题很明显:用户的表达方式千变万化。我想退货、东西不想要了、买错了能退吗、这个怎么退啊——这些说的都是同一件事,但你的 if-else 只能匹配到包含退货两个字的那一种。你要是想覆盖所有说法,规则会写到崩溃。
后来有了传统 NLP(自然语言处理)技术,比如关键词匹配、TF-IDF、朴素贝叶斯分类器。这些方法比 if-else 聪明一点,能做一些统计层面的文本分析,但本质上还是在“数词频”“算概率”,并不真正理解语言的含义。你说:东西不想要了,它可能把东西和不想要拆开来分析,然后匹配到商品推荐而不是退货。
大模型(Large Language Model,LLM)的出现彻底改变了这个局面。
大模型的训练方式可以简单理解为:让机器阅读互联网上海量的文本数据(书籍、网页、论坛、代码、百科……),从中学习语言的规律和知识。它不是靠人写规则,而是靠“读”了足够多的文本之后,自己“悟”出了语言是怎么运作的。
打个比方:传统编程像是给一个人一本操作手册,手册上写了遇到 A 情况就做 B,手册没写的它就不会。传统 NLP 像是让这个人去数词频、算概率,能做一些简单的判断,但理解不了复杂的语境。而大模型更像是让一个人从小读了几百万本书,虽然没人教过它具体的规则,但它通过大量阅读自然而然地学会了语言的用法、常识和推理能力。
所以当你问大模型:东西不想要了,它能理解你说的是退货,因为它在训练数据中见过无数类似的表达方式,知道这句话在购物场景下就是退货的意思。
2. 大模型的到底大在哪
大模型这个名字里的“大”,指的是模型的参数量。
你可能在各种文章里见过 7B、14B、72B 这样的数字。这里的 B 是 Billion(十亿)的缩写,7B 就是 70 亿个参数,72B 就是 720 亿个参数。
参数是什么?你可以把它理解为模型大脑里的连接数。人类大脑有大约 100 万亿个突触连接,这些连接存储了我们的记忆、知识和思维能力。大模型的参数类似——每个参数都是一个数字,所有参数组合在一起,构成了模型对语言的理解能力。
参数越多,模型能记住的知识就越多,能处理的语言现象就越复杂,回答的质量通常也越高。但代价是需要更多的计算资源(显存、算力)来运行。
下面这张表给你一个直观的感受:
| 参数量级 | 代表模型 | 大致能力 | 运行硬件需求 |
|---|---|---|---|
| 1.7B(17 亿) | Qwen3-1.7B | 简单对话、文本分类,复杂任务容易出错 | 消费级显卡(4GB 显存) |
| 8B(80 亿) | Qwen3-8B、Llama3-8B | 日常对话、简单问答、基础代码生成 | 消费级显卡(8~16GB 显存) |
| 14B(140 亿) | Qwen3-14B | 较好的对话和推理能力,中等复杂度任务 | 中端显卡(16~24GB 显存) |
| 32B(320 亿) | Qwen3-32B | 优秀的推理和代码能力,接近大参数模型 | 高端显卡(24~48GB 显存) |
| 72B(720 亿) | Qwen3-72B | 接近顶级闭源模型的能力,复杂推理和创作 | 多卡服务器(80GB+ 显存) |
| 671B(6710 亿) | DeepSeek-V3 | 顶级能力,对标 GPT-4 | 大规模集群 |
这里说的运行硬件需求是指本地部署模型时需要的资源。如果你通过 API 调用(比如调用 SiliconFlow 平台上的模型),硬件问题由平台方解决,你只需要一台能联网的电脑就行。后续系列中我们都是通过 API 调用,不涉及本地部署。
一个常见的误区是“参数越大越好”。实际上,对于很多应用场景(比如 RAG 系统中的问答),14B 或 32B 的模型就够用了。参数量大的模型虽然能力更强,但推理速度更慢、成本更高。选模型要看场景,不是越大越好。
3. 几个你必须知道的核心概念
在后续调用大模型 API 的时候,有几个概念会反复出现。现在先搞清楚,后面用到的时候就不会懵。
3.1 Token:大模型的计量单位
大模型处理文本的时候,不是 按字或词来算的,而是按 Token。
Token 是模型内部的最小处理单元。你可以把它理解为模型把文本切碎后的小片段。不同语言的切法不一样:
- 英文:大致 1 个单词 ≈ 1~1.5 个 Token。比如 "hello" 是 1 个 Token,"unbelievable" 可能被切成 "un" + "believ" + "able" 共 3 个 Token
- 中文:大致 1 个汉字 ≈ 1
2 个 Token。比如“你好”可能是 2 个 Token,“人工智能”可能是 23 个 Token
为什么要知道这个?两个原因:
- API 调用按 Token 计费。你发给模型的文本(输入)和模型返回的文本(输出)都会消耗 Token,Token 用得越多,花的钱越多
- 上下文窗口是按 Token 算的(下面马上讲)。你能塞给模型的信息量,取决于 Token 数量,而不是字数
不需要精确计算每句话有多少 Token,有个大概的感觉就行。大多数 API 平台在返回结果时会告诉你这次调用消耗了多少 Token。
3.2 上下文窗口(Context Window)
上下文窗口是模型一次对话中能看到的文本总量上限,单位是 Token。
打个比方:你和一个人聊天,这个人的记忆力有限,只能记住最近说过的 N 句话。如果你们的对话超过了 N 句,最早的那些话就被忘掉了。大模型的上下文窗口就是这个 N,只不过单位是 Token 而不是句子。
常见的上下文窗口大小:
| 上下文窗口 | 大约能容纳的中文字数 | 代表模型 |
|---|---|---|
| 4K Token | 约 2000~3000 字 | 早期模型(GPT-3.5 初版) |
| 8K Token | 约 4000~6000 字 | GPT-3.5-Turbo |
| 32K Token | 约 16000~24000 字 | GPT-4-32K |
| 128K Token | 约 64000~96000 字 | GPT-4-Turbo、Qwen2.5 系列 |
| 1M Token | 约 50 万~75 万字 | Gemini 1.5 Pro |
上下文窗口包含了你发给模型的所有内容(系统提示词 + 历史对话 + 当前问题)和模型的回答。如果总量超过了窗口大小,最早的内容会被截断,模型就看不到了。
这个概念在 RAG 中非常重要。你可能想过:既然大模型这么聪明,我把整本产品手册都塞给它,让它自己找答案不就行了?问题是,一本产品手册可能有几十万字,远远超过大多数模型的上下文窗口。就算窗口够大,塞太多内容模型也容易迷失在信息海洋里,找不到重点。这就是为什么 RAG 系统需要先检索出最相关的片段,只把这些片段塞给模型——既不超窗口,又能让模型聚焦在关键信息上。
3.3 Temperature:控制回答的创造力
Temperature(温度)是调用大模型时的一个重要参数,用来控制回答的随机性。
- Temperature = 0:模型每次都会选择概率最高的那个词,回答最确定、最稳定,但可能比较死板
- Temperature = 0.7:模型会在高概率的词里随机选择,回答更自然、更有变化
- Temperature = 1.0 或更高:模型的选择更加随机,回答更有创意,但也更容易胡说八道
用考试来类比:Temperature = 0 就像一个学霸,每道题都写标准答案,稳 定但没有惊喜;Temperature = 1.0 就像一个有创意的学生,有时候能写出精彩的答案,有时候也会跑偏。
不同场景下 Temperature 的推荐值:
| 场景 | 推荐 Temperature | 原因 |
|---|---|---|
| RAG 问答 | 0~0.3 | 需要准确回答,不要发挥 |
| 代码生成 | 0~0.2 | 代码需要精确,不能有随机性 |
| 日常对话 | 0.5~0.7 | 需要自然流畅,但不能太离谱 |
| 创意写作 | 0.7~1.0 | 需要多样性和创造力 |
在 RAG 场景下,我们通常把 Temperature 设得很低(0 或 0.1),因为答案已经在检索到的文本片段里了,模型只需要忠实地整理和表达,不需要发挥创造力。
3.4 MoE:混合专家架构
在后面的模型对比表中,你会频繁看到 MoE 这个词,比如“671B(37B 激活,MoE)”。这里先简单解释一下它是什么。
MoE 全称 Mixture of Experts(混合专家),是一种模型架构设计。传统的大模型(Dense Model,稠密模型)在处理每个输入时,所有参数都会参与计算。而 MoE 模型内部被拆分成了多个专家子网络,每次推理时只激活其中一部分专家来处理当前输入,其余专家不参与计算。
举个例子,DeepSeek-V3 的总参数量是 671B,但每次推理只激活 37B 的参数。这意味着它拥有 671B 参数量级的知识容量,但实际推理时的计算开销只相当于一个 37B 的模型。
MoE 的好处很直观:用更低的计算成本获得更强的模型能力。这也是为什么近两年很多大参数量的模型都采用了 MoE 架构——它让大模型在推理成本上变得更可控。
作为 RAG 应用开发者,你不需要深入理解 MoE 的实现细节,只需要知道:当你看到模型参数写的是“671B(37B 激活,MoE)”时,实际推理消耗的资源大致对应 37B 这个数字,而不是 671B。
当前主流大模型一览
大模型这个领域发展非常快,几乎每个月都有新模型发布。这里不追求面面俱到,只帮你建立一个基本的"模型地图",知道主流的模型有哪些、各自什么定位就够了。
1. 国际主流模型
| 模型系列(举例) | 厂商 | 特点 | 是否开源 |
|---|---|---|---|
| GPT 系列(GPT-5.2 / GPT-5.2 pro 等) | OpenAI | 综合能力与生态最成熟;推理、工具调用、Agent 工作流能力强 | 否 |
| Claude 系列(Claude Opus 4.6 / Sonnet 4.6) | Anthropic | 代码与长上下文能力突出;“computer use/代理”能力强;安全与对齐投入大 | 否 |
| Gemini 系列(Gemini 3.1 Pro / Gemini 3 Flash) | 原生多模态(文/图/音/视频);超长上下文(最高 1M);与 Google 生态结合紧密 | 否 | |
| Llama 系列(Llama 4 Scout / Maverick) | Meta | 开放权重生态最强之一;社区活跃、部署与微调方案成熟;MoE + 多模态 | 是(开放权重) |
这几个模型在国内 使用都有一定门槛:GPT 和 Claude 需要海外网络环境,Gemini 同理。Llama 虽然开源可以本地部署,但对硬件要求较高,而且中文能力不如国内模型。
2. 国内主流模型
国内大模型这两年发展很快,尤其是开源模型,在中文场景下的表现已经非常出色。
| 模型系列(最新) | 厂商 | 特点 | 是否开源 |
|---|---|---|---|
| DeepSeek 系列(V3 / R1 等) | 深度求索(DeepSeek) | 性价比高;推理能力强(R1);开放权重、可商用;社区生态活跃 | 是(MIT)(Hugging Face) |
| 通义千问 Qwen 系列(Qwen3.5) | 阿里云 / 阿里巴巴 | Agent 生态强、工具调用/多模态路线清晰;尺寸覆盖广;开源生态完善 | 是(Apache-2.0,开放权重)(Hugging Face) |
| 智谱 GLM 系列(GLM-5) | 智谱 AI / Z.ai | 面向复杂系统工程与长程 Agent 任务;推理/编码/Agentic 能力强化;GLM-5 已开源且 MIT 许可 | 是(MIT) (Hugging Face) |
| MiniMax 系列(MiniMax-M1 / abab 6.5) | MiniMax | M1 主打超长上下文 + 高效推理(百万级输入);abab 6.5 系列面向通用对话/长上下文 | 部分开源(M1 开源 Apache-2.0;abab 多为服务型) (MiniMax) |
| Kimi 系列(Kimi K2.5) | 月之暗面(Moonshot AI) | 长文档/多模态 + Agent;K2.5 开源权重,Modified MIT 许可;并提供兼容 OpenAI/Anthropic 的 API | 是(Modified MIT) (Hugging Face) |
其中 DeepSeek 和 Qwen 仍然是国内开放权重生态里最核心的两条主线:DeepSeek 更偏“推理 + Agent 训练 + 极致性价比”,Qwen 更偏“全尺寸覆盖 + agentic 能力 + 完整开源生态”。后续系列中我们会重点使用这两个系列的模型。
2.1 DeepSeek:推理能力的代表
DeepSeek 最出圈的依然是 DeepSeek-R1,在数学推理、代码生成、复杂规划等场景表现很强,并且开放权重发布,便于社区复现、微调与本地部署。
最新的 DeepSeek-V3.2 进一步面向 Agent 场景做了强化,支持把“思考”更直接地融入工具调用(Thinking in Tool-Use),同时保持较高的性价比与可用性。
另外,DeepSeek 的 API 定价长期处在行业低位,对开发者做原型、跑评测与上线都比较友好。
2.2 Qwen:中文场景的全能选手
通义千问 Qwen 系列的优势在于 模型谱系完整(从小模型到旗舰 MoE 都有)、中文能力稳定、并且围绕 Hugging Face / ModelScope / DashScope 等形成了较成熟的开源与部署生态。
最新的 Qwen3.5 更强调 "agentic" 方向,在复杂任务分解、工具使用与多模态场景上持续增强。
3. 模型对比表
下面这张表把主流模型的关键信息放在一起,方便你对比:
| 模型 | 厂商 | 参数量 | 上下文窗口 | 开源 | 主要特点 |
|---|---|---|---|---|---|
| GPT-5.2 pro | OpenAI | 未公开 | 400K | 否 | 强推理 + 工具/多轮交互;旗舰 API 能力 |
| Claude Sonnet 4.6 | Anthropic | 未公开 | 200K(默认)/ 1M(Beta) | 否 | 代码与长上下文强;computer-use/Agent 能力突出 |
| Gemini 3.1 Pro | 未公开 | 1M | 否 | 原生多模态;长上下文;适合复杂资料/代码库 | |
| Llama 4 Maverick(17Bx128E) | Meta | 400B(17B 激活,MoE) | 1M | 是(开放权重) | 多模态 + MoE;本地部署/微调生态成熟 |
| DeepSeek-V3.2(deepseek-chat) | 深度求索 | 671B(37B 激活,MoE) | 128K | 是(MIT) | 通用 + Agent 取向;支持 Thinking in Tool-Use;性价比高 |
| DeepSeek-R1(deepseek-reasoner) | 深度求索 | 671B(37B 激活,MoE) | 128K | 是(MIT) | 深度思考推理;数学/代码/规划强 |
| Qwen3.5-397B-A17B | 阿里巴巴 | 397B(17B 激活,MoE) | 262K | 是(Apache-2.0) | 旗舰开放权重;偏 agentic;长上下文更强 |
| Qwen3-32B | 阿里巴巴 | 32B | 32K(原生)/ 131K(YaRN) | 是(Apache-2.0) | 中大型开源;适合私有化、RAG、微调 |
| Qwen3-8B | 阿里巴巴 | 8B | 32K(原生)/ 131K(YaRN) | 是(Apache-2.0) | 轻量部署;成本敏感/边缘侧更友好 |
| GLM-5 | 智谱 AI(Z.ai) | 744B(40B 激活,MoE) | 200K | 是(MIT) | 面向 Coding/Agent;长上下文 + 高输出上限(128K) |
大模型领域更新极快,上面的信息以写作时为准。具体到某个模型的最新版本和能力,建议查阅各厂商的官方文档。
Chat 模型:我们真正要调用的东西
你在网页端用的 DeepSeek、通义千问,或者通过 API 调用的模型,其实都是一种特定类型的大模型——Chat 模型。但大模型并不是天生就会聊天的,它需要经过专门的训练才能变成一个合格的对话助手。
1. 基座模型(Base Model)vs Chat 模型
大模型的训练分两个阶段:
第一阶段是预训练(Pre-training)。模型阅读海量文本数据,学习语言的规律。训练完成后得到的就是基座模型(Base Model)。基座模型有一个特点:它只会续写。你给它一句话,它会接着往下写,但它不会回答问题。
举个例子,你给基座模型输入:中国的首都是,它可能会续写出:北京,是中华人民共和国的政治中心、文化中心……——看起来像是在回答问题,但其实它只是在做文本续写,因为训练数据里“中国的首都是北京”这种句式出现过很多次。
但如果你对它说:请根据以下用户反馈,判断用户的情绪是正面、负面还是中性,只输出情绪类别,不要输出其他内容。用户反馈:物流太慢了,等了一周才到。基座模型不会乖乖输出“负面”两个字,它更可能接着你的文本继续写下去——比如再编几条用户反馈,或者写一段关于情绪分析的介绍文章。因为它不理解“只输出情绪类别”是一个指令,它只是在预测下一个最可能出现的词。
第二阶段是对齐训练(Alignment)。在基座模型的基础上,通过指令微调(Instruction Tuning)和人类反馈强化学习(RLHF)等技术,教会模型理解人类的指令,并按照指令给出有用、安全的回答。训练完成后得到的就是 Chat 模型(也叫 Instruct 模型)。
简单说:基座模型是读了很多书的学生,Chat 模型是读了很多书,又经过面试培训,学会了怎么和人沟通的员工。

1.1 模型命名规则解读
了解了基座模型和 Chat 模型的区别,你就能看懂模型的命名了。不过要注意,命名规则并不是一成不变的,不同系列、不同代际、不同平台之间会有差异。
作为开发者,我们调用 API 或本地部署时用的几乎都是 Chat 模型。下面是一些常见的 Chat 模型命名规则:
Qwen 系列:
Qwen2.5-7B-Instruct:Instruct 后缀明确标注这是 Chat 模型Qwen3-14B:到了 Qwen3 系列,默认发布的就是 Chat 模型,不再需要 Instruct 后缀
DeepSeek 系列:
DeepSeek-V3:通用对话模型(Chat 模型),V3 表示第三代DeepSeek-R1:推理增强模型,R 代表 Reasoning(推理),专门强化了深度思考能力
平台差异:
同一个模型在不同平台上的命名可能不一样。比如 Qwen2.5-7B-Instruct 这个 Chat 模型:
- 在 Hugging Face 上叫
Qwen2.5-7B-Instruct - 在 Ollama 上可能简化为
qwen2.5:7b(省略了 Instruct 后缀) - 在 SiliconFlow API 上可能叫
Qwen/Qwen2.5-7B-Instruct(加了命名空间前缀)
Ollama、Hugging Face 这类平台为了简化用户使用,默认提供的都是 Chat 版本。如果你不确定某个模型是不是 Chat 版本,可以:
- 查看平台的模型说明页面
- 如果是 Ollama,可以通过
ollama show --modelfile <模型名>查看 modelfile,看是否包含对话模板(如<|im_start|>)、System Prompt 等 Chat 模型特征
常见后缀含义:
| 后缀 | 含义 | 示例 |
|---|---|---|
| -Instruct | 经过指令微调的 Chat 模型 | Qwen2.5-7B-Instruct |
| -Chat | 和 Instruct 类似,强调对话能力 | GLM-4-Chat |
| -GPTQ / -AWQ | 量化版本,模型体积更小,适合低资源部署 | Qwen2.5-7B-Instruct-GPTQ-Int4 |
基座 模型(Base Model)通常会明确标注
-Base后缀,主要是给做模型微调的研究人员用的。在 RAG 开发中,我们只需要关注 Chat 模型。
2. 为什么 RAG 系统只需要 Chat 模型
RAG 系统的工作流程是:用户提问 → 从知识库中检索相关文本片段 → 把问题和检索到的片段一起发给大模型 → 模型根据这些片段回答问题。
在最后一步生成回答中,模型需要做的事情是:理解用户的问题,阅读给定的文本片段,然后组织语言回答。这正是 Chat 模型擅长的——理解指令、根据上下文回答问题。
基座模型做不到这一点。你把问题和文本片段塞给基座模型,它可能会接着你的文本继续"写"下去,而不是回答你的问题。
所以在整个 RAG 系列中,我们调用的都是 Chat 模型。
3. 本地部署模型时的量化
前面的命名规则表格里提到了 -GPTQ、-AWQ 这类后缀,它们代表的是模型的量化版本。
3.1 什么是量化
大模型的参数本质上就是一堆数字(权重)。
这句话怎么理解?你可以把大 模型想象成一个巨大的打分表。当你输入一句话时,模型会把这句话拆成一个个词(token),然后通过成千上万层的计算,最终算出下一个词最可能是什么。而每一层计算里用到的那些乘法系数、加法偏移量,就是所谓的参数——它们都是具体的数字,比如 0.0012、-1.357、0.889 这样的小数。
举个简化的例子:假设模型要判断“今天天气”后面接什么词,它内部可能有这样的计算:
"晴" 的得分 = 输入向量 × 0.82 + (-0.15) = 3.7
"雨" 的得分 = 输入向量 × 0.41 + 0.23 = 1.2
这里的 0.82、-0.15、0.41、0.23 就是参数(权重)。模型在训练阶段通过海量文本不断调整这些数字,让它的打分越来越准。训练完成后,这些数字就固定下来,保存成文件——这就是你下载到的模型文件。
所谓 7B 模型有 70 亿参数,意思就是模型里有 70 亿个这样的数字。训练时这些数字通常用高精度的浮点数存储,比如 FP16(16 位浮点数)或 BF16(16 位脑浮点数),每个参数占 2 个字节。一个 7B 的模型,光是存储权重就需要约 14GB 显存。
在展开量化之前,先搞清楚这些精度格式到底是什么。