首页 > 其他分享 >自定义TOOLs(完全体Agent)

自定义TOOLs(完全体Agent)

时间:2024-09-02 18:53:00浏览次数:10  
标签:自定义 tools Agent langchain agent llm memory import TOOLs

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"] = 'db166b810c6b85674b6ceab3bd4e10d5048e1ba837db1c0d962ad91b34558805'

# 创建会话缓冲内存,用于保存对话历史
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=?"))

标签:自定义,tools,Agent,langchain,agent,llm,memory,import,TOOLs
From: https://blog.csdn.net/Mooczx/article/details/141827147

相关文章

  • 收银系统源码-收银台ui自定义
    收银系统在很多门店日常经营中,使用率是非常高的。商品采购、出入库、商品销售、会员管理、线上商城订单核销等都离不开收银系统,很多门店的收银员是使用线下收银台时,想根据的操作习惯以及个人喜好调整收银台。1.调整收银台的整体ui收银台ui风格,收银员可以根据自己的个人喜好去自定......
  • LongWriter-6k 数据集开发利用 AgentWrite:一种在LLM中将输出长度扩展到超过10,000字,同
    大语言模型(LLMs)的领域已经取得了巨大的进展,特别是在扩展其记忆容量以处理越来越多的上下文方面。现在这些模型可以处理超过100,000个标记的输入,使得它们能够执行高度复杂的任务,例如生成长篇文本、翻译大型文档和总结大量数据。然而,尽管在处理能力方面取得了这些进展,在生成等长......
  • Sitecore 通过 processor 来自定义类似 github 的 not found 页面
    有一个需求是类似github的404页面,当访问不存在的页面时,需要满足以下几点:不是通过redirect或其他状态码让浏览器来跳转到到404页面;链接还是原来链接,但是页面内容是404;由于是MVC模式,功能由back-end来实现;状态码得是404。在基于sitecore的框架上,使用sitecore的p......
  • 解析 Agent 在国外智慧金融领域的一个落地场景:智能顾投
    作者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:    随着这两年蓬勃发展的人工智能技术在金融投资领域和股票证券市场的逐步推广运用,基于金融大模型的智能体(Agent)在智慧顾问投资领域就越来越多引发人们的关注了,本文将简介目前国外将其主要服务于哪些场......
  • metershpere中如何调用自定义jar包中的方法
    背景:    在编写一些稍微复杂一点的逻辑的接口测试用例时,大家可以感觉到metershpere用起来并不方便,即使用已有的控件写出来了看起来也异常混乱,比如有多层循环逻辑再加上一些逻辑判断,场景变量,全局变量来回变更时,保证metershpere的界面会让你看的头晕。这时多数同学一定会......
  • 20240905_000339 mysql 存储过程 用户自定义变量
    自定义变量的特点一个@符号定义自定变量打印自定变量另一种定义方式查询赋值......
  • 从实在智能最新发布的实在Agent 7.0,看RPA Agent的迭代升级
     智能体进化发展了一年,现在的RPAAgent迭代到什么程度了?从实在智能最新发布的实在Agent7.0,看RPAAgent的迭代升级抓取豆瓣信息、自己制作PPT,这款AIAgent真的实现了流程全自动化AIAgent构建到执行全自动化,持续进化RPAAgent再次降低智能体应用门槛实在智能重磅发布实在......
  • 智能体进化发展了一年,现在的RPA Agent迭代到什么程度了?
    智能体进化发展了一年,现在的RPAAgent迭代到什么程度了?抓取豆瓣信息、自己制作PPT,这款AIAgent真的实现了流程全自动化AIAgent构建到执行全自动化,持续进化RPAAgent再次降低智能体应用门槛C端AIAgent构建与应用实现端到端,这个智能体构建平台真的不一般文/王吉伟智能体的爆发,意味......
  • OpenAI-Agents: 人工智能代理的力量与科技搜索的新方向
    OpenAI-Agents:人工智能代理的力量与科技搜索的新方向在人工智能快速发展的今天,OpenAI-Agents项目为我们展示了AI在生成高质量文本和理解复杂主题方面的惊人能力。这个由AI完全撰写的应用程序和论文集合,不仅体现了人工智能的潜力,更为科研和技术探索开辟了新的方向。让我们深......
  • Prestashop安装问题:无法安装自定义模块
    Prestashop是一款免费开源的电子商务软件,它具有易于使用、功能丰富和高度可定制化等特点。如果在安装自定义模块时遇到问题,可能是由于以下原因:权限问题:确保你具有足够的权限来安装模块。你可以尝试以管理员身份运行安装程序。文件权限问题:确保自定义模块所在的文件夹及其子文件夹......