Appearance
全栈多模态AI应用课
课程概述
本课程作为第三阶段-Python+AI大模型大师课的赠送补充课,涵盖从LLM基础到多模态AI应用的全栈技术路线。课程共五大章节24课时,每课时约45-60分钟。课程设计兼顾理论深度与工程实战,学完即可独立完成从需求分析到部署上线的完整项目。
学习目标
- 掌握LLM API调用、LangChain开发、Coze平台使用、Function Calling等AI开发基础
- 精通AutoGen多Agent协作、RAG技术栈、ChromaDB向量数据库
- 理解LoRA微调原理、视觉/语音多模态AI技术
- 熟悉OpenClaw智能体平台的架构与MCP协议
- 具备vLLM推理加速、FastAPI服务化的全栈部署能力
- 完成毕业项目并具备求职竞争力
第一章:AI开发基石与Agent入门(6课时)
课时1:大模型API调用与Prompt Engineering
核心知识点
1.1 LLM API基础
python
from openai import OpenAI
client = OpenAI()
# 基本的Chat Completion调用
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是有帮助的AI助手"},
{"role": "user", "content": "什么是AI Agent?"}
],
temperature=0.7,
max_tokens=500
)
print(response.choices[0].message.content)1.2 Prompt Engineering核心技巧
| 技巧 | 说明 | 示例 |
|---|---|---|
| 角色设定 | 给模型一个身份 | "你是一名资深Python工程师" |
| Few-Shot | 给2-3个示例 | 输入输出对 |
| Chain-of-Thought | 让模型逐步推理 | "让我们一步一步思考" |
| 格式约束 | 指定输出格式 | "输出JSON格式" |
练习
- 调用3家不同厂商的LLM API(OpenAI/Claude/通义千问),对比回复风格
- 设计一个Few-Shot Prompt实现文本分类
- 使用CoT Prompt让模型解决数学应用题
课时2:LangChain框架入门
核心知识点
python
from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema import HumanMessage, SystemMessage
# 1. 链(Chain)
llm = ChatOpenAI(model="gpt-4")
prompt = ChatPromptTemplate.from_template("用{language}解释{concept}")
chain = prompt | llm
result = chain.invoke({"language": "中文", "concept": "RAG"})
# 2. 输出解析器(Output Parser)
from langchain.output_parsers import CommaSeparatedListOutputParser
parser = CommaSeparatedListOutputParser()核心组件
| 组件 | 用途 | 类比 |
|---|---|---|
| Model I/O | 模型输入输出管理 | 通信层 |
| Retrieval | 文档加载、向量化、检索 | 记忆层 |
| Chains | 组合多个组件成流水线 | 业务流程 |
| Agents | 自主决策和工具调用 | 智能体 |
| Callbacks | 日志、监控、流式处理 | 观察层 |
练习
- 使用LangChain实现一个简单的翻译链(中→英→法→中)
- 使用LLMChain + PromptTemplate实现批量文档摘要
- 实现一个自定义的输出解析器
课时3:Coze扣子平台实战
核心知识点
Coze(扣子) 是字节跳动推出的AI Bot开发平台,零代码即可构建智能助手。
平台核心能力
| 能力 | 说明 | 应用场景 |
|---|---|---|
| Bot创建 | 通过自然语言定义助手 | 客服Bot、学习助手 |
| 插件系统 | 内置搜索、图片、日历等插件 | 信息获取 |
| 知识库 | 上传文档作为Bot的知识来源 | 企业知识问答 |
| 工作流 | 可视化编排多步任务 | 复杂业务流程 |
| 对话管理 | 多轮对话、变量记忆 | 个性化交互 |
| 发布渠道 | 一键发布到飞书、微信、Web | 多端触达 |
实践步骤
- 登录 coze.cn
- 创建Bot → 设定角色和Prompt
- 添加知识库 → 上传企业文档
- 配置插件 → 开启搜索和计算功能
- 测试对话 → 优化Prompt
- 发布到渠道
练习
- 创建一个"技术文档问答助手"Bot,上传你熟悉的框架文档
- 为Bot添加3个插件功能
- 创建工作流实现"搜索→总结→翻译"的自动化流程
课时4:Function Calling 机制
核心知识点
Function Calling让LLM能够调用外部函数来获取信息或执行操作。
python
from openai import OpenAI
import json
client = OpenAI()
# 1. 定义函数
def get_stock_price(symbol: str) -> float:
"""模拟获取股票价格"""
prices = {"AAPL": 175.50, "GOOGL": 140.30, "MSFT": 378.90}
return prices.get(symbol.upper(), 0.0)
# 2. 定义函数描述
tools = [
{
"type": "function",
"function": {
"name": "get_stock_price",
"description": "获取指定股票的当前价格",
"parameters": {
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "股票代码,如 AAPL"
}
},
"required": ["symbol"]
}
}
}
]
# 3. 调用流程
messages = [{"role": "user", "content": "苹果股票现在多少钱?"}]
response = client.chat.completions.create(
model="gpt-4",
messages=messages,
tools=tools,
tool_choice="auto"
)
# 4. 解析工具调用
message = response.choices[0].message
if message.tool_calls:
for tool_call in message.tool_calls:
args = json.loads(tool_call.function.arguments)
result = get_stock_price(**args)
print(f"{args['symbol']} 当前价格: ${result}")Function Calling设计原则
| 原则 | 说明 | 反例 |
|---|---|---|
| 描述清晰 | 函数用途一目了然 | "执行函数" ❌ |
| 参数精确 | 必填/可选、类型、格式 | args: dict ❌ |
| 错误处理 | 返回有意义的错误信息 | return None ❌ |
| 幂等性 | 多次调用结果一致 | 不要有副作用 |
练习
- 实现天气查询Function(模拟返回)
- 实现数据库查询Function(模拟返回)
- 让LLM根据用户问题自动选择合适的Function
课时5:Agent架构设计与ReAct实现
核心知识点
回顾Agent三大核心能力(规划/记忆/工具)和ReAct框架。
手写ReAct循环
python
class MiniReActAgent:
"""手写最小版ReAct Agent"""
def __init__(self):
self.tools = {}
def register_tool(self, name: str, func: callable, description: str):
self.tools[name] = {"func": func, "desc": description}
def run(self, task: str, max_steps: int = 5) -> str:
messages = [
{"role": "system", "content": f"可用工具:{list(self.tools.keys())}"},
{"role": "user", "content": task}
]
for step in range(max_steps):
# TODO: 调用LLM获取思考+行动
# TODO: 如果有工具调用,执行工具
# TODO: 如果完成,输出结果
pass
return "任务完成"
# 使用
agent = MiniReActAgent()
agent.register_tool("search", lambda q: f"搜索结果:{q}", "搜索信息")
agent.run("查找2025年AI趋势")练习
- 补充完整上面的MiniReActAgent实现
- 添加至少3个工具(搜索、计算、翻译)
- 测试一个需要多步工具调用的任务
课时6:课时回顾与综合案例
综合案例:智能信息助手
整合前5课时所学,构建一个能自主搜索、计算、翻译的智能助手。
项目要求
- 使用Function Calling调用至少3个工具
- 使用LangChain构建Chain
- 使用Coze的工作流思想编排任务
- 展示ReAct的思考过程
第二章:高级Agent与RAG实战(5课时)
课时7:AutoGen多Agent系统
核心知识点
- AutoGen的AssistantAgent和UserProxyAgent
- GroupChat群聊模式
- 多Agent角色分工设计
python
import autogen
# 创建多个Agent
coder = autogen.AssistantAgent(name="编码员", ...)
tester = autogen.AssistantAgent(name="测试员", ...)
reviewer = autogen.AssistantAgent(name="审查员", ...)
# 组建群聊
groupchat = autogen.GroupChat(
agents=[coder, tester, reviewer],
messages=[], max_round=10
)练习
- 搭建3个Agent的代码审查系统
- 实现Agent之间的辩论模式
- 使用AutoGen完成一个报告撰写任务
课时8:RAG技术原理与实现
核心知识点
| 步骤 | 技术 | 说明 |
|---|---|---|
| 文档加载 | Document Loaders | PDF/Word/Markdown |
| 文档分块 | Text Splitters | RecursiveCharacter |
| 向量化 | Embeddings | bge/text2vec |
| 向量存储 | Vector Stores | ChromaDB/FAISS |
| 检索 | Retrieval | MMR/Similarity |
| 生成 | LLM | GPT-4/Qwen |
练习
- 加载10篇技术文档构建知识库
- 实现混合检索(向量+关键词)
- 添加查询改写模块
课时9:ChromaDB向量数据库实战
核心知识点
python
import chromadb
# 创建客户端
client = chromadb.Client()
# 创建集合
collection = client.create_collection(
name="enterprise_kb",
metadata={"hnsw:space": "cosine"}
)
# 添加文档
collection.add(
documents=["文档1内容", "文档2内容"],
metadatas=[{"source": "file1.md"}, {"source": "file2.md"}],
ids=["doc1", "doc2"]
)
# 检索
results = collection.query(
query_texts=["查询内容"],
n_results=3
)练习
- 使用ChromaDB构建一个知识库
- 实现CRUD操作(增删改查)
- 测试不同检索参数的效果
课时10:企业级RAG客服系统
核心知识点
整合RAG到AI客服系统,实现:
- 意图识别 → 知识检索 → 答案生成 → 引用溯源
- 多轮对话上下文维护
- 人工转接决策
练习
- 搭建完整的RAG客服系统
- 添加日志和监控
- 测试100个FAQ问题,统计准确率
课时11:课时回顾与综合案例
综合案例:企业智能问答平台
集成AutoGen + RAG + ChromaDB,构建支持多文档问答的企业知识助手。
第三章:模型微调与多模态AI(5课时)
课时12:LoRA微调原理与实践
核心知识点
LoRA(Low-Rank Adaptation) 是一种高效微调方法,通过注入低秩矩阵来适配预训练模型。
python
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM
# 加载基础模型
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-7B")
# LoRA配置
lora_config = LoraConfig(
r=8, # 秩
lora_alpha=32, # 缩放参数
target_modules=["q_proj", "v_proj"],
lora_dropout=0.1,
bias="none",
task_type="CAUSAL_LM"
)
# 应用LoRA
model = get_peft_model(model, lora_config)
print(f"可训练参数: {model.print_trainable_parameters()}")LoRA vs 全量微调
| 维度 | LoRA | 全量微调 |
|---|---|---|
| 可训练参数量 | 0.1%-1% | 100% |
| 显存需求 | 16GB (7B模型) | 80GB+ |
| 训练速度 | 快 | 慢 |
| 模型质量 | 接近全量 | 最优 |
| 存储多个模型 | 仅需存LoRA权重(~10MB) | 需存完整模型 |
练习
- 使用LoRA微调一个7B模型到特定领域(如法律/医疗)
- 对比微调前后的回答质量
- 尝试不同的rank值(r=4/8/16)对效果的影响
课时13:视觉大模型应用
核心知识点
python
from openai import OpenAI
client = OpenAI()
# 视觉理解
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图里有什么?"},
{"type": "image_url", "image_url": {
"url": "https://example.com/photo.jpg"
}}
]
}
]
)多模态应用场景
| 场景 | 技术 | 示例 |
|---|---|---|
| 图片描述 | VLM | 自动生成商品描述 |
| OCR识别 | 视觉+文字 | 发票信息提取 |
| 图表分析 | 视觉+推理 | 财报图表解读 |
| 视频理解 | 帧提取+VLM | 监控视频分析 |
练习
- 实现一个图片内容分析工具
- 从图片中提取表格数据
- 构建一个多模态RAG系统(图片+文字混合检索)
课时14:语音AI与TTS/ASR
核心知识点
python
from openai import OpenAI
client = OpenAI()
# 语音转文字(ASR)
audio_file = open("speech.mp3", "rb")
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
# 文字转语音(TTS)
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="你好,欢迎使用AI语音助手!"
)
response.stream_to_file("output.mp3")练习
- 实现语音输入→LLM处理→语音输出的全流程
- 构建一个语音助手Demo
- 对比不同TTS模型的声音质量
课时15:多模态Agent实战
综合案例
构建一个能看、能听、能说的多模态Agent:
用户语音提问
│
▼
ASR语音识别
│
▼
┌──────────────┐
│ 多模态Agent │ <- 整合文本+图片+语音理解
│ - 文字推理 │
│ - 图片分析 │
│ - 工具调用 │
└──────┬───────┘
│
▼
TTS语音回答 + 文字显示练习
- 整合ASR + LLM + TTS实现语音助手
- 添加视觉能力(支持图片分析)
- 添加工具调用能力(查询天气/搜索)
课时16:课时回顾与综合案例
综合案例:多模态智能助手
整合视觉、语音、Agent能力,构建一个能看图片、听语音、自主推理的多模态助手。
第四章:OpenClaw智能体平台(3课时)
课时17:OpenClaw平台架构
平台概述
OpenClaw 是一个开源的智能体平台,提供Agent开发、编排、部署的完整解决方案。
核心架构
┌─────────────────────────────────────┐
│ OpenClaw Platform │
├─────────────────────────────────────┤
│ Skills │ MCP │ Agent Runtime│
│ (技能库) │ (协议) │ (运行引擎) │
├────────────┼─────────┼──────────────┤
│ Tools API │ Memory │ Orchestrator│
│ (工具接口) │ (记忆) │ (编排引擎) │
├────────────┴─────────┴──────────────┤
│ Cloud/Edge Runtime │
└─────────────────────────────────────┘核心组件
| 组件 | 功能 | 类比 |
|---|---|---|
| Skills | 可复用的Agent能力模块 | 插件 |
| MCP | Model Context Protocol(模型上下文协议) | Agent间通信标准 |
| Agent Runtime | Agent执行的运行环境 | 容器 |
| Orchestrator | 多Agent编排引擎 | 指挥家 |
课时18:Skills与MCP协议
Skills(技能)
python
# Skills是Agent的可复用能力单元
# 定义示例
skill_example = {
"name": "web_search",
"description": "搜索网络信息",
"parameters": {
"query": "搜索关键词",
"max_results": 10
},
"implementation": "调用搜索API"
}MCP协议
MCP(Model Context Protocol)定义了Agent之间如何通信:
| MCP特性 | 说明 | 应用 |
|---|---|---|
| 消息格式 | 标准化的Agent通信协议 | 跨平台互操作 |
| 上下文传递 | 共享对话历史和状态 | 多Agent协作 |
| 工具发现 | Agent动态发现可用工具 | 插件化扩展 |
| 安全策略 | 权限控制和审计 | 企业级安全 |
练习
- 在OpenClaw平台上注册一个自定义Skill
- 使用MCP协议实现两个Agent之间的通信
- 构建一个3-Skill的Agent工作流
课时19:多智能体编排实战
核心知识点
使用OpenClaw的Orchestrator编排多Agent工作流:
1. 定义工作流
2. 配置Agent角色
3. 设置通信规则
4. 部署执行
5. 监控调试练习
- 在OpenClaw上搭建一个文档处理工作流
- 实现Agent之间的MCP通信
- 使用监控面板调试Agent行为
第五章:全栈集成与职业赋能(5课时)
课时20:vLLM推理加速与模型部署
核心知识点
bash
# 使用vLLM部署开源模型
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-7B-Instruct \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.9 \
--max-model-len 8192 \
--port 8000推理加速技术对比
| 技术 | 原理 | 加速比 | 适用场景 |
|---|---|---|---|
| PagedAttention | 分页管理KV Cache | 2-5x | 长序列推理 |
| Continuous Batching | Step级动态批处理 | 2-3x | 高并发在线 |
| FlashAttention | IO优化的精确注意力 | 2-4x | 所有场景 |
| 量化(AWQ/GPTQ) | 降低精度减少显存 | 1.5-2x | 显存受限 |
练习
- 用vLLM部署一个开源模型
- 测试不同并发量下的QPS和延迟
- 对比有/无vLLM的性能差异
课时21:FastAPI生产级服务化
核心知识点
python
from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn
app = FastAPI(title="AI服务API")
class QueryRequest(BaseModel):
prompt: str
max_tokens: int = 512
@app.post("/v1/generate")
async def generate(request: QueryRequest):
# 调用LLM
return {"response": "..."}
# 生产部署
# uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4练习
- 为你的Agent搭建FastAPI服务
- 添加流式输出(SSE)
- 添加请求日志和错误处理中间件
课时22:毕业项目开发(上)
项目选题
| 方向 | 项目 | 难度 | 技术栈 |
|---|---|---|---|
| Agent方向 | 多Agent协作办公系统 | ⭐⭐⭐⭐⭐ | AutoGen+LangChain+vLLM |
| RAG方向 | 企业知识库问答平台 | ⭐⭐⭐⭐ | RAG+ChromaDB+FastAPI |
| 微调方向 | 领域模型微调应用 | ⭐⭐⭐⭐ | LoRA+Transformers |
| 多模态方向 | 多模态智能助手 | ⭐⭐⭐⭐⭐ | VLM+ASR+TTS+Agent |
项目要求
- 完整的需求分析文档
- 系统架构设计和技术选型说明
- 核心模块代码实现(含测试)
- Docker部署方案
- 项目演示视频
课时23:毕业项目开发(下)与答辩准备
答辩准备清单
□ 项目README(完整清晰)
□ 系统架构图
□ 核心功能演示
□ 技术难点和解决方案
□ 性能测试数据
□ 后续优化方向常见面试问题
| 类别 | 问题 | 核心理念 |
|---|---|---|
| Agent原理 | ReAct和Plan-and-Execute的区别 | 思考+行动 |
| RAG技术 | 如何解决检索不到的问题? | 查询改写+HyDE |
| 工程部署 | 如何控制推理成本? | 模型分级+缓存 |
| 多模态 | 多模态模型如何融合不同模态? | 对齐+投影 |
课时24:职业发展与学习路径
推荐学习路径
🅰️ Agent开发方向
基础 → ReAct → AutoGen → CrewAI → 企业Agent应用适合:想从事AI Agent开发、AI应用架构师
必学技能:
- LLM API + Function Calling
- AutoGen / CrewAI / LangGraph
- 多Agent协作模式
- 工具链开发
🅱️ RAG/搜索方向
基础 → 向量数据库 → RAG进阶 → 企业知识库适合:想从事搜索推荐、知识管理、智能问答
必学技能:
- Embedding模型
- ChromaDB / Milvus / Elasticsearch
- 混合检索 + Rerank
- 查询理解与改写
🅲 模型微调方向
基础 → LoRA → 数据构建 → 评估部署适合:想从事模型训练、算法研究
必学技能:
- Transformers / PEFT
- 数据处理与增强
- 模型评估(Eval)
- vLLM部署
🅳 全栈求职方向
基础 → Agent + RAG → 部署 → 项目 + 简历适合:即将求职的学员,快速补齐竞争力
必学技能:
- FastAPI + Docker + K8s
- vLLM部署优化
- 完整毕业项目
- 简历面试准备
技能树总览
第一阶段(基础)
├── Python编程
├── HTTP/RESTful API
├── 基础机器学习概念
└── Git + Linux
第二阶段(AI核心)
├── LLM API调用
├── Prompt Engineering
├── LangChain框架
└── Function Calling
第三阶段(Agent进阶)
├── ReAct框架
├── 多Agent系统(AutoGen/CrewAI)
├── RAG技术栈
└── Agent记忆管理
第四阶段(工程部署)
├── vLLM推理加速
├── FastAPI服务化
├── Docker + K8s
└── 监控与成本优化
第五阶段(多模态)
├── 视觉模型应用
├── 语音技术(ASR/TTS)
├── LoRA微调
└── OpenClaw平台简历建议
技术栈关键词:
- LLM:GPT-4, Qwen, DeepSeek
- 框架:LangChain, AutoGen, CrewAI, FastAPI
- 数据库:ChromaDB, Redis, Elasticsearch
- 部署:Docker, Kubernetes, vLLM
- 多模态:Whisper, CLIP, Stable Diffusion
项目描述模板:
项目:企业级AI客服中台
技术栈:FastAPI + RAG + ChromaDB + AutoGen + Docker
职责:
• 基于RAG架构设计企业知识库问答系统,支持10万+文档的实时检索
• 实现多Agent协作的意图识别和坐席助手模块
• 使用Docker容器化部署,支持水平扩展,QPS达到500+课程资源
推荐工具
| 工具 | 用途 | 链接 |
|---|---|---|
| OpenAI API | LLM调用 | platform.openai.com |
| Coze | 零代码Bot开发 | coze.cn |
| LangChain | AI应用框架 | python.langchain.com |
| AutoGen | 多Agent框架 | github.com/microsoft/autogen |
| CrewAI | 多Agent编排 | crewai.com |
| ChromaDB | 向量数据库 | trychroma.com |
| vLLM | 推理加速 | github.com/vllm-project/vllm |
| OpenClaw | Agent平台 | 见课程资料 |
推荐书籍
- 《LangChain实战:大模型应用开发》
- 《大语言模型实战指南》
- 《AI Agent:从原理到实践》
- 《自然语言处理实战(第2版)》
课程总结
本课程从LLM基础出发,系统覆盖了:
- AI开发基石:API调用、Prompt、LangChain、Function Calling
- Agent与RAG:多Agent协作、知识库构建、企业级RAG系统
- 多模态AI:视觉、语音、LoRA微调
- OpenClaw平台:Skills、MCP、多智能体编排
- 全栈部署与求职:vLLM、FastAPI、项目实战、简历指导
学完本课程,你将成为具备全栈能力的AI应用开发者,能够独立完成从需求分析到部署上线的完整AI项目。
祝你在AI Agent的学习和实践中取得丰硕成果!🚀