LangChain 实战教程:构建带记忆的聊天机器人

04|LangChain | 从入门到实战 -六大组件之chain 执行创建工具,场景等,调用顺序,遵循LCEL在许多编程语言和库中,"chain"通常用于描述一系列的操作或函数,这些操作或函数按照特定的顺序依次执行,前一个操作的输出会作为后一个操作的输入。这种模式也被称为管道(Pipeline)或链式调用(Chain Calling)。 阅读详情

前言

复制后 格式化下 填入环境变量即可运行

一、简介

在传统聊天机器人中,对话往往是“无状态”的——每次对话都独立处理,无法记住上下文。本教程将使用LangChain框架,构建一个能够记住对话历史的智能聊天机器人。


二、前置准备

  1. 安装依赖
pip install langchain langchain-openai python-dotenv
  1. 配置API密钥

    在.env文件中添加:

OPENAI_API_KEY = "your-api-key"
# 或使用本地模型(如Llama2)的配置

三、核心实现步骤

1. 初始化基础组件

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain_openai import ChatOpenAI

# 初始化大语言模型
llm = ChatOpenAI(temperature=0.5)  # 控制回答随机性

# 创建对话记忆模块
memory = ConversationBufferMemory()

2. 构建对话链

conversation = ConversationChain(
    llm=llm,
    memory=memory,
    verbose=True  # 显示内部思考过程
)

3. 实现对话循环

print("机器人:您好!我是您的AI助手,输入'exit'退出对话")
whileTrue:
    user_input = input("您:")

if user_input.lower() == 'exit':
print("对话已存档,下次再见!")
break

    response = conversation.predict(input=user_input)
print(f"机器人:{response}")

四、进阶功能实现

1. 记忆类型扩展

LangChain 提供多种记忆模式:

  • ConversationBufferWindowMemory

    :仅保留最近N轮对话

  • ConversationSummaryMemory

    :自动生成对话摘要

  • EntityMemory

    :重点记忆关键实体

from langchain.memory import ConversationSummaryMemory

summary_memory = ConversationSummaryMemory(llm=llm)
conversation = ConversationChain(llm=llm, memory=summary_memory)

2. 记忆持久化存储

# 保存对话历史到文件
import json

with open('chat_history.json', 'w') as f:
    json.dump(memory.load_memory_variables({}), f)

# 从文件加载历史
with open('chat_history.json') as f:
    memory.save_context({}, json.load(f))

3. 对话增强功能

from langchain.agents import Tool
from langchain.utilities import GoogleSearchAPIWrapper

search = GoogleSearchAPIWrapper()
tools = [
    Tool(
        name="Web Search",
        func=search.run,
        description="当需要实时信息时使用"
    )
]

# 结合搜索功能的对话链
conversation_with_search = initialize_agent(
    tools, 
    llm, 
    agent="conversational-react-description",
    memory=memory
)

五、关键参数解析

参数说明推荐值
temperature控制回答创造性0.2-0.7
max_token_limit记忆存储上限2000
k (窗口记忆)保留最近对话轮数3-5

六、实战演示

对话示例:

用户:我计划去巴黎旅行
机器人:巴黎是个浪漫的城市!需要我推荐景点吗?

用户:是的,请推荐三个必去的地方
机器人:1. 埃菲尔铁塔 2. 卢浮宫 3. 巴黎圣母院

用户:你刚才说的第一个景点是什么?
机器人:您指的是埃菲尔铁塔,建议日落时分参观...

七、注意事项

  1. 长期记忆会消耗更多Token
  2. 敏感信息需做脱敏处理
  3. 定期清理无效记忆
  4. 不同LLM的记忆能力存在差异

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

【LangChain实战】LangChain快速入门 大语言模型是一种人工智能模型,通常使用深度学习技术,比如神经网络,来理解和生成人类语言。这些模型的“大”在于它们的参数数量非常多,可以达到数十亿甚至更多,这使得它们能够理解和生成高度复杂的语言模式。你可以将大语言模型想象成一个巨大的预测机器,其训练过程主要基于“猜词”:给定一段文本的开头,它的任务就是预测下一个词是什么。模型会根据大量的训练数据(例如在互联网上爬取的文本),试图理解词语和词组在语言中的用法和含义,以及它们如何组合形成意义。它会通过不断地学习和调整参数,使得自己的预测越来越准确。 阅读详情

相关推荐

深入浅出LangChain AI Agent智能体开发教程(四)—LangChain记忆存储与多轮对话机器人搭建

本期分享回顾了LangChain的基本概念、接入大模型和构造链的方法,然后学习了LangChain多轮对话记忆的编写原理,最后通过gradio和多轮对话打造了具备前后端功能的智能机器人。

weixin_42782643的博客 1101

LangChain实战

了解了LangChain的链式魅力,实战各种链, 并使用SequntialChain把链再链起来,完成更复杂效果。

2401_85325726的博客 1778

使用DeepSeekR1基于LangChain构建聊天机器人(带记忆功能)

基于任何LLM框架构建的链和智能代理,并与LangChain无缝集成,LangChain是使用LLM构建的首选开源框架。简单说就是用它来观察大模型进行了哪些调用,让你清楚你的大模型内部咋工作的。为了让大家先感受一下LangChain框架,这里使用框架进行一个最简单的对话案例,注意,这个案例一定是正确的,如果报错则一定是环境缺少包或者环境变量没配置等问题。LangChain应用需要一个大模型型,官方教程使用的是OpenAI,本文使用硅基流动的DeepSeekR1满血版进行演示。”就无法把问题回答准确。

awei0916的专栏 1709

langchain简版教程附案例

langchain是一个开源的应用开发框架。基于该开源框架,我们可以把大模型与各种工具结合从而实现各种功能,比如基本文档的问答,解析网页内容、查询表格数据等。目前支持Python和TypeScript两种编程语言。当前Python框架支持的模型和功能最全面。

luxinfeng的博客 6993

【2024最全最细Langchain教程-10】Langchain记忆模块

上节课我们介绍了如何利用langchain去加载互联网页面内容(中文信息)、向量化和利用大语言模型进行查询,这节课我们讲一下Langchain的记忆模块。我们利用langchain构造最多的就是聊天机器人,而要进行聊天的业务功能,就必须使得大语言模型能够获得上下文,这样对话才能继续。

u013607702的博客 2778

基于LangChain与通义千问的带记忆功能聊天机器人实现

基于LangChain与通义千问的带记忆功能聊天机器人实现 本项目开发了一个具有上下文记忆能力的智能对话系统,采用LangChain框架结合阿里云通义千问API构建。系统核心功能包括:基于内存的对话历史管理、可配置的模型参数设置、支持命令交互的控制台界面以及完善的日志记录机制。通过模块化设计实现了提示工程、模型调用和会话管理的解耦,开发者可快速扩展为Web应用或集成到其他系统中。项目提供完整的环境配置指南和代码解析,特别适合需要实现连贯对话场景的应用开发。

qq_35354529的博客 1003

大模型实战教程 | 使用 LangChain 构建一个有记忆的聊天机器人

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

m0_56255097的博客 1043

LangChain实战:用SQLite为聊天机器人打造持久化记忆(附完整代码)

本文详细介绍了如何利用LangChain框架和SQLite数据库为聊天机器人构建持久化记忆系统。通过实战代码演示,文章展示了从基础会话历史存储到高级性能优化、错误处理及生产环境部署的完整解决方案,有效解决了大模型对话中的上下文遗忘问题,提升用户体验的连贯性。

rust6ferris的博客 750

【零基础】Windows基于langchain构建聊天机器人(带记忆)

使用langchain的消息历史给模型赋予“记忆”

1131

LangChain教程 – 如何构建自定义知识聊天机器人

您可能已经了解到过去几个月发布的大量 AI 应用程序。您甚至可能已经开始使用其中的一些。ChatPDF和CustomGPT AI等 AI 工具已经对人们变得非常有用——这是有充分理由的。您需要滚动浏览 50 页文档才能找到简单答案的日子已经一去不复返了。相反,您可以依靠 AI 来完成繁重的工作。但是这些开发人员究竟是如何创建和使用这些工具的呢?好吧,他们中的许多人都在使用一个名为 LangChain 的开源框架。

python122_的博客 1133

【AI大模型应用开发】【LangChain系列】1. 全面学习LangChain输入输出I/O模块:理论介绍+实战示例+细节注释

LangChain的输入输出模块的封装,包括Prompt模板、大模型接口、输出解析器的封装。本文带你全面学习这些模块,通过介绍+实战,对这些模块的用法和作用有深刻的认识。

同学小张的博客 2628

langchain 添加memory构建聊天机器人

LangChain 聊天机器人构建 SOP:附带memory、agent。

qq_44742936的博客 1857

Sparse4Dv3 代码复现

打包数据集的元信息和标签,并生成所需的.pkl文件。最后还输出了很多跟踪相关的东西...然后通过K-means生成锚点。编译可变形聚合CUDA算子。安装motmetrics。

m0_60857098的博客 4490

LangChain Memory 结合LLMs:让你的聊天机器人拥有记忆力

在快速发展的人工智能领域,聊天机器人已成为不可或缺的工具,它们提供全方位的服务,从回答客户查询到提供个性化帮助。然而,传统的聊天机器人通常无法记住对话上下文,导致有时显得脱节且缺乏人情味。这是因为大多数聊天机器人都是无状态的,将每个用户查询视为独立交互,不参考之前的交换。为了解决这个限制并提升对话体验,Langchain对话记忆的概念被引入。这一创新解决方案使聊天机器人能够记住过去的交互,并根据上下文生成更相关的响应,打造更流畅、更贴近人性化的对话。

FrenzyTechAI的博客 1510

微分中值定理

文章目录证明根的存在性证明不等式微分中值定理有关的证明题解题方法题目1题目2题目3题目4题目5题目6题目7题目8(难) 微分中值定理:把函数改变量与一点的导数值联系起来 中值定理意义:将函数与导数联系起来 证明根的存在性 证明根的存在性:零点定理和罗尔定理 由于无法说明两端点异号,所以想罗尔定理 构造一个辅助函数,这个辅助函数的导数为要证的方程 这个辅助函数在两端点值相等,说明辅助函数的导数在0到1内存在0点。 这也就是为什么要构造一个导数为要证明的方程的原因 证明不等式 题目中出现了两点函

sparky的博客 4907

RV1126上YOLOv8部署实战:从模型转换到板端推理的完整避坑指南

本文提供了在瑞芯微RV1126芯片上部署YOLOv8目标识别算法的完整实战指南。内容涵盖从模型转换、环境搭建到板端推理代码编写的全流程,重点解析了RKNN-Toolkit使用、量化配置、内存优化及后处理实现等关键环节的常见问题与解决方案,旨在帮助开发者高效避坑,实现边缘AI应用的稳定落地。

pz89012345的博客 568

LangChain构建一个聊天机器人

我们将通过一个示例来说明如何设计和实现由 LLM 驱动的聊天机器人。该聊天机器人将能够进行对话并记住之前的交互。请注意,我们构建的这个聊天机器人将仅使用语言模型进行对话。本教程将涵盖对这两个更高级主题有帮助的基础知识,但如果您选择,请随意直接跳到那里。

chen的博客 1378

在WPS/Office中免费使用AI,快速提升办公效率!​

《免费解锁WPS/Office AI办公神器教程》摘要: 本教程详解如何通过第三方插件OfficeAI免费实现WPS/Office智能办公,突破官方付费限制。从安全设置到安装配置,手把手教学,涵盖文档生成、PPT美化、Excel图表等核心功能。关键优势包括零成本、全场景支持及云端/本地双模式切换,并附常见问题解决方案。注意需使用WPS 2024+版本,安装时需临时关闭杀毒软件。教程强调工具来源合法性,建议商用购买正版授权。(149字)

杜哥无敌的博客 2307

LangChain 教程(三):记忆组件(Memory)—— 让大模型记住对话上下文

让我们的模型拥有记忆功能,LangChain 0.2.x 版本的记忆组件通过 RunnableWithMessageHistory 实现了更灵活的会话管理,结合 InMemoryChatMessageHistory、窗口记忆、摘要记忆等工具,可满足从简单对话到复杂场景的记忆需求。核心是根据对话长度和信息重要性选择合适的记忆策略,并通过 session_id 实现多用户隔离。

新人制作,若有问题,请私聊我,或评论区 2126

Ubuntu 24.04 部署 EMQX 5.8 开源版MQTT服务器:从零搭建到实战应用

本文详细指导如何在Ubuntu 24.04系统上部署EMQX 5.8开源版MQTT服务器。内容涵盖从环境准备、安装Erlang、下载安装包到启动服务的完整步骤,并提供了验证服务、配置网络防火墙以及通过WebSocket工具进行基础消息收发的实战方法,帮助用户快速搭建稳定、免费的物联网消息中间件。

weixin_29209825的博客 293

基于粒子群算法的PID控制器优化设计

粒子群算法、PID、寻优

qq_46107700的博客 2万+

GTE-Chinese-Large实战教程:结合LangChain构建带记忆的语义增强对话Agent

本文介绍了如何在星图GPU平台上自动化部署nlp_gte_sentence-embedding_chinese-large镜像,以构建带记忆的语义增强对话Agent。该镜像提供高质量的中文文本向量化能力,结合LangChain框架,可快速搭建智能问答系统,应用于技术客服、知识库检索等场景,实现精准的语义理解和上下文对话。

weixin_32312889的博客 829

Manus创始人深度复盘:AI Agent产品的技术架构与战略转型

成本对比:同样任务处理,中国区单位成本是亚太区的2.3倍。付费转化率:中国区1.2% vs 全球平均4.7%微信/支付宝等超级App的适配代码占比达17%Zstandard:压缩比38%,耗时12ms。每季度需要投入3名高级工程师专职维护兼容性。国际版API平均延迟:180-220ms。中国版特殊部署延迟:480-720ms。信息保持准确率:93%(7天跨度测试)自研算法:压缩比39%,耗时5ms。存储效率:相比纯文本节省68%空间。:本地化部署导致的延迟与费用差异。LZ4:压缩比42%,耗时8ms。

m0_75253143的博客 7147

LangChain库的对话记忆机制

在人工智能领域,对话记忆是聊天机器人技术的一个重要组成部分。它使得机器人能够记住与用户的历史交互,从而进行连贯的对话。如果没有对话记忆,每个查询都会被当作完全独立的输入来处理,这将大大降低对话的连贯性和实用性。对话记忆指的是机器人记住与用户之前交互的能力。默认情况下,机器人是无状态的,也就是说,它们处理每个输入时都不会考虑之前的交互。对话记忆的存在,使得机器人能够记住之前的交互,这在聊天机器人等应用中非常重要。不同的对话记忆机制适用于不同的对话场景。

qq_62231627的博客 3000

手把手教你学Simulink--逆变器场景:基于Simulink的单相全桥逆变器PWM控制仿真建模

本文介绍了使用Simulink和Simscape Electrical库进行单相全桥逆变器PWM控制仿真建模的详细步骤。主要内容包括:从创建Simulink项目、添加电力电子组件、构建逆变器模型,到设置参数、运行仿真和结果分析。重点讲解了逆变器核心模块的配置、PWM信号生成、负载建模等关键环节,并提供了优化改进建议。该指南适用于电力电子初学者,通过仿真可以帮助理解单相全桥逆变器的工作原理和PWM控制技术,为实际应用和算法开发提供基础平台。

MHD0815的博客 667

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LangChain 0.2 - 构建一个聊天机器人

一、说明 概念 二、设置 1、Jupyter Notebook 2、安装 3、LangSmith 三、快速入门 四、消息历史 五、提示模板 六、管理对话历史记录 七、流媒体 八、下一步

AI工程化、开源分享、文档翻译、代码笔记 1650

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: DeepSeek结合Langchain的基本用法
下一篇: DeepSeek提示词的使用技巧
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值