版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
参考教案第1讲(教材第1章)主要内容大语言模型(LLM)综述:介绍LLM的定义、演进(从Transformer到DeepSeek-V3/R1、Qwen-2.5/3.5)及核心术语。LangChain框架定义:理解LangChain为什么是AI应用的“粘合剂”和“操作系统”。核心组件架构:深入解析Models(模型)、Chains(链)、Agents(智能体)、Memory(记忆)四大模块。开发环境搭建:基于Python的环境配置及国产大模型API的集成方法。行业应用前景:分析AI在应急救援、智能客服及跨语言翻译中的实际落地逻辑。重点LangChain的模块化设计理念:如何通过标准化接口屏蔽不同模型(如DeepSeek和Qwen)之间的差异。国产大模型的接入协议:掌握OpenAI兼容格式接口的配置技巧。难点Chain(链)的组合逻辑:如何将抽象的Prompt、Model和OutputParser串联成一个闭环任务。Agent(智能体)的决策原理:理解模型如何通过“推理(Reasoning)”来调用外部工具。教学过程设计(共计2学时)1.课程导入:从“土耳其地震”看AI救援情境描述:回顾2023年土耳其地震中,开发者利用LangChain快速搭建多语言翻译机器人,处理社交媒体上的全球求救信息。设问引导:如果换做传统的开发方式,面对成千上万条异构数据,开发效率能满足救援黄金72小时吗?结论:引出LangChain的核心价值——极速开发与强大的逻辑编排能力2.技术背景:LLM的国产崛起知识讲解:简述Transformer架构。对比分析:DeepSeek:侧重于高性价比和逻辑推理能力(R1系列),适合处理复杂的后端逻辑。Qwen(通义千问):阿里开源力量,在中文语境理解、长文本处理和ToolCalling(工具调用)上表现卓越。术语扫盲:Token(词元)、PromptEngineering(提示工程)、Temperature(采样随机性)。3.核心原理解析:LangChain是什么?理论模型:公式表达:$智能应用=LLM+提示模板+外部工具+记忆四大组件拆解:Models:介绍ChatOpenAI类如何通过修改base_url直接适配DeepSeekAPI。Chains:讲解最基础的LLMChain。演示“输入->提示词->模型->输出”的线性流转。Agents:重点讲解。LLM不再只是回答问题,而是作为“大脑”决定什么时候去查百度、什么时候写文件。Memory:解释如何让AI记住上一轮对话,实现连续沟通。4.动手实践:环境搭建与首个“国产芯”应用步骤一:虚拟环境准备
Bash
python-mvenvlangchain_env
sourcelangchain_env/bin/activate
#Mac/Linux步骤二:安装核心库
Bash
pipinstalllangchainlangchain-openaipython-dotenv步骤三:代码实操(重点)
教师演示如何配置环境变量.env,并接入DeepSeek:
Python
importos
fromlangchain_openaiimportChatOpenAI
fromdotenvimportload_dotenv
load_dotenv()
#配置DeepSeek接口
llm=ChatOpenAI(
model='deepseek-chat',
openai_api_key=os.getenv("DEEPSEEK_API_KEY"),
openai_api_base='/v1',
temperature=0.7
)
response=llm.invoke("请用中国古诗词风格介绍一下LangChain框架。")
print(response.content)互动:让学生尝试将model换成qwen-plus,观察回复风格的差异。5.深度案例分析:智能客服系统的逻辑流场景模拟:某电商公司需要一个能查快递状态的AI。逻辑拆解:第一步:用户提问“我的快递到哪了?”第二步:RouterChain判断意图(是查快递还是发牢骚)。第三步:如果是查快递,Agent调用外部快递API。第四步:PromptTemplate将API返回的冰冷数据转化为温暖的回复。6.总结与课后作业课堂总结:LangChain不生产大模型,它只是大模型的搬运工和指挥官。多媒体辅助PPT课件作业在本章习题中挑选有关内容布置相关作业。
参考教案第2讲(教材第2章)主要内容Python基础环境安装虚拟环境创建、激活与退出(解决依赖冲突)LangChain核心库与国产模型依赖安装(langchain、langchaincommunity、erniebot、dashscope等)环境验证代码编写与常见问题排查国产大模型API接入实战重点虚拟环境的创建与激活操作LangChain核心包与配套依赖安装命令OpenAI兼容接口配置(base_url、model、api_key)环境验证代码编写与运行难点虚拟环境隔离原理与依赖冲突解决不同国产模型接口参数差异与适配教学过程设计理论授课2学时课程导入:大模型有“大脑”缺“手脚”情境:单独LLM无法记上下文、读文件、调工具;LangChain是连接大模型与外部世界的桥梁。设问:从零开发AI应用第一步要做什么?结论:搭建稳定、隔离、可复用的开发环境是基础。Python环境安装版本要求:推荐Python3.12,兼容3.8安装要点:必须勾选AddPythontoPATH-验证命令:python--versionpip--version-系统差异:Windows/Mac/Linux验证区别虚拟环境管理目的:隔离项目依赖,避免版本冲突创建:python-mvenvlangchain-env激活:Windows:langchain-env\Scripts\activateMac/Linux:sourcelangchain-env/bin/activate退出:deactivate标识:命令行前缀出现(langchain-env)为激活成功LangChain与依赖安装升级pip:pipinstall--upgradepip安装核心库:pipinstalllangchain==0.3.21pipinstalllangchain-community3.国产模型依赖:文心一言:pipinstallerniebot通义千问:pipinstalldashscope智谱清言:OpenAI兼容无需额外SDK环境验证实操代码:test_langchain.pyfromlangchainimportversionprint("LangChain版本:",version)fromlangchain_mptsimportPromptTemplateprompt=PromptTemplate(input_variables=["name"],template="你好,{name}!环境搭建成功~")print(prompt.format(name="同学"))运行:pythontest_langchain.py常见报错与解决:模块不存在、未激活虚拟环境、版本不兼容、网络问题国产大模型API接入实战统一模式:OpenAI兼容接口=api_key+base_url+model现场演示:运行test_deepseek.py/test_qianwen.py上机操作学时实验操作(上机操作2学时):实验一大模型API对接与基础调用环境搭建=Python+虚拟环境+库安装+验证+模型接入多媒体辅助PPT课件、命令行实操演示、VSCode代码运行作业完成本地Python+LangChain环境搭建并输出验证结果2.成功接入DeepSeek或通义千问并运行对话代码3.完成本章第2章习题
参考教案第3讲(教材第3章(1、2))主要内容·LangChain核心功能、模型接口(LLMs、ChatModels、Embeddings)·模型调用基础、参数调整(temperature、max_tokens)·动态提示模板:PromptTemplate、ChatPromptTemplate·零样本/少样本学习、LCEL基础用法教学重点·模型调用接口使用·提示模板变量替换教学难点·提示工程优化输出稳定性·LCEL组合逻辑理解教学过程设计理论授课2学时1.课堂导入:真实开发痛点引入 教师活动:展示两段代码对比——原生OpenAI直接调用vsLangChain调用。 提问: ①原生调用需要写哪些重复代码? ②切换模型(DeepSeek/Qwen)时改动量大吗? ③如何让输出格式统一、稳定可控? 引导结论:LangChain提供统一接口、模块化组件、流程化编排,是LLM应用开发的标准脚手架。3.LangChain三大模型接口精讲(1)LLMs:文本生成型接口用途:文章续写、翻译、总结、指令执行代表:GPT-3.5-turbo-instruct、DeepSeek-chat特点:输入文本,输出文本,无角色结构(2)ChatModels:对话型接口(本章重点)用途:客服、助手、多轮对话、角色交互代表:ChatOpenAI、DeepSeek、通义千问结构:system/user/assistant多角色消息(3)Embeddings:向量嵌入接口用途:检索、分类、聚类、匹配特点:把文本变成数字向量,不生成回答4.环境配置与密钥安全规范实操步骤:①安装依赖:pipinstalllangchainlangchain-openaipython-dotenv②新建.env文件存放密钥③加载环境变量,禁止硬编码关键代码:fromlangchain_openaiimportChatOpenAIfromdotenvimportload_dotenvload_dotenv()llm=ChatOpenAI(model="deepseek-chat",api_key=os.getenv("DEEPSEEK_API_KEY"),base_url="/v1",temperature=0.7)5.基础调用方法与三种执行方式讲解并演示:(1)invoke:同步单条执行(最常用)(2)batch:批量执行(3)stream:流式输出(打字机效果)现场运行:让学生观察返回结果结构(AIMessage)。6.核心参数详解与效果对比(1)temperature:0~10:精准、事实、固定答案1:创意、发散、多样表达课堂演示:同一问题分别用0.1/0.7/1.0运行对比。(2)max_tokens:限制输出长度(3)top_p:核采样,控制词汇多样性7.常见错误与异常处理讲解4类高频错误:①密钥错误/未加载环境变量②接口地址写错③限流、超时④网络问题给出统一捕获模板:try-except结构。8.本学时小结与即时练习小结:接口类型→环境配置→调用方式→参数→异常处理练习:调用ChatOpenAI,生成一段50字以内的“AI学习介绍”。9.动态提示模板与LCEL1.复习导入回顾:上节课学会调用模型,但输出可能出现:答非所问、格式混乱、风格不统一、没有角色定位。引出:提示模板是解决以上问题的核心。10.提示工程基础逻辑讲解:好提示=角色+指令+约束+格式强调:提示不是越长越好,越清晰越稳定。11.PromptTemplate文本模板用法:定义变量:input_variables编写模板字符串format填充变量场景:产品介绍、知识点解释、翻译、标题生成。代码演示:生成商品营销文案。12.ChatPromptTemplate对话模板结构:system:设定身份、规则、风格human:用户问题assistant:助手回复(可选)实操:设计电商客服助手提示模板。强调:system提示直接决定输出质量。13.FewShotPromptTemplate少样本学习适用场景:专业任务、格式严格、模型易出错结构:提供几组示例让模型“照猫画虎”案例:快递状态查询固定句式回复。14.零样本vs少样本选择原则零样本:简单通用任务少样本:格式固定、行业术语、强约束任务15.LCEL管道表达式语言核心符号:|组合逻辑:模板→模型→输出写法:chain=prompt|llm优势:简洁、可读性强、易于调试演示:LCEL实现翻译+总结。16.输出格式强制约束讲解:JSON、列表、分段、限定字数模板写法:要求“只返回JSON”“不要多余解释”练习:设计模板输出{“翻译”:””,“总结”:””}17.本学时小结与课堂任务小结:上机操作学时实验操作(上机操作2学时):参考教材操作流程,完成实验二提示词模板与链式调用实践。多媒体辅助PPT作业编写调用ChatOpenAI并使用ChatPromptTemplate做一个“学习助手”
参考教案第4讲(教材第3章(3、4))主要内容·链式调用:LLMChain、SequentialChain、自定义Chain·文档问答链RetrievalQA简介·对话记忆机制:Buffer、Summary、Window记忆·记忆模块在聊天机器人中的应用教学重点·顺序链多步骤流程·对话记忆配置与使用教学难点·链式输入输出传递·长对话记忆优化教学过程设计()理论授课2学时1.场景导入提问:真实业务通常不是“一问一答”,而是:文章→摘要→关键词→问答题怎么办?引出:链式调用Chains=流程自动化。2.链式调用核心价值步骤封装、可复用数据自动流转降低重复调用便于维护与扩展公式:Chain=提示+模型+逻辑3.LLMChain基础链结构:提示模板+LLM代码:chain=LLMChain(llm=llm,prompt=prompt)chain.run(xxx)讲解:输入→提示→模型→输出演示:总结一段文本。4.SequentialChain顺序多步链适用:多步骤流水线任务关键点:每一步输出作为下一步输入设置output_key传递数据最终返回多结果演示三步骤任务:文本→摘要→提问→回答强调:input_variables/output_variables匹配。5.自定义Chain开发步骤:①继承Chain②实现input_keys/output_keys③实现_call方法用途:封装个性化逻辑(日志、校验、过滤)。6.RetrievalQA检索问答链简介作用:文档检索+生成回答组成:向量库→检索器→QA链铺垫下一章:RAG核心组件。7.链式常见错误排查输入变量名不匹配输出未定义导致中断文本过长Token溢出给出排查方法:verbose=True查看过程。8.本学时小结与实操任务小结:LLMChain→SequentialChain→自定义Chain实操:完成两步链:文本→翻译→总结。9.对话记忆与聊天机器人1.场景导入演示:无记忆机器人vs有记忆机器人提问:为什么机器人“问完就忘”?结论:LLM默认无状态,需要Memory存上下文。2.记忆模块作用与原理作用:保存历史对话,让模型“知道刚才说过什么”结构:把历史拼接到提示里,让模型看到上下文。3.三种核心记忆对比精讲(1)ConversationBufferMemory优点:完整保留对话缺点:越长越占Token适用:短对话、演示场景(2)ConversationSummaryMemory优点:总结历史,节省Token缺点:多一次模型调用适用:长对话、客服场景(3)ConversationBufferWindowMemory优点:只保留最近K轮缺点:早期信息丢失适用:大多数对话系统4.ConversationChain集成记忆代码步骤:①初始化memory②传入ConversationChain③多次run保持上下文演示:3轮以上连续对话。5.长对话优化策略窗口截断:保留最近3~5轮总结压缩:用Summary替代全文向量记忆:把历史存向量库(拓展)6.客服机器人综合实战需求:角色:电商客服功能:回答订单、物流、退货能力:记住上下文、语气友好、格式统一整合:提示模板+记忆+链式调用。7.第三章全章总结知识闭环:调用模型→设计提示→编排流程→记忆对话能力目标:能独立开发一个基础对话助手。上机操作学时实验操作(上机操作2学时):参考教材操作流程,完成实验三对话记忆模块实现。多媒体辅助PPT作业实现SequentialChain完成“摘要→提问”两步流程
参考教案第5讲(教材第4章(1、2))主要内容文档数据连接器:掌握DirectoryLoader与LOADER_MAPPING的组合使用;实现PDF、Docx、TXT的自动化递归加载。文本向量化处理:理解词嵌入(Embedding)原理;掌握使用HuggingFaceEmbeddings实例化本地模型;实现Chroma向量数据库的持久化存储。智能代理开发模式:深度解析BaseTool的自定义方法;理解ReAct决策框架(Reasoning+Acting);掌握Agent对工具描述(Description)的语义匹配逻辑。复杂业务链设计:学习端到端自动化系统的编排设计(初始化、数据流转、执行入口);掌握异常处理与性能优化策略(如向量存储持久化)。重点RAG(检索增强生成)标准管道:加载->分割->向量化->存储->检索的完整逻辑链路。工具定义的精准性:工具description的撰写技巧,直接决定了Agent任务分发的准确率。国产模型适配:掌握通过ChatOpenAI类通过参数修改接入DeepSeek等国产大模型API难点向量检索的调优:块大小(CHUNK_SIZE)与重叠(CHUNK_OVERLAP)对上下文保留的影响。Agent的无状态与记忆管理:如何在Agent执行流程中注入教学过程设计()理论授课2学时一、课堂导入:从“通才”到“领域专家”1.情境导入教师活动:在屏幕上向DeepSeek/GPT提问:“我校教务处关于勤工助学岗位的最新申请流程是什么?”模型回复:由于模型无法访问校内私有文档,通常会回答“无法获取实时信息”或提供通用流程。互动设问:教师:“同学们,大模型虽然‘博学’,但它却是个‘没连内网的博士’。如果我们想让它帮学校处理教务查询、帮企业分析内部财报,我们该如何给它安上一双‘眼睛’,让它读懂这些私有文档?”
学生:预期讨论点包括“把文档内容复制给它”、“训练一个新模型”。结论:引出本章核心——RAG(检索增强生成)。第一步就是解决“如何读入文档”与“如何让电脑理解文档意思”的问题。二、核心原理讲解(一):文档连接器——数据搬运工1.深度比喻:研究助理的“数字化扫描仪”比喻讲解:原始文档:就像档案室里杂乱无章的纸质卷宗。连接器(Loader):是助理手中的“高清扫描仪”,它不仅能识别文字,还会记录下“这张纸来自哪本书第几页”(即Metadata元数据)。文本分割(Splitter):是助理的“剪刀”。因为人的瞬时记忆(ContextWindow)有限,助理必须把书切成一张张“知识卡片”,每张卡片保留一部分重叠内容,防止一句话被剪成两半导致意思断了(即Overlap重叠)。2.代码实现全流程剖析教师演示如何通过一个“字典映射”实现全自动化的目录加载:#定义不同文件类型的搬运工(加载器)
LOADER_MAPPING={
".pdf":(PyPDFLoader,{}),
".docx":(Docx2txtLoader,{}),
".txt":(TextLoader,{"encoding":"utf8"})
}
#自动递归加载整个文件夹
forroot,_,filesinos.walk(directory_path):
forfileinfiles:
file_path=os.path.join(root,file)
ext=os.path.splitext(file_path)[1].lower()#识别后缀
ifextinLOADER_MAPPING:
loader_class,loader_args=LOADER_MAPPING[ext]
loader=loader_class(file_path,**loader_args)#实例化加载器
documents.extend(loader.load())#转换为标准Document对象3.互动提问设问:“如果我的文档是中英文混合的,我们在分割时设置CHUNK_SIZE=1000,这个单位是字符还是字节?”解析:在LangChain中通常指字符数。引导学生思考不同语言对Token消耗的差异。三、核心原理讲解(二):文本向量化——语义导航地图1.深度比喻:语义的“经纬度坐标”比喻讲解:文本向量化(Embedding):就像是把一段话翻译成一组“经纬度坐标”。语义空间:在地图上,“猫”和“狗”的坐标离得很近,因为它们都是宠物;而“猫”和“冰淇淋”的坐标离得非常远。向量数据库(Chroma):就是一个“智能卡片盒”。当我们提问时,助理把问题也变成“坐标”,然后在卡片盒里搜索离这个坐标最近的几张卡片。2.重点代码讲解:本地化实现与持久化教师演示如何使用轻量级本地模型,并实现“一次计算,永久使用”:#1.实例化嵌入模型(使用开源轻量级MiniLM)
embeddings=HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
#2.创建或加载向量存储(持久化至本地)
ifos.path.exists(persist_dir):
#如果目录存在,直接开箱即用,节省API费和时间
vectorstore=Chroma(persist_directory=persist_dir,embedding_function=embeddings)
else:
#否则,开始“剪切+编码+存入”流水线
vectorstore=Chroma.from_documents(
documents=split_documents,
embedding=embeddings,
persist_directory=persist_dir
)
vectorstore.persist()#显式存入硬盘3.互动提问设问:“大家看,代码中我们使用了persist()方法。如果我不持久化,每次运行程序都会重新计算一遍向量。对于一个拥有百万级文档的公司来说,这会带来什么后果?”学生反馈点:算力浪费、启动极其缓慢、磁盘空间占用波动等。四、课堂总结与讨论1.知识点总结4.1解决了数据“怎么进”的问题:Loader映射+递归加载+语义分割。4.2解决了数据“怎么搜”的问题:Embedding降维打击+向量空间检索。2.课后思考题在实验一(大模型API对接)的基础上,尝试将你刚才加载的文档变成一个Retriever(检索器)。思考一下:如果SEARCH_K(检索块数)设得太大,会对最后的回答产生什么负面影响?(提示:Context长度限制)。上机操作学时实验操作(上机操作4学时):参考教材操作流程,完成实验四文档数据连接器开发。多媒体辅助作业在本章习题中挑选有关内容布置相关作业。
参考教案第6讲(教材第4章(3、4))主要内容理解如何构建一个具备感知(Perception)、决策(Decision)和行动(Action)能力的综合系统。4智能代理(IntelligentAgent):代理是基于大模型、能自主完成任务的实体,由LLM(大脑)、工具(手脚)、记忆(经验)和规划器(逻辑)组成。核心机制(ReAct):代理通过“推理(Reasoning)”分析用户意图,随后采取“行动(Acting)”调用工具,循环往复直到得出结果。开发步骤:包括定义工具集(BaseTool)、初始化LLM(如适配DeepSeek)、设计对话记忆(Memory)以及组装代理执行器。复杂业务链(ComplexBusinessChain):将文档加载器、向量数据库、智能代理等多个独立组件,按照预定义逻辑连接成端到端系统。设计六步法:包含需求分析、任务分解、流程设计、错误处理、测试优化和部署维护。编排器模式:通过BusinessProcessChain类统一管理组件的初始化顺序和数据流转(例如先有向量库,后有问答工具)。重点工具定义的精准性:自定义工具的description(描述)不仅是注释,更是代理进行语义匹配的唯一依据。描述的清晰度直接决定了代理是否会“误诊”用户意图。组件的有序编排:理解业务链的依赖关系——必须先通过连接器加载文档,再进行向量化存储,最后才能将这些资源注入工具并交给代理。国产模型适配:掌握如何通过ChatOpenAI类修改base_url和api_key等参数,将系统大脑接入DeepSeek等国产大模型API。难点代理的记忆管理:大模型本质是无状态的。如何在代理思考、调用工具、观察结果的多次循环中,稳定地注入并维护ConversationBufferMemory,是保证对话不“断片”的难点。向量检索的调优:在业务链前期,CHUNK_SIZE(块大小)与CHUNK_OVERLAP(重叠大小)的设置直接影响检索精度。设置不当会导致语义断裂,使代理获取不到完整的上下文。异常处理策略:在复杂链条中,任何一个组件(如网络API)失效都可能导致整条链崩溃。如何在process_query中设计健壮的try...except监控和友好反馈机制是工程化的难点。教学过程设计()理论授课2学时一、课堂导入:从“博学”到“能干”1.生活情境列举案例一:智能家居的演进初级阶段:你对智能音箱说“开灯”,它执行指令。这只是一个简单的“指令-动作”对应。代理阶段:你对智能助理说“我要看电影”。此时,它会自主思考:首先拉上窗帘,然后调暗灯光,接着开启投影仪,最后播放电影。它不仅仅是听命行事,而是根据你的意图,自主编排了一系列动作。案例二:手机导航的差异传统导航:只负责在地图上标出路线。现代代理导航:它会感知实时路况。如果发现前方堵车,它会自动查询备选路线(感知),判断哪条最快(决策),并询问你是否切换(交互/行动)。案例三:职场中的“新入职助理”如果你告诉助理“准备下午的会议”,优秀的助理会去查会议室预定情况、准备投屏设备、打印资料。他知道什么时候该用打印机(工具),什么时候该查系统(数据)。2.互动设问教师:“同学们,我们在4.1和4.2节给大模型安上了‘眼睛’(读取文档)和‘记忆’(向量库)。但它现在还只是个‘坐在图书馆里的学者’。如果我们想让它帮企业真正处理业务,比如‘帮我查一下政策并帮我给经理发个提醒’,它该怎么做?”学生预测:“它需要能选择不同的功能”,“它需要知道先干什么后干什么”。3.自然导入知识点结论:这就是我们要学习的4.3智能代理(Agent)——给大模型装上“手脚”;以及4.4复杂业务链(BusinessChain)——让大模型学会“办事流程”。二、知识点讲解(一):4.3智能代理开发模式1.核心定义与特征定义:智能代理是一种能够感知环境、做出决策并采取行动以实现特定目标的系统。在LangChain中,它特指基于大语言模型、能自主完成任务的系统。五大组件:大语言模型(LLM):大脑,负责推理。工具(Tools):手脚,负责执行具体功能(如查询数据库、发邮件)。记忆(Memory):存储交互历史,保持上下文连贯。规划器(Planner):将复杂任务拆解。执行器(Executor):负责具体步骤的运转。2.代码实现过程:定义代理的“工具箱”要让代理干活,先要给它定义工具。我们以“企业知识库查询”和“任务处理”为例。步骤一:定义工具类
#继承BaseTool基类定义自定义工具
classKnowledgeBaseQueryTool(BaseTool):
name="知识库查询工具"
#工具的唯一名称
#描述至关重要!它是代理决定何时调用此工具的唯一依据
description="当需要回答关于公司政策、产品信息等内部知识时使用。输入应为具体的问题。"
qa_chain:ConversationalRetrievalChain
#注入我们上一节课做的问答链
def_run(self,query:str)->str:
print(f"\n---[智能代理]正在启动知识库查询---")
result=self.qa_chain({"question":query,"chat_history":[]})
returnresult['answer']交互环节:教师:“大家看description属性。如果我把它改写成‘这是一个处理字符串的工具’,代理还能正确回答公司政策吗?”学生:讨论后得出结论,description必须清晰、准确,否则LLM无法进行正确的语义匹配。3.构建代理执行器代码展示:
Python
#初始化代理
agent=initialize_agent(
tools=[KnowledgeBaseQueryTool(qa_chain=my_chain),SimpleTaskTool()],
#传入工具列表
llm=llm,
#传入配置好的大脑
agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION,
#选择支持ReAct框架的代理类型
memory=memory,
#赋予记忆
verbose=True
#开启后可以看到代理的“思考过程”)原理解析:这里使用了ReAct框架(Reasoning+Acting)。代理会先思考(Thought),决定行动(Action),观察结果(Observation),再决定下一步。三、知识点讲解(二):4.4复杂业务链设计1.核心定义:从单点到整体定义:复杂业务链是由多个独立但相关的任务组成的自动化流程。特点:多任务协同:每个环节干专长的事。数据传递:上游的输出是下游的输入。异常处理:某个环节出错了,整体不能崩。2.六步设计方法论需求分析:明确目标。任务分解:把大任务切碎。流程设计:确定先后顺序和依赖。错误处理:设置检查点。测试优化:模拟真实场景。部署维护:实际上线。3.案例分析:BusinessProcessChain类的封装在实际代码中,我们通常封装一个类来管理整个业务逻辑。代码逻辑详解:
Python
classBusinessProcessChain:
def__init__(self,...):
#编排与初始化顺序
self._setup_components()
def_setup_components(self):
#1.接入数据连接器(4.1)
self.raw_documents=load_documents_from_directory(DOCS_DIRECTORY)
#2.向量化处理(4.2)
self.vectorstore=create_or_load_vectorstore(self.raw_documents,...)
#3.创建智能代理(4.3)self.agent=create_intelligent_agent(...)
defprocess_query(self,user_query:str):
#统一执行入口
try:
#代理作为执行引擎驱动整个链条
returnself.agent.run(input=user_query)
exceptExceptionase:
returnf"抱歉,流程出错了:{e}"交互环节:走一遍流程情境:用户问“年假政策是什么?”教师:“请同学们对照代码,指出数据是怎么跑的?”学生分析:process_query接收问题$\rightarrow$传给agent$\rightarrow$agent分析描述发现匹配KnowledgeBaseQueryTool$\rightarrow$工具去vectorstore查数据$\rightarrow$返回给用户。四、课堂总结回顾核心:4.3智能代理:LLM+工具+记忆+ReAct。它是业务的“执行官”。4.4复杂业务链:是组件的有机编排。它是业务的“指挥中心”。课程意义:通过本章学习,我们不再只是调用一个API,而是构建了一个具备感知(Loader/Embedding)、决策(LLM/Agent)和行动(Tools)能力的端到端系统。课后思考:“如果代理在执行任务时,外部工具连接超时了,我们的业务链应该如何优雅地告诉用户?”(引导预习第五章的项目实战)。上机操作学时实验操作(上机操作4学时):参考教材操作流程,完成实验五智能代理实践。多媒体辅助作业在本章习题中挑选有关内容布置相关作业。
参考教案第7讲(教材第5章(1、2))主要内容·智能客服系统:需求、架构、模块·对话管理、知识库、DeepSeek模型对接·检索+大模型协同问答逻辑·文档问答系统:RAG、向量化、FAISS、检索问答·文档问答RAG流程教学重点·客服系统架构·文档问答RAG流程·知识库检索流程教学难点·混合检索(关键词+语义)实现·会话历史管理教学过程设计()理论授课2学时一、智能客服系统——项目背景与架构设计课程导入:从组件开发走向企业级项目回顾1~4章:模型调用、提示、链、记忆、检索、代理、RAG本章定位:落地为王、工程化、可部署、可交付四大项目一览:智能客服/文档问答/自动报告/知识库增强教学目标:能讲清架构、能跑通代码、能改功能、能排查问题智能客服项目背景与行业价值痛点:人工成本高、夜班缺失、高峰期拥堵、回答不统一价值:7×24小时、标准化回答、多轮对话、流量减负、可监控典型场景:订单查询、售后政策、物流状态、退款规则、活动咨询智能客服系统总体架构五层架构:用户界面→对话管理→推理引擎→知识库→数据存储核心模块:会话管理、意图识别、知识库检索、模型回答、人工转接、情感判断执行流程:用户输入→清洗→意图→检索→生成→记录→返回存储设计与配置规范知识库:文本/二进制存储、元数据(来源、页码、版本、更新时间)对话历史:JSON单文件存储、会话ID、加密、过期清理配置文件:config.py管理API、路径、参数、开关依赖环境与版本约束Python3.8+、gradio、langchain、faiss-cpu、tiktoken、pandas、jiebaDeepSeek接口兼容OpenAI格式本学时小结与课堂任务小结:客服=对话+检索+记忆+模型+稳定兜底任务:画出智能客服架构图并标注数据流二、智能客服系统——核心代码实现与运行演示复习导入:架构与流程回顾会话管理模块实现ChatSession:会话ID、创建时间、消息列表、XSS过滤、长度限制EnhancedConversationMemory:滑动窗口、token截断、历史压缩代码:add_message、save_session、load_session、clear知识库混合检索引擎倒排索引+jieba分词:快速关键词召回向量检索:SentenceTransformer语义匹配混合策略:取并集→去重→排序→topN代码:_build_index、search、load_from_diskDeepSeekAPI封装与异常容错指数退避重试、超时、限流、网络异常generate_reply:temperature=0.3、固定格式、拒绝编造降级策略:知识库无结果时返回标准话术Gradio界面搭建与启动入口聊天界面、输入框、历史记录、清空按钮主流程:加载库→初始化记忆→启动服务项目运行演示与效果讲解演示:查政策、查产品、多轮追问、无法回答转人工小结与实操任务任务:完成会话保存/加载代码并测试三、文档问答系统——项目介绍与RAG核心原理项目导入:企业文档检索刚需痛点:文档多、查找慢、要点难提取、人工整理成本高目标:上传PDF/DOCX/TXT→自动问答→答案可溯源文档问答系统功能与定位核心能力:多格式兼容、自动分块、向量化、语义检索、问答、引用来源适用场景:规章制度、手册、论文、合同、财报、课件技术栈:Flask+LangChain+FAISS+HuggingFace嵌入+DeepSeekRAG标准流程精讲完整Pipeline:加载→分块→向量化→入库→检索→提示→生成关键参数:chunk_size、chunk_overlap、search_k、temperature为什么RAG比微调更轻量、低成本、易更新系统架构与模块划分前端:上传、文档列表、提问、答案展示后端:文档处理器、向量管理器、问答链、Web服务存储:原始文件、向量库、元数据JSONFAISS向量库选型与优势内存快、中小规模最佳、相似度搜索、易于部署与Chroma/ES对比:适合教学与轻量部署小结与课堂任务任务:绘制RAG流程图并标注每一步作用四、文档问答系统——代码实现与Web部署复习导入:RAG流程回顾文档加载器与格式兼容LOADER_MAPPING:PDF/DOCX/TXT/HTML递归目录加载、编码自动识别、异常跳过、错误日志代码:DocumentProcessor、_get_document_loader、load文本分块与向量化RecursiveCharacterTextSplitter:按段落/句子/词分割HuggingFaceEmbeddings:本地轻量模型、无API成本代码:split_documents、embedding、vector生成向量存储管理创建/加载、持久化、增删查、as_retriever缓存机制:避免重复向量化问答链与上下文控制ChatPromptTemplate:设定角色、约束、格式ConversationalRetrievalChain+记忆防幻觉:引用片段、限定范围、拒绝编造Flask接口与前后端启动路由:/upload、/ask、/list、/delete运行演示:上传→提问→看答案→查来源小结与练习练习:实现文档上传与分块代码上机操作学时实验操作(上机操作4学时):参考教材操作流程,完成实验六智能客服系统开发。多媒体辅助PPT作业简述智能客服知识库与大模型协同工作逻辑
参考教案第8讲(教材第5章(3、4))主要内容·自动化报告生成器:数据处理、分析、报告生成·业务知识库增强系统:文档增强、知识优化教学重点·数据加载与清洗·文档知识增强教学难点·向量库与问答链集成·报告自动生成逻辑教学过程设计()理论授课2学时一、自动化报告生成器——需求分析与架构设计项目导入:数据报告效率革命痛点:重复制表、写总结、排版耗时、易出错、不规范目标:上传数据→自动清洗→分析→可视化→生成专业报告→导出项目功能与整体架构模块:数据加载→清洗→分析→可视化→报告生成→导出服务输出结构:封面→摘要→数据说明→分析→图表→结论→建议适用场景:周报、销售报表、调研数据、实验结果、运营分析数据处理模块设计支持格式:CSV/Excel/JSON/TXT清洗:去空、去重、填充、类型修正、异常值过滤分析:描述统计、相关性、分组、占比、趋势、波动可视化自动选型图表:柱状、折线、饼图、散点、直方图、热力图自动推荐:数值→柱状/折线、占比→饼图、分布→直方图报告生成与模板引擎Jinja2模板:结构固定、内容填充、分页、标题、目录DeepSeek生成:摘要、分析、结论、建议导出服务与格式PDF/Word/HTML/PPTX字体、排版、分页、图片嵌入小结二、自动化报告生成器——代码实现与全流程演示复习导入:报告生成流程数据加载与清洗代码load_data:按格式读取→DataFrameclean_data:drop_na、fill_na、drop_duplicates、rename、filter异常捕获:格式错误、空文件、列缺失、编码错误数据分析逻辑基础统计、缺失值、唯一值、分布、相关性、分组聚合、时间序列自动生成分析结论文本可视化自动绘图通用绘图函数、保存图片、路径管理、插入报告大模型结构化报告生成提示模板:数据+图表信息→专业段落约束:客观、数据支撑、简洁、分点、可落地完整流程演示上传Excel→清洗→分析→图表→生成报告→导出PDF常见问题与优化方案数据脏、图表乱、报告空洞、格式漂移的解决办法三、业务知识库增强系统——需求与增强逻辑项目导入:传统知识库痛点问题:老旧、零散、难检索、表达生硬、回答不准、无法扩展目标:企业级可用、准确、稳定、易维护、可扩展业务知识库增强系统介绍核心能力:多源导入、清洗、标准化、内容增强、问答对生成、混合检索、优化输出面向:内部制度、产品手册、运维文档、培训资料、合规条款知识增强核心逻辑文档增强:补背景、举例、解释术语、拆分长句、结构化问答对生成:自动造题→标注答案→入库→便于精准匹配质量控制:去重、去噪、统一格式、版本管理、审核机制系统架构与模块文档处理→增强引擎→向量库→混合检索→问答优化→管理后台关键:增强后再向量化,显著提升匹配率DeepSeek在知识增强中的作用润色、结构化、补全逻辑、生成问答、同义拓展提示原则:专业、简洁、可验证、不夸大、合规小结四、知识库增强系统代码+四大项目总结与工程规范复习导入:知识增强价值文档加载与增强模块代码load_document:统一格式、元数据、来源记录enhance_document:LLMChain增强、保留原文、标记版本、打标签向量库与混合检索优化增强文本向量化、索引构建、关键词+语义双路召回重排序、去重、过滤、返回最佳片段问答输出优化与控制格式约束、分段、引用来源、拒绝编造、语气统一异常兜底:无结果时返回标准话术四大项目横向总结共同底座:LangChain+大模型+RAG+记忆+异常处理定位差异:智能客服:对话优先、多轮、意图、转接文档问答:上传检索、溯源、长文档自动报告:数据驱动、分析可视化、导出知识库增强:企业内部、质量优先、稳定权威工程化最佳实践配置分离、密钥不硬编码、日志、异常捕获、版本管理、缓存、测试用例上机操作学时实验操作(上机操作4学时):参考教材操作流程,完成实验七文档问答系统搭建。多媒体辅助PPT作业实现文档加载与基础文本分块代码
参考教案第9讲(教材第6章(1、2))主要内容模型微调与适配:概念、区别、训练方式、参数更新策略模型适配基础:抽象层、输入输出标准化、上下文管理LangChain国产大模型适配实战(通义千问/文心一言)缓存加速机制:原理、触发流程、四大缓存类型内存/Redis/语义缓存配置与代码实操缓存效果对比与生产最佳实践重点模型微调vs适配的核心区别与适用场景LangChain模型抽象层与自定义LLM实现内存缓存、Redis缓存、语义缓存的配置与使用缓存加速的实战代码与效果验证难点自定义LLM适配国产模型的接口封装语义缓存的向量检索与相似度匹配原理生产环境缓存策略选型与TTL管理教学过程设计理论授课2学时课程导入:AI应用的“精度+速度”双难题(10分钟)情境:企业智能客服回答不准、响应慢、重复调用成本高。设问:如何让模型更懂业务?如何让系统更快更省钱?结论:模型适配/微调提升准确性;缓存加速提升速度、降低成本。模型微调与适配核心理论(20分钟)模型微调:预训练模型+领域数据再训练,全参数/部分参数更新模型适配:不重训练,用接口/提示/结构让模型适配业务关键区别:微调算力高、效果深;适配轻量、快速、低成本训练类型:监督微调、指令微调、对齐训练、多任务学习模型适配基础与LangChain实现(25分钟)模型抽象层:统一BaseLLM接口,屏蔽模型差异输入输出标准化:PromptTemplate+OutputParser上下文管理:Memory维护对话历史实操:自定义LLM类,继承BaseLLM实现_generate方法4.国产大模型适配实战(20分钟)步骤:1.安装依赖(dashscope/erniebot)继承BaseLLM实现QwenLLM/ErnieLLM实现_generate方法调用官方API测试调用:生成文本、验证链路代码演示:通义千问适配+诗词生成任务缓存加速机制原理(15分钟)核心目标:减少重复LLM调用、降成本、提速度缓存流程:请求→哈希→查缓存→命中返回/未命中执行→回写缓存核心价值:相同请求第二次响应提速30%~90%四大缓存类型与配置实操(25分钟)内存缓存InMemoryCache:最快、重启丢失SQLite缓存:本地持久化Redis缓存:分布式高并发语义缓存:按意思匹配,非字符串严格匹配代码:全局缓存设置、语义缓存+FAISS实现效果对比与总结作业(5分钟)对比:首次请求耗时vs缓存后耗时总结:适配提精度、缓存提速度上机操作学时实验操作(上机操作2学时):完成国产模型适配+内存/Redis缓存实操多媒体辅助PPT课件、VSCode代码演示、国产模型API控制台截图作业完成通义千问/文心一言的LangChain自定义适配并运行成功实现内存缓存+Redis缓存,对比响应时间并截图3.说明:什么时候用微调?什么时候只用适配?
参考教案第10讲(教材第6章(3、4))主要内容分布式处理核心概念与四大方案:任务分片、推理服务、缓存协同、负载均衡分布式架构:Celery+Redis+FastAPI实现任务分发、并行执行、结果合并实战代码监控与日志三大模块:回调机制、结构化日志、监控指标LangChain回调监听、日志分级、Prometheus指标对接线上问题定位、异常捕获、成本追踪实践重点分布式任务分片与并行向量化实现分布式推理服务与负载均衡策略LangChain回调机制捕获LLM/Chain/Tool事件核心监控指标:耗时、Token、错误率、并发难点分布式任务状态同步、幂等性、超时重试机制语义缓存与分布式缓存协同一致性全链路日志追踪与多节点日志聚合教学过程设计理论授课2学时课程导入:单机扛不住高并发怎么办?情境:双11/大促期间,智能客服瞬间上千请求,单机崩溃、超时频发。设问:如何让AI系统支持高并发、大流量、高可用?结论:分布式横向扩容;监控日志保障稳定可查。分布式处理核心概念定义:多节点协同完成计算,提升并发与吞吐量解决问题:高并发、大数据量、单点故障、资源利用率低三大并行模式:任务并行、数据并行、流水线并行分布式四大方案精讲任务分片:文档切分、批量向量化并行处理分布式推理:多节点负载均衡、异地多活缓存协同:跨节点共享Redis缓存、保证一致性负载均衡:轮询、权重、最小连接、动态反馈架构:Celery+Redis+FastAPI分布式流水线分布式代码实战步骤:启动Redis作为消息队列定义Celery异步任务(文档向量化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨折体征相关试题与答案解析
- 2026年部队基层医师考试试题及答案
- 持续改进项目文档管理合同
- 医学免疫学基础试题及答案呈现
- 沿海船舶租赁服务合同
- 产科三基强化试题及答案
- 澡堂管理测试题与答案
- 战时财务专项试题及对应答案
- 2026-2030中国电池行业发展现状分析及发展趋势与投资前景预测研究报告
- 2026-2030中国三氯蔗糖市场项目投资建议与前景占有率调查研究报告
- 2026年天津高考(语文)考试真题附答案
- 2026河北石家庄市栾城区殡仪馆公开招聘工作人员2名笔试模拟试题及答案详解
- 2026学年河南省南阳市二年级数学期末提升重点试题(详细参考解析)详细答案和解析
- 2025年审计岗招聘考试《审计基础知识》真题附答案
- 广东省佛山市2025-2026学年高一下学期期末考试生物试卷
- 2026年度电力工程造价从业人员专业能力评价(电力工程造价管理)训练题及答案
- 2025~2026学年宁夏银川市永宁县永宁中学高一年级第二学期期中考试化学试卷
- 2026教育局干部面试题及答案
- 农产品质量安全检测机构考核评审员考试题及答案
- 中医疫病学绪论课件
- 核电项目通用质保大纲
评论
0/150
提交评论