当前位置: 首页 > news >正文

关于Langchain更新解决Memory的引用

结合我之前的文章,关于调用memory的部分改成如下所示(老版本也可用,只不过不适配新版本的Langchain)

langchain版本均采用最新版本,同时,Python版本要在3.10以上,详情可参考Langchain官方文档

from langchain_classic.memory import ConversationBufferMemory
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI
from langchain_core._api.deprecation import LangChainDeprecationWarning
import os
import dotenv
import warnings# from langgraph.checkpoint.memory import InMemorySaver #新版本的Memory的使用方法def My_Memory(msg:str)->str:warnings.filterwarnings('ignore', category=LangChainDeprecationWarning)dotenv.load_dotenv() # 加载api密钥api_key = os.environ.get('DEEPSEEK_API_KEY')my_model = ChatOpenAI(model='deepseek-chat',base_url='https://api.deepseek.com/',openai_api_key=api_key)warnings.filterwarnings('ignore', category=LangChainDeprecationWarning)# 防止旧版本不支持导致的警告memory = ConversationBufferMemory(memory_key='My_History', return_messages=True) #这里的My_History是我自己定义的ai记忆的名字prompts = ChatPromptTemplate.from_messages([# 注意这里的格式('角色', '提示词)('system','你现在是一个ai旅伴,你的名字叫Btta,现在你只需要回答用户的问题,不要说多余的话,不要说任何无关的内容'),MessagesPlaceholder(variable_name='My_History'),('human','{text}')])# 加载历史对话load_memory = RunnablePassthrough.assign(My_History = lambda x : memory.load_memory_variables({})['My_History'])# 构造链chain = load_memory | prompts | my_model | StrOutputParser()res = chain.invoke({'text':msg})#invoke({'text':msg})return res
http://www.zskr.cn/news/48923.html

相关文章:

  • Tavus发布多模态数字伙伴PALs,能看、听、推理;李飞飞团队推出首款商用世界模型World Labs Marble丨日报
  • Android 对话框 - 对话框全屏显示(设置 Window 属性、采用自定义样式、继承 DialogFragment 达成、继承 Dialog 建立)
  • 实用指南:每日一个C语言知识:C 数组
  • 2025年陕西短视频制作服务商TOP5实力榜:AI赋能内容创作新时代
  • 好消息,.NET 10 正式发布,更智能、更安全、更高性能的统一开发平台!
  • 从Dalvik字节码角度优化安卓编码
  • 20232319 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • WSL移植小记
  • 谷歌起诉网络犯罪团伙Smishing Triad,揭露大规模钓鱼攻击
  • .NET+AI | MEAI | .NET 平台的 AI 底座 (1)
  • NOIP2025模拟7
  • 20232304 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • EUC 2024 题解(瞎写的
  • 图论有关问题
  • 杂记 - 2
  • 算法随笔 - LogTrick
  • 夯实MySQL基础:SQL核心与MySQL入门全解析
  • 400万美元ARR,小企业和个人AI客服Beside融资3200万美元;KalpaLabs:不到1000美元训练语音模型丨日报
  • 优先级队列的学习 - 教程
  • 25.11.13联考题解
  • [CSP-S 2025] 道路修复 road
  • [USACO24JAN] Cowlendar S题解
  • 【A】Shinichi Kudo
  • CF 2093G Shorten the Array
  • 20251113周四日记
  • 深入解析:list的迭代器
  • 题解:P1393 Mivik 的标题
  • appium包含文本定位的5种方法
  • 20251112周三日记
  • 学习笔记:AC 自动机