1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| from langchain.memory import ConversationEntityMemory from langchain.chains import ConversationChain from langchain_deepseek import ChatDeepSeek from langchain.prompts import PromptTemplate
from dotenv import load_dotenv load_dotenv()
prompt = PromptTemplate( input_variables=["entities", "history", "input"], template="""已知以下实体信息: {entities} 对话历史: {history} 当前输入:{input} 回答:""" )
llm = ChatDeepSeek(model="deepseek-chat", temperature=0.3) memory = ConversationEntityMemory(llm=llm) conversation = ConversationChain(llm=llm, memory=memory,prompt=prompt)
print("实体记忆\n")
responses = [ conversation.invoke("小蓝是乐队的键盘手,是富家千金,行事果敢自信"), conversation.invoke("小绿是乐队的吉他手,性格沉默寡言,喜欢种黄瓜"), conversation.invoke("小黑是乐队的鼓手,性格耿直,在ring打工"), conversation.invoke("小灰是乐队的主唱和作词,喜欢收集石头、观察虫子,性格敏感内敛"), conversation.invoke("小粽是乐队贝斯手,做事沉稳") ]
conversation.invoke("乐队名叫做苦来兮苦,他们的第一首歌叫做《春日影》") conversation.invoke("小蓝和小绿是青梅竹马") conversation.invoke("小黑和小蓝都喜欢小灰") conversation.invoke("乐队一开始只有小蓝和小灰,小黑是跟着小灰进来的,小绿和小粽是小蓝拉进乐队的")
print("📝 提问测试:")
answer = conversation.invoke("小灰和小绿是什么关系")
print(f"答:{answer}\n")
我tm一问,它给我返回了几千个字的回答
|