一架梯子,一头程序猿,仰望星空!
LangChain教程(JS版本) > 内容正文

基于内存的记忆组件


会话缓冲区记忆组件

本文介绍如何使用BufferMemory。该内存允许存储消息,然后将这些消息格式化为提示输入变量。

首先,我们可以将其提取为字符串。

import { OpenAI } from "langchain/llms/openai";
import { BufferMemory } from "langchain/memory";
import { ConversationChain } from "langchain/chains";

const model = new OpenAI({});
const memory = new BufferMemory();
const chain = new ConversationChain({ llm: model, memory: memory });
const res1 = await chain.call({ input: "嗨!我是Jim。" });
console.log({ res1 });
{response: " 嗨Jim!很高兴见到你。我叫AI。你想聊点什么呢?"}
const res2 = await chain.call({ input: "我的名字是什么?" });
console.log({ res2 });
{response: " 你说你的名字是Jim。你还想聊点别的吗?"}

您还可以通过创建并传递一个ChatHistory对象将消息加载到BufferMemory实例中。这使您可以轻松地从过去的对话中获取状态:

import { BufferMemory, ChatMessageHistory } from "langchain/memory";
import { HumanMessage, AIMessage } from "langchain/schema";

const pastMessages = [
  new HumanMessage("我叫Jonas"),
  new AIMessage("很高兴认识你,Jonas!"),
];

const memory = new BufferMemory({
  chatHistory: new ChatMessageHistory(pastMessages),
});


关联主题