05-如何让agent与tool共享记忆

工具类只能只读 memory。

0 在agent与tool之间共享记忆

  • 自定义一个工具用来LLMChain来总结内容
  • 使用readonlymemory来共享记忆
  • 观察共享与不共享的区别

1 创建一条链来总结对话

python 复制代码
template = """以下是一段AI机器人和人类的对话:
{chat_history}
根据输入和上面的对话记录写一份对话总结.
输入: {input}"""

prompt = PromptTemplate(
    input_variables=["input","chat_history"],
    template=template,
)

memory = ConversationBufferMemory(
    memory_key="chat_history",
    return_messages=True,
)
readonlymemory = ReadOnlySharedMemory(memory=memory)
summary_chain = LLMChain(
    llm=llm,
    prompt=prompt,
    verbose=True,
    memory=readonlymemory,
)

2 构建工具

python 复制代码
# 搜索工具
search = SerpAPIWrapper()
# 总结工具
def SummaryChainFun(history):
    print("\n==============总结链开始运行==============")
    print("输入历史: ",history)
    summary_chain.run(history)

tools = [
    Tool(
        name="Search",
        func=search.run,
        description="当需要了解实时的信息或者你不知道的事时候可以使用搜索工具",
    ),
    Tool(
        name="Summary",
        func=SummaryChainFun,
        description="当你被要求总结一段对话的时候可以使用这个工具,工具输入必须为字符串,只在必要时使用",
    ),
]
print(tools)

3 创建记忆组件

python 复制代码
memory = ConversationBufferMemory(
    memory_key="chat_history",
    return_messages=True,
)

4 创建agent

python 复制代码
agent_chain = initialize_agent(
    tools,
    llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True,
    handle_parsing_errors=True,
    memory=memory,
)
python 复制代码
print(agent_chain.agent.llm_chain.prompt.template)
python 复制代码
agent_chain.run(input="美国第45任总统是谁?")
python 复制代码
agent_chain.run(input="他的夫人叫什么名字?")
python 复制代码
print(agent_chain.memory.buffer)
python 复制代码
agent_chain.run(input="我们都聊了什么?")
python 复制代码
agent_chain.run(input="帮我总结下目前的对话内容,给我5岁的儿子看看")
python 复制代码
print(agent_chain.memory.buffer)
相关推荐
云和数据.ChenGuang2 小时前
项目打开后没有主类
开发语言·人工智能·langchain·1024程序员节
一千柯橘16 小时前
LangChain 的实时输出处理: stream_events 和 Streaming
python·langchain·agent
一枕槐安48720 小时前
多模态RAG实战:PDF图文混合文档检索问答本地跑通
langchain·pdf·milvus·ai应用开发·多模态rag
ctlover21 小时前
langchain 中间件
中间件·langchain·1024程序员节
liudachu1 天前
Agent 开发常见名词说明与类比
python·langchain
染指11101 天前
157.Agent-LangGraph-工具(实现ReAct Agent模式)
开发语言·人工智能·python·langchain·agents
Maiko Star2 天前
*【HM-LC】LangChain MCP详解:核心概念、外部服务连接与自定义服务
langchain·mcp
爱编程的小新☆2 天前
LangChain 智能体实战:构建技术学习规划 Agent
langchain·agent·工具调用·结构化输出·deepseek·流式输出
打工仔折腾 AI2 天前
AI Agent 工程化实战(二):5 分钟跑通 Deep Agent 并逐层拆解底层链路
java·数据库·人工智能·后端·python·langchain·ai agent 实战