功能
- 使得大模型能有一些记忆功能,记忆最近的k个对话的历史记录
流程
- 调包
from langchain.memory import ConversationBufferMemory
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from langchain_openai import OpenAI
import openai,os,time
os.environ["OPENAI_API_BASE"] = ''
os.environ["OPENAI_API_KEY"] = 'sk-'
template = """你是一个中国厨师,用中文回答做菜问题。你的回答需满足以下要求:
1.必须是中文
2.回答限制在100字以内
{chat_history}
Human: {human_input}
Chatbot:"""
prompt = PromptTemplate(
input_variables=["chat_history","hunman_input"],
template=template
)
memory = ConversationBufferMemory(memory_key="chat_history",k=3)
llm_chain = LLMChain(
llm=OpenAI(),
prompt=prompt,
memory=memory,
#verbose=True,
)
ans = llm_chain.predict(human_input="你是谁?")
print(ans)
ans = llm_chain.predict(human_input="烤馕怎么做?")
print(ans)
ans = llm_chain.predict(human_input="那大盘鸡怎么做?")
print(ans)
ans = llm_chain.predict(human_input="那烤串呢?")
print(ans)
ans = llm_chain.predict(human_input="你是谁?")
print(ans)