Skip to content

全栈多模态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格式"

练习

  1. 调用3家不同厂商的LLM API(OpenAI/Claude/通义千问),对比回复风格
  2. 设计一个Few-Shot Prompt实现文本分类
  3. 使用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日志、监控、流式处理观察层

练习

  1. 使用LangChain实现一个简单的翻译链(中→英→法→中)
  2. 使用LLMChain + PromptTemplate实现批量文档摘要
  3. 实现一个自定义的输出解析器

课时3:Coze扣子平台实战

核心知识点

Coze(扣子) 是字节跳动推出的AI Bot开发平台,零代码即可构建智能助手。

平台核心能力

能力说明应用场景
Bot创建通过自然语言定义助手客服Bot、学习助手
插件系统内置搜索、图片、日历等插件信息获取
知识库上传文档作为Bot的知识来源企业知识问答
工作流可视化编排多步任务复杂业务流程
对话管理多轮对话、变量记忆个性化交互
发布渠道一键发布到飞书、微信、Web多端触达

实践步骤

  1. 登录 coze.cn
  2. 创建Bot → 设定角色和Prompt
  3. 添加知识库 → 上传企业文档
  4. 配置插件 → 开启搜索和计算功能
  5. 测试对话 → 优化Prompt
  6. 发布到渠道

练习

  1. 创建一个"技术文档问答助手"Bot,上传你熟悉的框架文档
  2. 为Bot添加3个插件功能
  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
幂等性多次调用结果一致不要有副作用

练习

  1. 实现天气查询Function(模拟返回)
  2. 实现数据库查询Function(模拟返回)
  3. 让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趋势")

练习

  1. 补充完整上面的MiniReActAgent实现
  2. 添加至少3个工具(搜索、计算、翻译)
  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
)

练习

  1. 搭建3个Agent的代码审查系统
  2. 实现Agent之间的辩论模式
  3. 使用AutoGen完成一个报告撰写任务

课时8:RAG技术原理与实现

核心知识点

步骤技术说明
文档加载Document LoadersPDF/Word/Markdown
文档分块Text SplittersRecursiveCharacter
向量化Embeddingsbge/text2vec
向量存储Vector StoresChromaDB/FAISS
检索RetrievalMMR/Similarity
生成LLMGPT-4/Qwen

练习

  1. 加载10篇技术文档构建知识库
  2. 实现混合检索(向量+关键词)
  3. 添加查询改写模块

课时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
)

练习

  1. 使用ChromaDB构建一个知识库
  2. 实现CRUD操作(增删改查)
  3. 测试不同检索参数的效果

课时10:企业级RAG客服系统

核心知识点

整合RAG到AI客服系统,实现:

  • 意图识别 → 知识检索 → 答案生成 → 引用溯源
  • 多轮对话上下文维护
  • 人工转接决策

练习

  1. 搭建完整的RAG客服系统
  2. 添加日志和监控
  3. 测试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)需存完整模型

练习

  1. 使用LoRA微调一个7B模型到特定领域(如法律/医疗)
  2. 对比微调前后的回答质量
  3. 尝试不同的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监控视频分析

练习

  1. 实现一个图片内容分析工具
  2. 从图片中提取表格数据
  3. 构建一个多模态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")

练习

  1. 实现语音输入→LLM处理→语音输出的全流程
  2. 构建一个语音助手Demo
  3. 对比不同TTS模型的声音质量

课时15:多模态Agent实战

综合案例

构建一个能看、能听、能说的多模态Agent

用户语音提问


ASR语音识别


┌──────────────┐
│  多模态Agent  │  <- 整合文本+图片+语音理解
│  - 文字推理   │
│  - 图片分析   │
│  - 工具调用   │
└──────┬───────┘


TTS语音回答 + 文字显示

练习

  1. 整合ASR + LLM + TTS实现语音助手
  2. 添加视觉能力(支持图片分析)
  3. 添加工具调用能力(查询天气/搜索)

课时16:课时回顾与综合案例

综合案例:多模态智能助手

整合视觉、语音、Agent能力,构建一个能看图片、听语音、自主推理的多模态助手。


第四章:OpenClaw智能体平台(3课时)

课时17:OpenClaw平台架构

平台概述

OpenClaw 是一个开源的智能体平台,提供Agent开发、编排、部署的完整解决方案。

核心架构

┌─────────────────────────────────────┐
│           OpenClaw Platform         │
├─────────────────────────────────────┤
│  Skills    │  MCP    │  Agent Runtime│
│  (技能库)   │ (协议)   │  (运行引擎)   │
├────────────┼─────────┼──────────────┤
│  Tools API │ Memory  │  Orchestrator│
│  (工具接口) │ (记忆)   │  (编排引擎)   │
├────────────┴─────────┴──────────────┤
│          Cloud/Edge Runtime         │
└─────────────────────────────────────┘

核心组件

组件功能类比
Skills可复用的Agent能力模块插件
MCPModel Context Protocol(模型上下文协议)Agent间通信标准
Agent RuntimeAgent执行的运行环境容器
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动态发现可用工具插件化扩展
安全策略权限控制和审计企业级安全

练习

  1. 在OpenClaw平台上注册一个自定义Skill
  2. 使用MCP协议实现两个Agent之间的通信
  3. 构建一个3-Skill的Agent工作流

课时19:多智能体编排实战

核心知识点

使用OpenClaw的Orchestrator编排多Agent工作流:

1. 定义工作流
2. 配置Agent角色
3. 设置通信规则
4. 部署执行
5. 监控调试

练习

  1. 在OpenClaw上搭建一个文档处理工作流
  2. 实现Agent之间的MCP通信
  3. 使用监控面板调试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 Cache2-5x长序列推理
Continuous BatchingStep级动态批处理2-3x高并发在线
FlashAttentionIO优化的精确注意力2-4x所有场景
量化(AWQ/GPTQ)降低精度减少显存1.5-2x显存受限

练习

  1. 用vLLM部署一个开源模型
  2. 测试不同并发量下的QPS和延迟
  3. 对比有/无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

练习

  1. 为你的Agent搭建FastAPI服务
  2. 添加流式输出(SSE)
  3. 添加请求日志和错误处理中间件

课时22:毕业项目开发(上)

项目选题

方向项目难度技术栈
Agent方向多Agent协作办公系统⭐⭐⭐⭐⭐AutoGen+LangChain+vLLM
RAG方向企业知识库问答平台⭐⭐⭐⭐RAG+ChromaDB+FastAPI
微调方向领域模型微调应用⭐⭐⭐⭐LoRA+Transformers
多模态方向多模态智能助手⭐⭐⭐⭐⭐VLM+ASR+TTS+Agent

项目要求

  1. 完整的需求分析文档
  2. 系统架构设计和技术选型说明
  3. 核心模块代码实现(含测试)
  4. Docker部署方案
  5. 项目演示视频

课时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 APILLM调用platform.openai.com
Coze零代码Bot开发coze.cn
LangChainAI应用框架python.langchain.com
AutoGen多Agent框架github.com/microsoft/autogen
CrewAI多Agent编排crewai.com
ChromaDB向量数据库trychroma.com
vLLM推理加速github.com/vllm-project/vllm
OpenClawAgent平台见课程资料

推荐书籍

  1. 《LangChain实战:大模型应用开发》
  2. 《大语言模型实战指南》
  3. 《AI Agent:从原理到实践》
  4. 《自然语言处理实战(第2版)》

课程总结

本课程从LLM基础出发,系统覆盖了:

  1. AI开发基石:API调用、Prompt、LangChain、Function Calling
  2. Agent与RAG:多Agent协作、知识库构建、企业级RAG系统
  3. 多模态AI:视觉、语音、LoRA微调
  4. OpenClaw平台:Skills、MCP、多智能体编排
  5. 全栈部署与求职:vLLM、FastAPI、项目实战、简历指导

学完本课程,你将成为具备全栈能力的AI应用开发者,能够独立完成从需求分析到部署上线的完整AI项目。


祝你在AI Agent的学习和实践中取得丰硕成果!🚀

Last updated:

Python 学习资料