一、AI大模型
1.AI 系统设计的整体框架
在工程抽象层面,AI System Design 从下到上通常可以概括为三类核心能力分层:
数据层(Data Layer) → 模型层(Model Layer) → 服务层(Serving Layer)
服务层负责将模型能力封装成稳定接口并提供错误兜底
工程视角下:
算法模块 = 一个"输入 → 输出"的计算单元
IMO:AI 功能的最小工程单元
IMO(Input--Model--Output)是 AI 功能的最小闭环结构(模型组建的最小工程单元)
输入→表征→推理→输出
-
Input(I):系统提供给 AI 的输入数据
-
Model(M):实现智能的模型/算法/策略组合
-
Output(O):AI 给系统的输出(预测/决策/生成内容)
2.AI模型完整工作流程【重点】
- 数据准备:采集、清洗、标注数据集
- 模型训练(Training) 利用训练数据,通过反向传播不断更新模型权重,让模型学习规律。
- 微调(Fine-tuning) 基于预训练大模型,使用自有小规模数据继续训练,适配特定任务。
- 模型评估与验证 在测试集检验精度、召回率等指标,筛选可用模型。
- 模型部署上线 → 推理(Inference)【线上生产阶段】 固定模型参数,接收用户实时请求,直接计算输出预测结果,不更新权重。
- 线上监控、数据回流 收集线上真实样本,定期迭代,回到步骤 2/3 重新训练微调,形成闭环。
二、HuggingFace
Hugging Face 并不仅是一个"模型下载网站",而是一套围绕 模型工程化 构建的基础设施。
传统软件开发: 程序员在 GitHub 上寻找开源代码、管理项目版本。
大模型时代开发: AI 工程师在 Hugging Face 上寻找预训练模型(Models)、下载训练数据(Datasets)、分享微调后的成果。
模型 = 一个可以被调用、被替换、被组合的组件
Pipeline 是 HuggingFace 提供的一种 "任务级接口"。
三、大模型任务推理通用流程图【标红】

四、模型选择与模型评估
1.模型参数量代表的是能力上限,而不是具体任务效果。
所以参数量并不是越大越好,模型越大,不代表系统越好,而是系统为能力付出了更高代价。
2.推理速度慢不只是算力和GPU的问题,输入形式等也会有显著影响
模型不变,光是改变使用方式,就足以让系统快慢差出几倍。
因此,性能优化往往来自:
prompt 设计、信息筛选、上下文组织
而不只是升级硬件。
*五、API交互基础
API(Application Programming Interface,应用程序编程接口)
1.参与方
1)Client(食客):请求发起方
你本人、浏览器、App、Python 程序、Postman
共同点:负责"点菜/下单",不负责做菜。
2)Server(厨房):请求处理方
Server(服务端)是真正干活的一方。 就是"做菜的人"
3)API(服务员):请求与响应的标准入口
为了方便理解,可以把 API 类比成餐厅里的服务员,
负责把 请求(点单) 送到厨房,再把 响应(结果) 带回来。
严格来说,API 不是一个具体的"人"或"程序",而是一套供客户端调用服务端功能的接口规范。
告诉你有什么接口、要传什么参数、会返回什么结构。
4)JSON(出菜格式):标准化的餐盒
厨房端出来的结果需要一种统一格式,最常见的就是 JSON。 它相当于"摆盘标准":字段清晰、机器易解析、人也能看懂。
2.调用一次API
要把一次 API 调通,本质上就把下面 4 件事填完整:
① URL(接口入口):你要调用哪个接口
-
Base URL:https://api.deepseek.com
-
Path:/chat/completions
Base URL + Path 共同组成一个 Endpoint(接口地址),每个 Endpoint 通常对应一种能力。
② Method(怎么调用):通常只记两种
-
GET:获取数据
-
POST:提交数据(LLM 请求一般用 POST)
③ Headers(请求元信息)
Headers 是请求的附加信息,告诉服务端"这个请求是谁发的、发的是什么格式"。
④ 参数(请求数据):把提示词与参数装进结构化数据
-
典型字段:model、messages、temperature、max_tokens 等
-
Body 就是"结构化点菜单"
处理请求后,服务器返回一个HTTP响应,响应通常包含:
-
状态码:
200 OK表示成功,401 Unauthorized表示API密钥无效,403 Forbidden表示无权限访问,429 Too Many Requests表示速率限制,500 Internal Server Error表示服务器内部错误。 -
响应体: 通常也是JSON格式,包含LLM生成的输出,这可能包括文本补全、使用统计(token计数)以及生成停止的原因等。
-
响应头也会带一些元信息,但本节主要关注"状态码 + 响应体(JSON)"
六、LangChain【重点】
LangChain 可以理解为:
一个专门用于开发大模型应用的工具框架。
它本身不是大模型,而是帮助开发者把 Prompt、模型、知识库、工具等能力组合起来,构建完整的大模型应用。
它可以帮助我们完成:
调用模型------管理对话------调用工具------构建工作流------调试与评估应用(结合LangSmith)
LangChain 生态中,专门用于调试、测试、评估和生产部署的可观测性平台叫做 LangSmith
在 AI 开发三层模型中,最底层是模型提供商的 API,中间层是 LangChain,最上层则是负责复杂 Agent 工作流的LangGraph
七、几个重要模型
1.transformer
Transformer 是基于自注意力机制搭建的深度学习模型,处理文本序列时能并行扫描全部输入,捕捉单词之间远距离关联,是大语言模型(GPT、LLaMA)的基础架构。
Transformer 两大核心模块:多头自注意力(捕捉全局词语关系) + FFN 前馈网络(单独加工每个词特征)
1)Transformer 整体结构
原始 Transformer 由两大模块构成:

- BERT → 纯 Encoder(双向,理解文本)
- GPT 系列 → 纯 Decoder(单向,生成文本)
- T5、BART → Encoder+Decoder(完整架构,机器翻译)
2.GPT
GPT 是基于 Transformer Decoder(解码器)结构做的 大语言模型,专门用来生成文本、续写、对话。
采用单向自注意力,预训练为因果语言模型(CLM),逐 token 预测下文
八、Python for AI
- 在大模型应用中,Python 只是工具,核心是"输入 → 处理 → 输出"
- 编程本质 = 一个函数(Function),其包含输入,工作和输出,语言不同,但编程的本质完全一样
- 语法不是能力本身,而是工具细节。不值得把大量精力花在记语法上
- 样板代码可以交给:编辑器、框架工具、生成式 AI
- AI 时代,编程不是写代码,而是设计流程
tips.乱七八糟的知识点【重点】
1.激活函数是给神经网络引入「非线性能力」。没有激活函数,再多网络层等价于单层线性模型,只能解决线性问题。
2.工程师常说"模型在工程中是行为可控的",这主要是因为模型在推理阶段遵循 y = model(x)
3.神经网络处理数据时,最常见的基本数值结构通常是张量(Tensor)
(统一规范的多维数组,神经网络所有输入、权重、中间计算结果,全都用张量存储)
4.在 PyTorch 训练流程中,执行 loss.backward( ) 的目的是计算各个参数的梯度
5.练神经网络的四个核心步骤是前向传播 → 计算损失 → 反向传播 → 更新参数
6.几种模型处理机制
FFN 前馈神经网络:对单个位置的特征独立做非线性变换
Attention 注意力机制:处理一个词时同步遍历整条序列
CNN 卷积神经网络:依靠滑动窗口提取局部邻近特征
RNN 循环神经网络:按顺序逐词串行处理文本,只能逐步传递信息
7.从文本到向量的流程中,正确顺序是文档加载------Cleaning(文本清洗) → Chunking(文本分块) → Tokenization(Token 分词) → Embedding(嵌入向量化)
这是rag索引构建阶段(注意区别SQL执行,其不属于RAG)
后面是检索生成阶段
8.带重叠的文本切分(Overlap)的主要作用是保留上下文信息
9.chunk_size过大或者过小都会导致检索不精确
10.RAG = Retrieval-Augmented Generation (中文:检索增强生成)大模型先去外部知识库检索资料,再结合检索到的资料来生成答案,解决大模型 "知识过时、会幻觉、不能读取私有文档" 的问题。第一步便是从文本到向量的流程中包含的步骤。
11.在工程实践中,中文 chunk 的常见长度范围是300-800字
12.TextSplitter 的核心设计目的不包括提高SQL执行速度, 如果使用错误的 tokenizer,会导致token ID 与模型语义不匹配
13.Token 在模型中的本质是数字编号 ,其数量会影响推理成本、GPU显存、推理速度
14.Embedding 向量的基本特性是语义相似 → 向量距离近\方向相近,Embedding 向量通常是高维浮点向量
15.神经网络只能处理数值张量,且向量化能保留语义相似关系,所以AI 系统需要把文本转换为向量
16.Embedding 的维度越高 通常意味着成本更高( 存储、内存、算力、检索耗时全部上升**)**
17.在向量检索系统中最常用的相似度计算方式 是余弦相似度
18.SDK 本质上是对 API 的封装,方便开发者调用
19.DocumentLoader 的作用是**加载文档,**将非结构化文件(如 PDF)转换为 LangChain 可处理的对象
20.加载一个目录下所有 .txt 文件 的 Loader 是DirectoryLoader
21.在本地使用 Ollama 运行量化模型时,最常用的模型文件后缀格式是**.gguf**
22.在检索增强生成(RAG)系统中,负责将用户问题转化为"向量"以便在数据库中搜索的模块 ,通常选用Encoder-only
23.在工程实践中,微调(Fine-tuning) 的首要目标通常是让模型的输出格式和行为变得稳定、可预测
24.相比于全量微调,LoRA(低秩自适应)微调的主要优势包括:
显存需求大幅降低、微调产物(Adapter)体积小,便于版本管理、训练速度更快
25.PEFT(Parameter-Efficient Fine-Tuning,参数高效微调) 的Adapter(适配器)通常具有可插拔、可切换、支持快速回滚 的特性
26.因为微调可以用短 Prompt 替代冗长的 Few-shot 指令,减少 Token 消耗 ,所以说微调可以降低工程成本
27.量化 = 把模型权重从高精度浮点数,转换成更低比特的低精度数值,即改变数值的位宽(Bit-width) , 目的:减小模型体积、降低显存占用、加速推理,代价是轻微损失精度
量化后的模型在逻辑推理上可能会有轻微下降
28.在量化格式中,BF16 相比于 FP16 的主要优势 是它保留了与 FP32 相同的指数位数(范围),训练时更稳定
29.蒸馏过程中引入"温度系数(Temperature, T)"的主要目的 是 让 Softmax 输出的概率分布变得更加平滑,从而暴露"暗知识"
30**.MCP** = Model Context Protocol(模型上下文协议)的作用是远程工具接入
(如接入agent)
31.LCEL 中 | 表示管道连接(Runnable 协议)
LCEL 的核心设计思想借鉴了,Unix 操作系统的管道(Pipeline),其核心优势 是数据流可读性强(可插入监控和调试)
LCEL 中 model 的输入类型 是PromptValue / messages
32.LangChain 的核心作用是编排LLM应用
33.LangChain 中 messages 的本质是结构化对话,SystemMessage 的作用是定义模型行为(控制模型行为)
34.PromptTemplate 的作用是模板化Prompt,ChatPromptTemplate 的核心特点是多角色结构化, 本质是结构化消息模板,MessagesPlaceholder 用于插入历史消息
35.PydanticOutputParser 的作用是解析并校验模型输出,使其符合 Pydantic 数据结构
36.如果 Prompt 没有 system role,可能导致行为不稳定
37.RunnablePassthrough 的作用是保留原始输入
38.Tool 的本质是外部能力函数
39.使用 @tool 装饰器定义工具 时,模型主要通过函数的名称和 Docstring(文档字符串)描述来判断"什么时候该用这个工具
40.在 LangChain v1 中,创建一个具备工具调用和系统角色的智能体 ,标准入口函数是create_agent( )
41.在 AI 应用栈的三层结构中,LangGraph 主要负责复杂的状态流转、循环执行与 Agent 编排
LangGraph 节点(Node)输入是完整的 State,输出是包含要更新字段的字典
42.在向量检索系统中,Top-K 的含义是返回最相似的K条结果
43.向量数据库中**"维度"** 的含义是向量长度
44.向量数据库中,除了存储高维向量,通常还会存储**"元数据(Metadata)"** ,其主要作用是存储文本来源、标签等辅助信息,方便后续过滤与溯源
45.在向量检索系统中,使用ANN算法(近似最近邻) 的主要原因是数据规模很大
建图、索引、桶算法常用于ann搜索算法
46.FAISS主要解决的问题是高效向量检索
FAISS = Facebook AI Similarity Search(Facebook开源的稠密向量相似检索工具库)
47.Product Quantization 算法的主要作用是向量压缩
48.RAG中"上下文注入 "指的是拼接检索内容到Prompt
上下文注入的位置 是检索之后
49.Retriever(检索器) 作用是检索相关文档
Retriever 返回的内容最终会被拼接进 Prompt