# LLM-Agent-Core_Concept_Code
**Repository Path**: CoreTheGreat/LLM-Agent-Core_Concept_Code
## Basic Information
- **Project Name**: LLM-Agent-Core_Concept_Code
- **Description**: Designed essential LLM course for zero to LLM, a tutorial to follow up. 体系化的大模型与智能体快速上手教学
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-23
- **Last Updated**: 2026-03-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# LLM & Agent 核心技术实战教程
从 Transformer 原理 → 训练/对齐 → 推理优化 → 可运行 Agent 系统落地
Notebook 驱动 · 双路线可选 · 工程导向 · 强调 Agent 实战
---
## 目录
- [📌 项目定位](#-项目定位)
- [🎯 这门课适合谁](#-这门课适合谁)
- [⚡ 快速入口(Agent First)](#-快速入口agent-first)
- [🧭 路线图(双路线选择)](#-路线图双路线选择)
- [📚 章节导览(点击直达)](#-章节导览点击直达)
- [🤖 Applications:Agent 实战案例(重点)](#-applicationsagent-实战案例重点)
- [🧩 Bonus:进阶专题](#-bonus进阶专题)
- [🛠 环境配置](#-环境配置)
- [🧰 模型与技术栈](#-模型与技术栈)
- [🗂 项目结构](#-项目结构)
- [📄 License](#-license)
---
## 📌 项目定位
这是一套以 **Jupyter Notebook** 为载体的「LLM + Agent」核心技术实战教程:
**把“黑盒大模型”拆开讲清楚,再把能力落到可运行的 Agent 工程**。
你将在短时间内获得:
- **白盒理解**:从 Autograd/Attention/Transformer 到 GPT 组装,关键机制可视化
- **训练与对齐闭环**:Pretrain → SFT → DPO(偏好对齐),同时覆盖 *工具链路线* 与 *自实现路线*
- **推理优化直觉**:KV Cache 的形状/显存/吞吐权衡
- **Agent 落地能力**:ReAct / RAG / Code Agent / Multi-Agent,可直接运行的工程案例 + 可复用后端抽象
---
## 🎯 这门课适合谁
### 适合人群
| 你是谁 | 来这里的典型目标 | 你会带走什么 |
|---|---|---|
| 工程师 / 研发 | 从“会调 API”进阶到“能评估/搭建/落地 LLM & Agent 系统” | 工业级工具链(Transformers/PEFT/TRL) + Agent 工程模板 |
| 学生 / 研究者 | 需要一套能跑通的代码库来建立直觉、验证想法 | 从零实现链路 + 透明的训练/对齐/评测过程 |
| 产品 / 数据 / 运营 | 想获得技术判断力:成本/效果/边界 | 主流技术栈与方案边界、落地模式与取舍 |
### 前置要求(尽量低门槛)
- ✅ **Python 3.8+**(推荐 Python 3.9),能运行 Notebook(Jupyter/Lab)
- ✅ 基本编程能力即可(不要求系统的 DL/数学背景)
- ➕ **推荐 NVIDIA GPU**:SFT/LoRA/DPO 等章节更顺畅(CPU 也可阅读与小规模演示)
---
## ⚡ 快速入口(Agent First)
> 如果你目标是“先跑起来,再回头补原理”,从这里开始最省时间。
| 目标 | 直接跳转 | 你会得到 |
|---|---|---|
| 本地免费跑 Agent(推荐) | [`Applications/PREPARE_OLLAMA.ipynb`](./Applications/PREPARE_OLLAMA.ipynb) → App1 | 本地 LLM 后端连通 + Agent 全流程可跑 |
| 只想看最经典 Agent 模式 | [`App1_ReAct_Agent.ipynb`](./Applications/App1_ReAct_Agent.ipynb) | Thought-Action-Observation 循环 + 工具调用 |
| 想做知识库问答(企业最常见) | [`App2_RAG_System.ipynb`](./Applications/App2_RAG_System.ipynb) | 分块/向量检索/上下文注入的 RAG 工程 |
| 想做“能写代码并执行”的智能体 | [`App3_Code_Agent.ipynb`](./Applications/App3_Code_Agent.ipynb) | 代码生成 + 安全执行 + 自修复循环 |
| 想做多角色协作 | [`App4_Multi_Agent.ipynb`](./Applications/App4_Multi_Agent.ipynb) | Planner/Coder/Reviewer/Tester 协作框架 |
---
## 🧭 路线图(双路线选择)
本教程整体结构:**基础 → 架构 → 训练 →(双路线对齐)→ 推理优化 → 系统落地 → Agent 实战**。
> 说明:Mermaid 在移动端/窄屏上可能会拥挤。我把路线图放进折叠块;你也可以直接看下方的「路线对比表」快速决策。
展开查看:路线图(Mermaid)
```mermaid
graph TD
%% 定义样式
classDef base fill:#f9f,stroke:#333,stroke-width:2px;
classDef phase fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef gpu fill:#fff3e0,stroke:#ff6f00,stroke-width:2px;
classDef cpu fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
classDef system fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
subgraph P1 [Phase 1: 基础直觉]
direction TB
Ch0(Ch0 Quick Start) --> Ch1(Ch1 Autograd) --> Ch2(Ch2 Embedding)
end
subgraph P2 [Phase 2: 架构核心]
direction TB
Ch3(Ch3 Self-Attention) --> Ch4(Ch4 Transformer Block) --> Ch5(Ch5 GPT Assembly)
end
subgraph P3 [Phase 3: 训练流水线]
direction TB
Ch6(Ch6 Tokenizer) --> Ch7(Ch7 Pretraining)
end
%% 连接阶段
P1 --> P2 --> P3
subgraph P4 [Phase 4: 对齐微调]
direction TB
Choice{选择路线}
subgraph RouteA [路线 A: 工业工具链 GPU]
direction TB
A8(Ch8 SFT) --> A9(Ch9 LoRA/QLoRA) --> A10(Ch10 DPO)
end
subgraph RouteB [路线 B: 自建小型GPT CPU]
direction TB
B01(01 Model) --> B02(02 Pretrain) --> B03(03 SFT) --> B04(04 DPO) --> B05(05 Eval)
end
Choice -->|追求落地| RouteA
Choice -->|追求原理| RouteB
end
P3 --> Choice
subgraph P5 [Phase 5: 推理优化]
Ch11(Ch11 KV Cache)
end
A10 --> Ch11
B05 --> Ch11
subgraph P6 [Phase 6 & 7: 系统落地]
direction TB
Ch12(Ch12 Agent & RAG) --> Apps(Applications Agent实战)
end
Ch11 --> Ch12
%% 应用样式
class P1,P2,P3 phase;
class RouteA gpu;
class RouteB cpu;
class P5,P6 system;
```
### 路线对比(准确硬件 & 学习收益导向)
| 维度 | 路线 A · HuggingFace 工具链 | 路线 B · 自建小型 GPT |
|:---|:---|:---|
| **核心价值** | 掌握工业级工具链,快速落地(SFT/LoRA/DPO + Agent) | 拆解训练全链路,建立底层直觉(白盒可控实验台) |
| **技术栈** | `transformers` / `peft` / `trl` | 纯 PyTorch 自实现 |
| **模型规模** | 102M(GPT-2 Chinese)→ 494M(Qwen2.5-0.5B) | ~14M(RoPE / RMSNorm / SwiGLU) |
| **硬件要求** | **建议 GPU**(尤其 DPO;**QLoRA 需要 CUDA/bitsandbytes**) | **CPU 友好**(可完整跑通) |
| **透明度** | 工具封装(灰盒) | 100% 透明(白盒,可改可复现) |
| **生产贴近度** | 高(直接可迁移到生产/团队实践) | 中低(更偏学习/实验/研究) |
#### 路线 A 的“真实运行”提示(按章节)
- **Ch8 SFT**:GPT-2 Chinese(102M)— **CPU 可跑但慢**(GPU 更舒适)
- **Ch9 LoRA**:GPT-2 Chinese(102M)— **CPU 可跑**;**QLoRA 依赖 bitsandbytes,仅 CUDA**
- **Ch10 DPO**:Qwen2.5-0.5B(494M)— **强烈建议 GPU**(CPU 会非常痛苦)
#### 推荐组合
两条路线相互独立,可单独完成;也可交叉学习获得更完整视角。
**推荐节奏:先走路线 A(落地与工具链)→ 再走路线 B(白盒补全与可控对照)。**
---
## 📚 章节导览(点击直达)
### Phase 1:基础直觉(Foundations)
| 章节 | 主题 | Deliverable | Key Ideas |
|---|---|---|---|
| [**Ch0**](./Ch0_Quick_Start/Ch0_Quick_Start.ipynb) | Quick Start | 最小训练闭环(数据→loss→更新) | 训练循环、优化器、指标与可视化 |
| [**Ch1**](./Ch1_Autograd/Ch1_Autograd.ipynb) | Autograd | 手写 Micrograd / 计算图反传 | 计算图、链式法则、`backward()` 本质 |
| [**Ch2**](./Ch2_Embedding/Ch2_Embedding.ipynb) | Embedding | 训练词向量并做相似度/可视化 | 分布式语义、Embedding 检索直觉 |
### Phase 2:架构核心(Architecture)
| 章节 | 主题 | Deliverable | Key Ideas |
|---|---|---|---|
| [**Ch3**](./Ch3_Self_Attention/Ch3_Self_Attention.ipynb) | Self-Attention | Attention 前向 + mask + 权重可视化 | Q/K/V、因果 mask、注意力解释性 |
| [**Ch4**](./Ch4_Transformer_Block/Ch4_Transformer_Block.ipynb) | Transformer Block | 标准 Decoder Block 组装 | Residual、LayerNorm、FFN、dropout |
| [**Ch5**](./Ch5_GPT_Assembly/Ch5_GPT_Assembly.ipynb) | GPT Assembly | 从零组装可推理 GPT | 位置编码、采样(T/top-k/top-p) |
### Phase 3:训练流水线(Training Pipeline)
| 章节 | 主题 | Deliverable | Key Ideas |
|---|---|---|---|
| [**Ch6**](./Ch6_Tokenizer/Ch6_Tokenizer.ipynb) | Tokenizer | BPE 训练/编码/解码(含 `tiktoken`) | 词表构建、token 粒度取舍、稳定性 |
| [**Ch7**](./Ch7_Pretraining/Ch7_Pretraining.ipynb) | Pretraining | 预训练小型 GPT-2 风格基座(演示规模) | Dataset/DataLoader、Next-token、checkpoint |
### Phase 4:对齐与微调(Alignment)— 双路线
#### 路线 A:工业工具链(Transformers / PEFT / TRL)
| 章节 | 主题 | 示例基座模型 | Deliverable | Key Ideas |
|---|---|---|---|---|
| [**Ch8**](./Ch8_SFT/Ch8_SFT.ipynb) | SFT 指令微调 | `uer/gpt2-chinese-cluecorpussmall` | 指令数据格式化 + SFT 训练与对比 | Chat 模板、loss masking、对话化 |
| [**Ch9**](./Ch9_LoRA_Quantization/Ch9_LoRA_Quantization.ipynb) | LoRA /(可选)QLoRA | `uer/gpt2-chinese-cluecorpussmall` | 低资源微调(可落地) | PEFT LoRA、量化思路、显存/速度 |
| [**Ch10**](./Ch10_DPO/Ch10_DPO.ipynb) | DPO 偏好对齐 | `Qwen/Qwen2.5-0.5B-Instruct` | 偏好对齐训练 + 效果对比 | preference pair、DPO loss、TRL 实战 |
#### 路线 B:自建小型 GPT(全链路自实现)
| 章节 | 主题 | Deliverable | Key Ideas |
|---|---|---|---|
| [**01**](./Custom_GPT_Training/01_Model_Assembly.ipynb) | Model Assembly | 自建 GPT(现代组件)可跑通前向 | RoPE、RMSNorm、SwiGLU |
| [**02**](./Custom_GPT_Training/02_Pretraining.ipynb) | Pretraining | 自建模型的预训练闭环 | warmup+cosine、grad clip、日志与保存 |
| [**03**](./Custom_GPT_Training/03_SFT_Training.ipynb) | SFT Training | 自建模型的指令微调 | Chat 格式化、loss masking、自测集 |
| [**04**](./Custom_GPT_Training/04_DPO_Training.ipynb) | DPO Training | DPO 核心计算(自实现) | preference loss、reward margin 监控 |
| [**05**](./Custom_GPT_Training/05_Evaluation.ipynb) | Evaluation | Base/SFT/DPO 的评测对比 | PPL、Distinct-n、多维对比与可视化 |
### Phase 5:推理优化(Inference)
| 章节 | 主题 | Deliverable | Key Ideas |
|---|---|---|---|
| [**Ch11**](./Ch11_KV_Cache/Ch11_KV_Cache.ipynb) | KV Cache | 读懂并能解释推理加速的核心机制 | prefill/decode、KV 形状、显存/吞吐权衡 |
### Phase 6:系统落地(System)
| 章节 | 主题 | Deliverable | Key Ideas |
|---|---|---|---|
| [**Ch12**](./Ch12_Agent_RAG/Ch12_Agent_RAG.ipynb) | Agent & RAG | “能推理/能调用工具/能检索”的 Agent 原型 | ReAct、Tool Use、RAG pipeline |
---
## 🤖 Applications:Agent 实战案例(重点)
本仓库落地的核心:**基于真实 LLM 后端的可运行 Agent 应用**(优先支持本地 Ollama,同时保留 OpenAI/HF/vLLM 等扩展)。
### 统一后端抽象(可复用)
- LLM 后端抽象:`utils/llm_backend.py`(OpenAI / Ollama / HuggingFace / vLLM)
- Embedding 抽象:`utils/embedding_backend.py`(SentenceTransformers / OpenAI / HuggingFace)
### 应用列表(可直接运行)
| 应用 | 主题 | 关键能力 | 典型产出 |
|---|---|---|---|
| [**PREPARE**](./Applications/PREPARE_OLLAMA.ipynb) | Ollama Setup | 本地模型下载/连通性检查 | Agent 开箱可跑 |
| [**App1**](./Applications/App1_ReAct_Agent.ipynb) | ReAct Agent | 推理循环 + 动态工具选择 | 可行动的通用 Agent |
| [**App2**](./Applications/App2_RAG_System.ipynb) | RAG System | 分块/检索/重排/注入 | 企业知识库问答 Demo |
| [**App3**](./Applications/App3_Code_Agent.ipynb) | Code Agent | 代码生成 + 沙箱执行 + 自修复 | “会写代码并执行”的 Agent |
| [**App4**](./Applications/App4_Multi_Agent.ipynb) | Multi-Agent | 角色分工 + 任务分解 + 消息协议 | 协作型 Agent 框架 |
---
## 🧩 Bonus:进阶专题
| 章节 | 主题 | 你会得到 |
|---|---|---|
| [**Bonus A**](./Bonus_A_RLHF/Bonus_A_RLHF.ipynb) | RLHF 全景 | Reward Model / PPO 思路,理解 RLHF vs DPO 的关系 |
| [**Bonus B**](./Bonus_B_Evaluation/Bonus_B_Evaluation.ipynb) | 评测方法论 | PPL、下游任务、LLM-as-Judge 的评测框架 |
---
## 🛠 环境配置
> 下面的步骤与仓库 `requirements.txt` 配合使用。
### 1) 克隆仓库
```bash
git clone https://github.com/Greebbie/LLM-Agent-Core_Concept_Code.git
cd LLM-Agent-Core_Concept_Code
```
### 2) 创建虚拟环境(推荐)
> 推荐使用Conda
```bash
python -m venv venv
# macOS / Linux
source venv/bin/activate
# Windows (PowerShell)
venv\Scripts\Activate.ps1
```
### 3) 安装 PyTorch(按设备选择其一)
```bash
# CPU
pip install torch --index-url https://download.pytorch.org/whl/cpu
# CUDA 11.8
pip install torch --index-url https://download.pytorch.org/whl/cu118
# CUDA 12.1
pip install torch --index-url https://download.pytorch.org/whl/cu121
# CUDA 12.4
pip install torch --index-url https://download.pytorch.org/whl/cu124
# CUDA 12.8 (RTX 50 系)
pip install torch --index-url https://download.pytorch.org/whl/cu128
```
### 4) 安装项目依赖
```bash
pip install -r requirements.txt
```
### 5) 启动 Notebook
```bash
jupyter lab
# or: jupyter notebook
```
### 6) Agent 后端配置
**Ollama(推荐本地免费跑)**
```bash
ollama serve
```
详细请参考:[`Applications/PREPARE_OLLAMA.ipynb`](./Applications/PREPARE_OLLAMA.ipynb)
**OpenAI**
```bash
# macOS/Linux
export OPENAI_API_KEY="sk-xxx"
# Windows (PowerShell)
setx OPENAI_API_KEY "sk-xxx"
```
---
## 🧰 模型与技术栈
本教程在不同阶段切换模型规模,以兼顾学习效率与计算资源。
| 模块 | 示例模型 | 规模/说明 |
|---|---|---|
| Pretraining(主线演示) | GPT-2 small 风格(见 Ch7) | 以“能跑通训练闭环”为目标 |
| SFT / LoRA(路线 A) | `uer/gpt2-chinese-cluecorpussmall` | 中文 GPT-2,适合指令微调演示 |
| DPO(路线 A) | `Qwen/Qwen2.5-0.5B-Instruct` | 现代指令模型,更贴近真实效果 |
| 自建全链路(路线 B) | `Custom_GPT_Training/custom_gpt.py` | ~12M–14M,现代组件(RoPE/RMSNorm/SwiGLU) |
| Agent 应用 | Ollama 本地模型(如 Qwen2.5/Llama3 等) | 本地推理后端,可替换到 OpenAI/HF/vLLM |
---
## 🗂 项目结构
```
LLM-Agent-Core_Concept_Code/
├── Ch0_Quick_Start/
├── Ch1_Autograd/
├── Ch2_Embedding/
├── Ch3_Self_Attention/
├── Ch4_Transformer_Block/
├── Ch5_GPT_Assembly/
├── Ch6_Tokenizer/
├── Ch7_Pretraining/
├── Ch8_SFT/
├── Ch9_LoRA_Quantization/
├── Ch10_DPO/
├── Ch11_KV_Cache/
├── Ch12_Agent_RAG/
├── Custom_GPT_Training/
│ ├── custom_gpt.py
│ ├── 01_Model_Assembly.ipynb
│ ├── 02_Pretraining.ipynb
│ ├── 03_SFT_Training.ipynb
│ ├── 04_DPO_Training.ipynb
│ └── 05_Evaluation.ipynb
├── Applications/
│ ├── PREPARE_OLLAMA.ipynb
│ ├── App1_ReAct_Agent.ipynb
│ ├── App2_RAG_System.ipynb
│ ├── App3_Code_Agent.ipynb
│ └── App4_Multi_Agent.ipynb
├── Bonus_A_RLHF/
├── Bonus_B_Evaluation/
├── data/
├── models/
├── utils/
│ ├── llm_backend.py
│ ├── embedding_backend.py
│ └── __init__.py
├── requirements.txt
└── README.md
```
---
## 📄 License
MIT License