用户登录

Memory,记忆。我们可以使用 Memory 让 LangChain 应用里的链或者代理有记忆,也就是可以记住之前交互产生的信息。

下面我们在应用里使用一下 ConversationChain,它有个记忆功能。先在文件顶部导入一个 BufferMemory,它来自 langchain/memory。再导入一个 ConversationChain,来自 langchain/chains。

在应用里已经创建了一个模型,使用 ConversationChain 的时候除了模型还需要提供一个 memory ,声明一个 memory,新建一个 BufferMemory。

下面我们再创建一个 chain,声明一个 chain,新建一个 ConversationChain,提供一个对象,把 llm 设置成 model,再把 memory 设置成 memory。

然后声明一个 response1 等于 await ,用一下 chain.call ,提供一个对象,设置一下 input 这个属性,“我叫王皓,在 ninghao.net 工作。” 在控制台输出这个 response1。

再用这个 chain 调用一下模型,声明一个 response2,用一下 chain.call ,提供一个对象,设置一下 input,比如“我叫什么名字?在哪里工作?”。在控制台上再输出这个 response2。

在终端,项目所在目录的下面,执行 node index.mjs。这里会分别输出 response1 还有 response2。第一次我告诉了模型我的名字还有工作,ConversationChain 可以记住这次交互信息,下回再次调用模型的时候会用这些信息作为上下文。这也就是为什么在第二个响应里,模型知道我叫什么,在哪里工作。

让链与代理有记忆(Memory)《 LangChain 智能应用开发:快速起步 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点