拥抱大模型(五):Memory,让大模型拥有记忆

要让大模型有记忆也很简单,你只需要把之前的对话传递给他就行,在ConversationChain中,就使用了这一技巧: from langchain import OpenAI from langchain.chains import ConversationChain # 初始化大语言模型 llm = OpenAI( temperature=0.5, model_name="text-davinci-003" ) # 初始化对话链 conv_chain = ConversationChain(llm=llm) # 打印对话的模板 print(conv_chain.prompt.template) 来看下模板: The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Current conversation: {history} Human: {input} AI: 可以看到,在模板里又一个history字段,这里存储了之前对话的上下文信息。当有了 {history} 参数,以及 Human 和 AI 这两个前缀,我们就能够把历史对话信息存储在提示模板中,并作为新的提示内容在新一轮的对话过程中传递给模型。—— 这就是记忆机制的原理。 langchain中提供的记忆机制 ConversationBufferMemory 在 LangChain 中,通过 ConversationBufferMemory(缓冲记忆)可以实现最简单的记忆机制。下面,我们就在对话链中引入 ConversationBufferMemory。...

February 4, 2024 · 2 min · 李昌