ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

748集大模型应用开发实战课程:从RAG知识库到Agent开发

748集大模型应用开发实战课程:从RAG知识库到Agent开发

这次我们来看一套体系非常完整的大模型应用开发视频课程资源:全 748 集,从 AI 应用核心基础讲起,覆盖 RAG 知识库搭建、Agent 开发,一直延伸到行业落地。如果你正在找一条从零开始、能跟着动手做项目的学习路径,这套内容的覆盖面和学习节奏值得认真了解一下。

先给结论:这套课程的核心优势不是某一个单独技术点,而是“全流程”组织方式。它把大模型应用开发拆成了几个大阶段:基础原理与 Prompt 工程、RAG 知识库与向量检索、Agent 开发与工具调用、行业场景落地与优化。每一阶段都对应一套可上手的实验思路,学完一个阶段就能做出一个能跑通的小项目。本文会帮你把这 748 集的内容重新拆解成一份实操学习路线,并给出配套的学习环境搭建方法、关键实验设计、接口调用与批量任务测试思路,以及常见问题和排查清单。

适合谁看:正在入门大模型应用开发、想系统掌握 RAG 和 Agent 的开发者,或者已经在做 AI 应用但缺少知识体系和实战路径的读者。纯看概念不看代码的话不需要什么硬件门槛,但如果要跟着做本地实验,建议准备一台至少 16GB 内存、带 8GB 以上显存 NVIDIA 显卡的电脑,或者直接使用云端算力。

1. 核心能力速览

先把这套课程的关键规格整理成一张表,方便快速判断它是否匹配你的需求。

项目说明
课程总量748 集,从入门到行业落地
覆盖方向AI 应用基础、Prompt 工程、RAG 知识库、向量数据库、Agent 开发、行业落地实战
适合基础有 Python 基础最好,零基础需要先补充 Python 语法
实践形式每阶段对应可运行的本地实验项目
本地学习环境Python 3.10+、PyTorch、LangChain/LlamaIndex、向量数据库、大模型推理服务
推荐硬件CPU 可跑通基础 RAG 实验;本地大模型推理建议 8GB 以上显存
云端替代方案Colab、AutoDL 等 GPU 租用平台
是否涉及 API 开发涉及,包含接口调用、服务封装与批量任务设计
是否生成完整项目是,学完可以搭建出具备检索问答和 Agent 能力的应用雏形

从这张表可以看出,这套课程更适合“想系统学会做大模型应用”的读者,而不是只想看某一个大模型原理讲解的爱好者。它把技能树拆得很细,并且每一层都配了实践验证路径。

2. 学习路线与适用人群

这门课 748 集体量很大,直接顺序刷很容易中途弃坑。更实用的方式是按阶段划分目标,每个阶段掌握一组能力,做一个验证项目。

2.1 阶段一:AI 应用核心基础

目标:理解大模型能做什么、不能做什么,掌握最基本的调用方式。

这个阶段是整门课的地基。重点概念包括:

  • Token 与上下文窗口的含义。
  • 温度、Top-p、Max Tokens 等采样参数的作用。
  • Prompt 的基本结构:角色、任务、约束、输出格式。
  • 模型 API 的调用流程:构造请求、解析响应、处理异常。
  • 通用的模型能力评测方法:准确性、一致性、格式遵从度。

这个阶段不需要复杂环境,只需能调用一个在线大模型 API 或在本地运行一个小参数模型。能写出一个“输入 Prompt 返回结果”的脚本,阶段一就算过关。

2.2 阶段二:RAG 知识库搭建

目标:让模型回答“模型没有学过的私有知识”。

RAG 是当前大模型应用落地最常用的方案。课程中这部分通常会覆盖:

  • 文档加载:读取 PDF、Markdown、Word、网页内容。
  • 文本拆分:按固定长度、按标题结构、按语义边界进行切块。
  • 向量化:用 Embedding 模型将文本块转为向量。
  • 向量存储:使用 Chroma、FAISS、Milvus 或 Elasticsearch 存储索引。
  • 检索策略:相似度检索、混合检索、重排序。
  • 问答生成:将检索结果与用户问题一起交给大模型生成回答。

阶段二的验证项目是做一个“本地知识库问答机器人”,上传几份文档,然后提问,看回答是否包含文档里的信息。

2.3 阶段三:Agent 开发

目标:让模型学会使用工具、规划步骤、完成任务。

Agent 是进阶重点,也是很多行业项目的核心逻辑。需要掌握:

  • 工具定义:把函数封装为模型可调用的工具。
  • 思维链与规划:让模型拆解复杂任务为多步执行。
  • 记忆机制:对话历史、短期记忆、长期记忆。
  • 多 Agent 协作:规划者、执行者、审查者角色分工。
  • 反思与自我纠正:让 Agent 根据结果调整下一步动作。

阶段三的验证项目是做一个“自动调研小助手”:给定一个主题,Agent 自动搜索资料、整理信息、生成报告。

2.4 阶段四:行业落地与工程化

目标:从“能跑通”走向“能上线”。

这个阶段关注的是生产环境问题:

  • 推理成本控制与响应延迟优化。
  • 批量任务队列设计与失败重试。
  • 接口服务的封装与鉴权。
  • 内容安全与合规审核。
  • 效果评估体系:离线指标与线上反馈。
  • 多轮对话中的上下文管理。

到了这个阶段,课程就不再只是讲模型,而是讲工程系统。这也是 748 集课程中最接近企业实际需求的部分。

3. 本地开发环境准备与前置条件

课程学习需要有配套的编码环境。先把基础环境列清楚。

3.1 基础软件清单

软件/工具用途
Python 3.10+主流大模型应用框架的基础运行环境
Git拉取课程配套代码与开源项目
VS Code / PyCharm代码编写与调试
Docker隔离数据库、向量数据库等中间件
大模型推理服务Ollama、vLLM 或在线 API

课程不会只讲 Web 界面,更多是代码层面的操作,所以 Python 环境是第一位。

3.2 创建虚拟环境

所有 Python 依赖都建议装在虚拟环境里,避免污染系统 Python。

# 创建虚拟环境,Python 版本需要按课程代码要求调整 python3.10 -m venv venv # Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate # 确认 Python 版本 python --version

3.3 安装常用依赖

课程跨度大,依赖会随项目变化。最稳妥的方式是在每个项目目录中维护独立的 requirements.txt,而不是一次性全装。这里给出一份常见依赖模板:

# 按需安装,不要一次性全部安装 pip install langchain langchain-community langchain-openai pip install chromadb faiss-cpu pip install pypdf markdown pip install openai requests pip install fastapi uvicorn

需要注意版本兼容性。LangChain 的版本迭代较快,API 经常调整。建议固定版本号,例如:

# 固定版本示例,具体版本号需要按课程代码要求调整 pip install langchain==0.2.16

如果课程代码是用旧版 LangChain 写的,直接用新版运行很有可能会报出大量接口变更错误。

3.4 大模型服务选择

本地实验有两种模式,需要根据电脑配置选择。

模式一:调用在线大模型 API。适合没有独显或显存较小的设备,只需要注册获取 API Key,把 Key 配置到环境变量中即可。

模式二:本地部署开源模型。适合 8GB 以上显存的学习环境,使用 Ollama 或 vLLM 拉起一个小参数模型,完全本地运行。

# 以 Ollama 为例,实际模型名称需要按本机资源选择 ollama pull qwen2.5:7b ollama run qwen2.5:7b

从材料来看,这套课程更偏应用开发而不是模型训练,所以本地实验用在线 API 加一个小参数开源模型基本就够用了。

4. 学习配套环境搭建与启动方式

课程覆盖知识库和 Agent 两大部分,二者都需要服务端支撑。搭建一套最小可运行环境,是开始动手实践的前提。

4.1 启动一个本地模型推理服务

在做 RAG 和 Agent 实验时,经常需要反复调用模型。启动一个本地推理服务比每次跑脚本更高效。

# 调用本地 Ollama 服务的 Python 示例,端点需按实际服务地址调整 import requests url = "http://127.0.0.1:11434/api/generate" payload = { "model": "qwen2.5:7b", "prompt": "用一句话解释什么是 RAG", "stream": False } response = requests.post(url, json=payload, timeout=300) print(response.json()["response"])

启动服务后,用上面的脚本验证连通性。能返回结果,说明模型服务已经就绪。

4.2 配置 Embedding 模型

RAG 实验需要把文本转换成向量。Embedding 模型可以选择在线 API,也可以选择本地模型。本地模型更稳定,适合反复测试。

# 使用 sentence-transformers 加载本地 Embedding 模型的示例 from sentence_transformers import SentenceTransformer # 模型名字体量较大,需要提前下载 model = SentenceTransformer("BAAI/bge-small-zh-v1.5") vector = model.encode("大模型应用开发课程") print(vector.shape)

首次运行会下载模型文件,磁盘需要预留几 GB 空间。

4.3 搭建知识库存储

向量数据库是 RAG 实验的核心组件之一。Chroma 轻量、无需独立服务,适合课程学习阶段使用。

# Chroma 向量库初始化示例 import chromadb client = chromadb.PersistentClient(path="./chroma_data") collection = client.get_or_create_collection( name="course_knowledge", metadata={"hnsw:space": "cosine"} ) print("向量库已就绪")

从这一步开始,RAG 实验就已经具备最小运行条件:文档解析、向量化、存储、检索、生成回答。

5. 关键实验:RAG 知识库搭建验证流程

RAG 是整个课程中的第一个核心实战项目。建议按以下流程完整做一遍。

5.1 准备测试文档

准备 3 到 5 份不同主题的 Markdown 或 PDF 文档,内容要有一定信息密度。例如产品说明、操作手册、技术文档。注意所有测试文档都应使用自己编写或已获授权的材料,不要随意上传他人版权内容。

5.2 文档加载与文本拆分

文档加载之后必须拆分。拆分参数直接影响检索效果。

# 文档拆分示例 from langchain_community.document_loaders import TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter loader = TextLoader("./data/product_manual.md") documents = loader.load() splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=50 ) chunks = splitter.split_documents(documents) print(f"文档被拆分为 {len(chunks)} 个片段")

拆分粒度建议从 300 到 800 字开始测试,观察检索命中情况再做调整。chunk 太小会丢失上下文,chunk 太大会引入无关内容。

5.3 建立向量索引

把拆分后的文档片段向量化并写入向量库。

# 向量入库示例 from sentence_transformers import SentenceTransformer embed_model = SentenceTransformer("BAAI/bge-small-zh-v1.5") for i, chunk in enumerate(chunks): vector = embed_model.encode(chunk.page_content) collection.add( ids=[f"doc_{i}"], embeddings=[vector.tolist()], documents=[chunk.page_content], metadatas=[{"source": "product_manual.md", "chunk_index": i}] ) print("全部向量已写入索引")

5.4 检索测试

索引建立后,先单独测试检索效果,不经过大模型生成。

# 检索测试示例 query_vector = embed_model.encode("这个产品的保修政策是什么") results = collection.query( query_embeddings=[query_vector.tolist()], n_results=3 ) for doc in results["documents"][0]: print(doc)

判断检索成功的标准:返回结果与问题主题相关,且包含了文档中的关键信息。如果检索结果明显不相关,优先调整拆分粒度、Embedding 模型和检索返回数量。

5.5 问答生成测试

检索结果拼入 Prompt,交给大模型生成回答。

# RAG 问答示例 prompt = f""" 你是知识库助手。请根据以下资料回答问题,无法从资料中找到答案时直接说明。 资料: {chr(10).join(results['documents'][0])} 问题:这个产品的保修政策是什么? """ # 将 prompt 发送给模型服务 response = requests.post(url, json={"model": "qwen2.5:7b", "prompt": prompt, "stream": False}, timeout=300) print(response.json()["response"])

RAG 实验的完成标准:模型能根据给定文档回答出文档内的具体信息,并且在文档不包含答案时明确说明,而不是编造内容。

6. 关键实验:Agent 开发与批量任务验证

Agent 开发是另一个重点实验方向。与 RAG 固定流程不同,Agent 的关键在于“模型自己决策调用什么工具、按什么顺序执行”。

6.1 定义工具

工具本质上是带描述信息的函数,模型会根据描述决定是否调用。

# 工具定义示例 def search_news(query: str) -> str: """搜索给定主题的最新新闻,输入为关键词""" # 实际实现需要调用搜索接口或本地数据源 return f"关于 {query} 的搜索结果是……" def calculate(expression: str) -> str: """计算数学表达式,输入为表达式字符串""" return str(eval(expression)) tools = [ { "name": "search_news", "description": "搜索给定主题的最新新闻", "parameters": { "type": "object", "properties": { "query": {"type": "string", "description": "搜索关键词"} }, "required": ["query"] }, "function": search_news }, { "name": "calculate", "description": "计算数学表达式", "parameters": { "type": "object", "properties": { "expression": {"type": "string", "description": "数学表达式"} }, "required": ["expression"] }, "function": calculate } ]

这里要注意:工具函数中的 eval 仅用于本地学习演示,实际项目中绝对不能直接对用户输入使用 eval,必须做输入校验或用安全解析库替换,否则存在严重安全风险。

6.2 Agent 任务测试

用几个典型问题验证 Agent 的工具调用能力:

  • 计算类任务:“计算 (15 + 8) * 3 的结果。”
  • 检索类任务:“搜索一下今天的 AI 行业动态。”
  • 组合类任务:“先搜索最近的模型发布消息,然后把搜索到的内容整理成三条要点。”

观察模型是否正确选择了工具、参数传得是否准确、最终回答是否符合要求。

6.3 批量任务验证

Agent 服务成熟后,可以通过批量任务验证稳定性。

# 批量请求的并发参数,需要按接口实际承载能力调整
# 批量任务示例:读取本地文本文件逐条调用 Agent 服务 import json import requests with open("./tasks.txt", "r", encoding="utf-8") as f: tasks = [line.strip() for line in f if line.strip()] results = [] for idx, task in enumerate(tasks): try: response = requests.post( "http://127.0.0.1:8000/agent/run", json={"task": task}, timeout=120 ) result = response.json() results.append({"task": task, "result": result}) print(f"[{idx + 1}/{len(tasks)}] 完成: {task}") except Exception as e: results.append({"task": task, "error": str(e)}) print(f"[{idx + 1}/{len(tasks)}] 失败: {task},错误: {e}") with open("./results.json", "w", encoding="utf-8") as f: json.dump(results, f, ensure_ascii=False, indent=2) print("批量任务执行结束")

批量任务设计时要关注三点:

  • 每一条任务之间保持独立,避免一条失败影响后续执行。
  • 超时时间要留有充分余量,Agent 多步调用可能耗时较长。
  • 失败任务单独记录,最后统一重试。

从课程实战的角度看,Agent 做到能稳定运行批量任务,就相当于完成了从“单次 Demo”到“工程能力”的跨越。

7. 算力与资源占用观察方法

大模型应用开发课程在实验阶段对算力的要求比学习普通 Web 开发高,主要是模型推理造成的。这里给出通用的资源观察方法和判断标准,实际数字需以本机测试为准。

7.1 观察显存占用

在 Linux 环境下用nvidia-smi观察显存:

# 每 2 秒刷新一次显存情况 watch -n 2 nvidia-smi

在 Windows 下可以用任务管理器的 GPU 选项卡查看“专用 GPU 内存”。

显存消耗主要来自三部分:

  • 大模型推理服务本身。
  • Embedding 模型的向量计算。
  • 多个进程同时加载模型导致的内存叠加。

如果同时启动本地大模型服务、Embedding 服务、向量数据库和 Web 服务,显存会快速上升。建议先用小参数模型做完流程验证,再考虑扩大模型规模。

7.2 降低资源占用的方法

  • 使用量化模型替代全精度模型,例如 Q4_K_M 量级。
  • 优先使用向量检索而非把全部文档塞入上下文。
  • 多个模型服务共享同一 GPU 时,严格控制并发调用。
  • 不用时不启动本地模型服务。
  • 首次跑通流程使用 CPU 模式,确认结果无误后再切换 GPU。

7.3 性能观察维度

RAG 实验重点看检索耗时和生成耗时;Agent 实验重点看完整任务耗时和中间步骤耗时。对单条任务做耗时记录,是判断优化方向最直接的依据。

从课程设计来看,第一阶段不需要高端硬件,学到 RAG 阶段用 CPU 加内存 16GB 也能跑通小数据量实验。到 Agent 和本地模型推理阶段,有 8GB 以上显存会更顺手。没有独显时用云端 GPU 或者在线 API 完全可行。

8. 常见问题与排查方法

学习过程中遇到报错是非常正常的。把高频问题整理成排查表,遇到时直接对照处理。

问题现象可能原因排查方式解决方案
依赖安装失败包版本冲突或 Python 版本不匹配查看 pip 错误日志固定版本安装,升级或降级 Python
无法调用大模型 APIAPI Key 未配置或额度不足打印环境变量,测试最小请求重新配置 Key,检查账户状态
本地模型启动后响应很慢显存不足导致 CPU 回退查看 nvidia-smi 和启动日志换小模型,加量化,清空占用显存的进程
检索结果不相关文本拆分粒度不合理或向量模型不匹配单独测试检索再测试问答调整 chunk 大小,更换向量模型
向量库写入失败数据目录权限或向量维度不一致检查路径权限和维度统一向量模型,清理持久化目录
Agent 不按预期调用工具工具描述不明确或模型能力不足打印模型完整返回增加工具描述细节,换用更强模型
批量任务中途卡住单条任务未设置超时查看日志定位卡死任务加超时,失败自动重试
端口被占用多个服务使用同一端口查看端口占用情况修改端口配置,关闭残留进程

还有一个容易被忽略的问题:课程代码在多个项目之间切换时,不同项目依赖可能出现冲突。所以前文才反复强调为每个项目单独创建虚拟环境。

9. 最佳实践与工程化建议

以下建议不只适用于这套课程,也适用于整个大模型应用开发的学习和项目落地过程。

9.1 本地建一套最小可运行配置

无论课程讲了多复杂的架构,都建议在本地保留一套最小环境:一个模型服务、一个向量库、一个 Embedding 模型、一个问答脚本。每次遇到问题先回到最小环境验证,能极大缩短排查时间。

9.2 代码、数据和模型分目录管理

建议的目录结构:

course_project/ ├── data/ # 原始文档与测试数据 ├── indexes/ # 向量库持久化目录 ├── models/ # 本地模型缓存目录 ├── scripts/ # 实验脚本 ├── outputs/ # 生成结果 ├── logs/ # 运行日志 ├── requirements.txt # 项目依赖 └── .env # 环境变量配置

模型文件很大,不要和代码混放;输出结果也不要直接放在工作目录中。按功能分目录,方便备份和清理。

9.3 接口服务要限制访问范围

课程后期会涉及 FastAPI 等接口服务封装。本地测试时服务默认绑定 127.0.0.1 即可,不要直接暴露到公网。

# 本地开发仅监听本机地址 uvicorn.run(app, host="127.0.0.1", port=8000)

如果确实需要远程访问,必须加上鉴权机制,并确认服务部署在可信网络环境中,否则任何人都可能调用你的模型接口消耗算力。

9.4 内容合规与数据安全红线

课程涉及 RAG、Agent 等真实数据处理能力,动手实验时必须注意:

  • 使用自己编写的资料、公开可转载的内容或有明确授权的文档作为测试数据。
  • 涉及人脸、声音、个人信息的数据不得随意收集与处理。
  • 大模型生成的内容在对外发布前要人工复核,避免错误信息传播。
  • 企业项目中涉及的数据合规问题,以所在单位的合规要求为准。

9.5 效果评估不能只看“像不像”

判断大模型应用做得好不好,不要只看回答是否通顺。建议从准确率、格式遵从度、拒答正确率、延迟和成本五个维度记录。把每次实验的输入输出保存下来,形成自己的评测集,才能持续优化。

10. 总结与下一步

这套 748 集课程最值得关注的不是数量,而是它把“学”和“做”绑在了一起:每个阶段都有对应的实验项目,学完基础立刻进入 RAG,RAG 之后再进入 Agent,最后落到工程化。如果你能跟着把本地环境搭起来、把知识库问答跑通、把 Agent 批量任务调稳,大模型应用开发的主干能力基本就掌握了。

建议收藏备用。正式开始前,先花半天时间把 Python 虚拟环境、模型服务、向量数据库这三项基础设施跑通。最容易踩的坑是依赖版本和模型加载方式,遇到问题优先去查服务日志,日志信息比报错截屏可靠得多。

后续可以延伸的方向包括:把 RAG 和 Agent 组合成更完整的业务系统,为接口服务增加批量任务队列和效果评估模块,或者把课程里的项目经验迁移到自己的工作场景中。课程只是路径,真正产生价值的还是你把这些技术组合成解决方案的能力。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进