会话缓冲区记忆组件
本文介绍如何使用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),
});