正版资源AI agent 大模型实战之 多伦对话实现
这门课解决什么问题 本课聚焦于如何利用 LangChain 构建具备多轮对话记忆与上下文保持能力的 LLM Agent。在实际工程中,大模型常面临上下文丢失、无法连贯追问的痛点——用户连续追问时,模型往往遗忘前序信息,导致回答偏离主题或重复废话。本课通过封装聊天记录管理与提示词模板,将多轮交互拆解为
这门课解决什么问题
本课聚焦于如何利用 LangChain 构建具备多轮对话记忆与上下文保持能力的 LLM Agent。在实际工程中,大模型常面临上下文丢失、无法连贯追问的痛点——用户连续追问时,模型往往遗忘前序信息,导致回答偏离主题或重复废话。本课通过封装聊天记录管理与提示词模板,将多轮交互拆解为可复用的工程模块,解决大模型在多轮对话场景下的落地难题。
适合什么基础
开发者需具备 Python 基础,并了解大语言模型的基本概念。建议对 LangChain 的核心概念有初步认知,例如消息类型、输出解析器以及 Runnable 的基础用法,方能顺利理解多轮对话的上下文流转机制。提示词模板的动态组装与上下文传递是本文重点,建议提前熟悉字符串格式化与函数式编程的基本思想。
建议先看哪几块
建议按工程拆解顺序阅读:先理解多轮对话上下文管理,再学习提示词模板的设计与动态组装,最后完成 Qwen LLM 与 Agent 链的集成。这三块分别对应记忆、指令与执行,缺一不可。其中上下文管理是本课的核心,决定了多轮对话能否真正连贯;提示词模板则是连接记忆与执行的关键桥梁。
学完能独立做什么
学完可独立复现一个基于 Qwen 的多轮对话 Agent,掌握聊天记录的存取与跨轮次传递,并能修改提示词模板、替换 LLM 为其他模型,跑通多轮追问的完整链路。在此基础上,可将对话逻辑封装为独立模块,配合不同业务场景快速组装新的 Agent 流程。
资料怎么配合练习
对照源码修改提示词模板,观察输出变化;尝试替换 LLM 实例为本地模型,验证上下文管理在不同后端下的表现;将多轮对话逻辑封装为独立模块,体会工程复用的价值。建议从理解单条消息的流转开始,逐步过渡到多轮完整对话的端到端运行。
from langchain_core.messages import HumanMessage, AIMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_community.chat_message_histories import ChatMessageHistory
from langchain_core.runnables import RunnableWithMessageHistory from app.agent.model.qwen import llm
from app.agent.prompts.multi_chat_prompts import multi_chat_prompt_template chain = multi_chat_prompt_template | llm | StrOutputParser() store={} def get_session_history(session_id: str): if session_id not in store: store[session_id] = ChatMessageHistory() return store[session_id] chain_with_history = RunnableWithMessageHistory( runnable=chain, get_session_history= get_session_history, input_messages_key="question", history_messages_key="chat_history", ) session_id=123 while True: user_input = input("用户:") if user_input.lower() == "exit" or user_input.lower() == "quit": break resp = chain_with_history.invoke( {"question":user_input}, config={"configurable":{"session_id":session_id}} ) print("助理:") for chunk in resp: print(chunk,end="") print("\n")




