Langchain为gmail代理添加内存

问题描述 投票:0回答:1

似乎这样做并没有正确地为代理添加内存:

from langchain.prompts import MessagesPlaceholder
from langchain.memory import ConversationBufferMemory

llm = OpenAI(temperature=0)
agent_kwargs = {
    "extra_prompt_messages": [MessagesPlaceholder(variable_name="memory")],
}
memory = ConversationBufferMemory(memory_key="memory", return_messages=True)

agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION, memory=memory, agent_kwargs=agent_kwargs, verbose=True
)

在我的第二个请求中,它正在执行完全不同的 gmail 查询。知道为什么吗?

我希望我的代理人至少有短期记忆

python agent langchain llm
1个回答
0
投票

在 STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION 代理中添加内存的文档

from langchain.prompts import MessagesPlaceholder
from langchain.memory import ConversationBufferMemory

chat_history = MessagesPlaceholder(variable_name="chat_history")
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)

agent_chain = initialize_agent(
    tools, 
    llm, 
    agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION, 
    verbose=True, 
    memory=memory, 
    agent_kwargs = {
        "memory_prompts": [chat_history],
        "input_variables": ["input", "agent_scratchpad", "chat_history"]
    }
)

response = await agent_chain.arun(input="Hi I'm Erica.")
print(response)
© www.soinside.com 2019 - 2024. All rights reserved.