自定义TOOLs(完全体Agent)

1.Agents 包括几个关键组件:

- *Agent*: 用于生成指令和执行动作的代理。

- *Tool*: 用于执行动作的函数。

- *Memory*: 用于存储历史对话和生成的指令。

- *LLM*: 用于生成指令和执行动作的 LLM。

2.例如:计算\搜索\知识库检索(多轮对话)

from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain_community.llms.tongyi import Tongyi
from langchain.memory import ConversationBufferMemory
from langchain.agents import AgentType
from langchain.agents import tool

from langchain_community.vectorstores import Chroma
from langchain_community.embeddings.dashscope import DashScopeEmbeddings

# 初始化 OpenAI 语言模型
llm = Tongyi()

import os
os.environ["SERPAPI_API_KEY"] = "your API_KEY"

# 创建会话缓冲内存,用于保存对话历史
memory = ConversationBufferMemory(
    memory_key="chat_history",
)

@tool("kgg_search")
def kgg_search(query: str):
    """当你需要回答NBA冠军球队的问题时才会使用这个工具。"""
    db = Chroma(embedding_function=DashScopeEmbeddings(),persist_directory="./chroma")
    # print(db.__len__())
    docs = db.similarity_search(query,k=1)
    ret = ""
    for doc in docs:
        ret +=doc.page_content+"\n"
    return ret


tools = load_tools(["serpapi", "llm-math"], llm=llm)
tools.append(kgg_search)

agent = initialize_agent(
    tools,
    llm,
    agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,
    memory=memory,#记忆组件
    verbose=True,
)

agent.invoke("我是张三,今年18岁,性别女,现在在深圳工作,工作年限1年,月薪5000元")
print(agent.invoke("1+5*6%2=?"))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值